summaryrefslogtreecommitdiff
path: root/xine_frontend.c
diff options
context:
space:
mode:
Diffstat (limited to 'xine_frontend.c')
-rw-r--r--xine_frontend.c59
1 files changed, 58 insertions, 1 deletions
diff --git a/xine_frontend.c b/xine_frontend.c
index 9abf68c9..a34eefd4 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.66 2008-06-19 15:49:00 phintuka Exp $
+ * $Id: xine_frontend.c,v 1.67 2008-06-19 20:18:31 phintuka Exp $
*
*/
@@ -20,6 +20,63 @@
#include "xine/post.h"
+/*
+ * data
+ */
+
+
+typedef struct fe_s {
+ /* function pointers */
+ frontend_t fe;
+ void (*update_display_size) (struct fe_s *);
+ void (*toggle_fullscreen_state)(struct fe_s *);
+
+ /* vdr callbacks */
+ fe_keypress_f keypress;
+
+ /* xine stuff */
+ xine_t *xine;
+ xine_stream_t *stream;
+ xine_stream_t *slave_stream;
+ vdr_input_plugin_if_t *input_plugin;
+ xine_video_port_t *video_port;
+ xine_video_port_t *video_port_none;
+ xine_audio_port_t *audio_port;
+ xine_audio_port_t *audio_port_none;
+ xine_event_queue_t *event_queue;
+
+ post_plugins_t *postplugins;
+ char *video_port_name; /* frame buffer device */
+ char *aspect_controller; /* path to external HW aspect ratio controller */
+ char *configfile; /* path of our config file */
+
+ int xine_visual_type;
+ union {
+ void *vis;
+ fb_visual_t vis_fb;
+ x11_visual_t vis_x11;
+ };
+
+ /* frontend */
+ double video_aspect; /* aspect ratio of video frame */
+ double display_ratio; /* aspect ratio of video window */
+ uint16_t xpos, ypos; /* position of video window */
+ uint16_t width; /* size of video window */
+ uint16_t height; /* */
+ uint16_t video_width; /* size of video frame */
+ uint16_t video_height; /* */
+ uint16_t pes_buffers; /* max. number of PES packets in video fifo */
+ uint8_t aspect; /* aspect ratio of video window (user setting) */
+ uint8_t overscan; /* overscan in % (crop video borders) */
+/*uint8_t cropping : 1;*/
+ uint8_t scale_video : 1; /* enable/disable all video scaling */
+ uint8_t field_order : 1; /* invert top/bottom field order */
+ uint8_t playback_finished : 1;
+ uint8_t slave_playback_finished : 1;
+
+} fe_t;
+
+
#ifdef FE_STANDALONE
/* next two symbols are dynamically linked from input plugin */
int SysLogLevel __attribute__((visibility("default"))) = 2; /* errors and info, no debug */