diff options
-rw-r--r-- | xine_input_vdr.c | 7 | ||||
-rw-r--r-- | xine_input_vdr.h | 4 |
2 files changed, 9 insertions, 2 deletions
diff --git a/xine_input_vdr.c b/xine_input_vdr.c index cb64a3d6..4f09204c 100644 --- a/xine_input_vdr.c +++ b/xine_input_vdr.c @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: xine_input_vdr.c,v 1.119 2008-02-27 00:27:48 phintuka Exp $ + * $Id: xine_input_vdr.c,v 1.120 2008-02-27 00:30:43 phintuka Exp $ * */ @@ -2312,6 +2312,11 @@ static int vdr_plugin_exec_osd_command(input_plugin_t *this_gen, int result = CONTROL_DISCONNECTED; int video_changed = 0; + if (this->fd_control >= 0 && /* remote mode */ + this->funcs.intercept_osd /* frontend handles OSD */ ) { + return this->funcs.intercept_osd(this->funcs.fe_handle, cmd) ? CONTROL_OK : CONTROL_DISCONNECTED; + } + if(!pthread_mutex_lock (&this->osd_lock)) { palette_rgb_to_yuy(cmd->palette, cmd->colors); video_changed = update_video_size(this); diff --git a/xine_input_vdr.h b/xine_input_vdr.h index 2f9a33f3..e1ec89de 100644 --- a/xine_input_vdr.h +++ b/xine_input_vdr.h @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: xine_input_vdr.h,v 1.3 2006-08-23 06:50:20 phintuka Exp $ + * $Id: xine_input_vdr.h,v 1.4 2008-02-27 00:30:43 phintuka Exp $ * */ @@ -25,6 +25,8 @@ typedef struct vdr_input_plugin_funcs_s { int (*push_input_osd)(struct input_plugin_s *, struct osd_command_s *); /* input plugin --> frontend (only local mode) */ void (*xine_input_event)(const char *, const char *); + /* input plugin --> frontend (remote mode) */ + int (*intercept_osd)(void *fe_handle, struct osd_command_s *); /* input plugin --> frontend */ void *(*fe_control)(void *fe_handle, const char *); void *fe_handle; |