summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorphintuka <phintuka>2008-12-18 14:12:43 +0000
committerphintuka <phintuka>2008-12-18 14:12:43 +0000
commitd51d0e5037317988dc4ce11128c29b31309f63cb (patch)
tree798078b4b6f691c425f4aed140f64fe2fdd8c5a4
parent5eb7a719b0c1e3b02fb921f648c1dcbac6aee0eb (diff)
downloadxineliboutput-d51d0e5037317988dc4ce11128c29b31309f63cb.tar.gz
xineliboutput-d51d0e5037317988dc4ce11128c29b31309f63cb.tar.bz2
Enable OSD scaling between video_out and video driver
-rw-r--r--xine_frontend.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/xine_frontend.c b/xine_frontend.c
index 40d8ce79..482d4566 100644
--- a/xine_frontend.c
+++ b/xine_frontend.c
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: xine_frontend.c,v 1.91 2008-11-19 01:08:39 phintuka Exp $
+ * $Id: xine_frontend.c,v 1.92 2008-12-18 14:12:43 phintuka Exp $
*
*/
@@ -33,12 +33,25 @@
#include "xine_frontend_internal.h"
#include "xine/post.h"
+#include "xine/vo_post.h"
+#include "xine/vo_osdscaler.h"
+
#undef MIN
#define MIN(a,b) ( (a) < (b) ? (a) : (b))
#undef MAX
#define MAX(a,b) ( (a) > (b) ? (a) : (b))
+static void intercept_video_driver(xine_video_port_t *video_port)
+{
+ vo_driver_t *osdscaler = osdscaler_init();
+ if (! wire_video_driver(video_port, osdscaler)) {
+ LOGMSG("wire_video_driver() for osdscaler failed");
+ osdscaler->dispose(osdscaler);
+ }
+}
+
+
char *strn0cpy(char *dest, const char *src, int n)
{
char *s = dest;
@@ -620,6 +633,8 @@ static int fe_xine_init(frontend_t *this_gen, const char *audio_driver,
return 0;
}
+ intercept_video_driver(this->video_port);
+
this->video_port_none = NULL;
/* re-configure display size (DirectFB driver changes display mode in init) */