summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xine_input_vdr.c7
-rw-r--r--xine_input_vdr.h4
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;