summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xine_fbfe_frontend.c4
-rw-r--r--xine_frontend.c9
-rw-r--r--xine_frontend_internal.h14
-rw-r--r--xine_sxfe_frontend.c8
4 files changed, 25 insertions, 10 deletions
diff --git a/xine_fbfe_frontend.c b/xine_fbfe_frontend.c
index 65e03399..b1330a11 100644
--- a/xine_fbfe_frontend.c
+++ b/xine_fbfe_frontend.c
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: xine_fbfe_frontend.c,v 1.38 2008-11-14 23:20:03 phintuka Exp $
+ * $Id: xine_fbfe_frontend.c,v 1.39 2008-11-14 23:31:37 phintuka Exp $
*
*/
@@ -148,7 +148,7 @@ static int fbfe_display_open(frontend_t *this_gen, int width, int height, int fu
/* setup xine FB visual */
this->x.xine_visual_type = XINE_VISUAL_TYPE_FB;
- this->x.vis_fb.frame_output_cb = fe_frame_output_cb;
+ this->x.vis_fb.frame_output_cb = this->x.frame_output_handler;
this->x.vis_fb.user_data = this;
/* select framebuffer device ? */
diff --git a/xine_frontend.c b/xine_frontend.c
index df494d21..56d171aa 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.86 2008-11-14 23:20:03 phintuka Exp $
+ * $Id: xine_frontend.c,v 1.87 2008-11-14 23:31:37 phintuka Exp $
*
*/
@@ -272,8 +272,8 @@ static void fe_frame_output_cb (void *data,
*win_x = this->xpos;
*win_y = this->ypos;
- *dest_pixel_aspect = fe_dest_pixel_aspect(this, video_pixel_aspect,
- video_width, video_height);
+ *dest_pixel_aspect = this->dest_pixel_aspect(this, video_pixel_aspect,
+ video_width, video_height);
#if 0
if(this->cropping) {
@@ -1730,5 +1730,8 @@ void init_fe(fe_t *fe)
fe->fe.send_event = fe_send_event;
fe->fe.send_input_event = fe_send_input_event;
+
+ fe->dest_pixel_aspect = fe_dest_pixel_aspect;
+ fe->frame_output_handler = fe_frame_output_cb;
}
diff --git a/xine_frontend_internal.h b/xine_frontend_internal.h
index d774e54d..7409c867 100644
--- a/xine_frontend_internal.h
+++ b/xine_frontend_internal.h
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: xine_frontend_internal.h,v 1.4 2008-11-14 23:20:03 phintuka Exp $
+ * $Id: xine_frontend_internal.h,v 1.5 2008-11-14 23:31:37 phintuka Exp $
*
*/
@@ -22,6 +22,18 @@ typedef struct fe_s {
/* base class */
frontend_t fe;
+ /* from xine_frontend.c */
+ double (*dest_pixel_aspect) (const struct fe_s *,
+ double video_pixel_aspect,
+ int video_width, int video_height);
+ void (*frame_output_handler)(void *data,
+ int video_width, int video_height,
+ double video_pixel_aspect,
+ int *dest_x, int *dest_y,
+ int *dest_width, int *dest_height,
+ double *dest_pixel_aspect,
+ int *win_x, int *win_y);
+
/* called from xine_frontend.c */
void (*update_display_size_cb) (struct fe_s *);
void (*toggle_fullscreen_cb) (struct fe_s *);
diff --git a/xine_sxfe_frontend.c b/xine_sxfe_frontend.c
index 7565939e..e5860f53 100644
--- a/xine_sxfe_frontend.c
+++ b/xine_sxfe_frontend.c
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: xine_sxfe_frontend.c,v 1.99 2008-11-14 23:20:03 phintuka Exp $
+ * $Id: xine_sxfe_frontend.c,v 1.100 2008-11-14 23:31:37 phintuka Exp $
*
*/
@@ -183,8 +183,8 @@ static void sxfe_dest_size_cb (void *data,
*dest_width = this->width;
*dest_height = this->height;
- *dest_pixel_aspect = fe_dest_pixel_aspect(this, video_pixel_aspect,
- video_width, video_height);
+ *dest_pixel_aspect = this->dest_pixel_aspect(this, video_pixel_aspect,
+ video_width, video_height);
}
static void init_atoms(sxfe_t *this)
@@ -1221,7 +1221,7 @@ static int sxfe_display_open(frontend_t *this_gen, int width, int height, int fu
this->x.vis_x11.screen = this->screen;
this->x.vis_x11.d = this->window[this->fullscreen ? 1 : 0];
this->x.vis_x11.dest_size_cb = sxfe_dest_size_cb;
- this->x.vis_x11.frame_output_cb = fe_frame_output_cb;
+ this->x.vis_x11.frame_output_cb = this->x.frame_output_handler;
this->x.vis_x11.user_data = this;
set_fullscreen_props(this);