diff options
| author | phintuka <phintuka> | 2012-03-10 23:51:10 +0000 |
|---|---|---|
| committer | phintuka <phintuka> | 2012-03-10 23:51:10 +0000 |
| commit | 05a287e18d9d0873063179b4baf50d9cdb7b2407 (patch) | |
| tree | 467a8244b196af0a50228c1ef7f9ba332d27023d | |
| parent | 154c25d6e835b14391e3e642dd45a2dd3cc3a9fb (diff) | |
| download | xineliboutput-05a287e18d9d0873063179b4baf50d9cdb7b2407.tar.gz xineliboutput-05a287e18d9d0873063179b4baf50d9cdb7b2407.tar.bz2 | |
added frontend pointer to xine_input_event()
| -rw-r--r-- | xine_frontend.c | 13 | ||||
| -rw-r--r-- | xine_input_vdr.c | 8 | ||||
| -rw-r--r-- | xine_input_vdr.h | 4 |
3 files changed, 17 insertions, 8 deletions
diff --git a/xine_frontend.c b/xine_frontend.c index 942d3c90..44d4fcdb 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.123 2012-03-07 08:27:40 phintuka Exp $ + * $Id: xine_frontend.c,v 1.124 2012-03-10 23:51:10 phintuka Exp $ * */ @@ -1153,6 +1153,15 @@ static void fe_post_open(const fe_t *this, const char *name, const char *args) LOGDBG("Post plugin %s loaded and wired", name); } +static void input_event_cb(frontend_t *this_gen, const char *keymap, const char *key) +{ + fe_t *this = (fe_t*)this_gen; + + if (this->keypress) { + this->keypress(keymap, key); + } +} + static int fe_xine_play(frontend_t *this_gen) { fe_t *this = (fe_t*)this_gen; @@ -1168,7 +1177,7 @@ static int fe_xine_play(frontend_t *this_gen) if(!find_input_plugin(this)) return -1; - this->input_plugin->f.xine_input_event = this->keypress; + this->input_plugin->f.xine_input_event = this->keypress ? input_event_cb : NULL; this->input_plugin->f.fe_control = fe_control; this->input_plugin->f.fe_handle = this_gen; diff --git a/xine_input_vdr.c b/xine_input_vdr.c index 4fdfa4c8..27ba5aee 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.355 2012-03-07 08:51:34 phintuka Exp $ + * $Id: xine_input_vdr.c,v 1.356 2012-03-10 23:51:10 phintuka Exp $ * */ @@ -136,7 +136,7 @@ typedef struct { # include <linux/unistd.h> /* syscall(__NR_gettid) */ #endif -static const char module_revision[] = "$Id: xine_input_vdr.c,v 1.355 2012-03-07 08:51:34 phintuka Exp $"; +static const char module_revision[] = "$Id: xine_input_vdr.c,v 1.356 2012-03-10 23:51:10 phintuka Exp $"; static const char log_module_input_vdr[] = "[input_vdr] "; #define LOG_MODULENAME log_module_input_vdr #define SysLogLevel iSysLogLevel @@ -1168,7 +1168,7 @@ static void puts_vdr(vdr_input_plugin_t *this, const char *s) { if (this->fd_control < 0) { if (this->funcs.xine_input_event) { - this->funcs.xine_input_event(s, NULL); + this->funcs.xine_input_event(this->funcs.fe_handle, s, NULL); } } else { write_control(this, s); @@ -3835,7 +3835,7 @@ static void vdr_event_cb (void *user_data, const xine_event_t *event) } if (this->funcs.xine_input_event) { /* local mode: -> VDR */ - this->funcs.xine_input_event(NULL, vdr_keymap[i].name); + this->funcs.xine_input_event(this->funcs.fe_handle, NULL, vdr_keymap[i].name); } return; } diff --git a/xine_input_vdr.h b/xine_input_vdr.h index 2d0cedf9..c954903d 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.11 2010-02-14 12:53:06 phintuka Exp $ + * $Id: xine_input_vdr.h,v 1.12 2012-03-10 23:51:10 phintuka Exp $ * */ @@ -31,7 +31,7 @@ typedef struct vdr_input_plugin_funcs_s { int (*push_input_osd) (struct vdr_input_plugin_if_s *, struct osd_command_s *); /* input plugin --> frontend (only local mode) */ - void (*xine_input_event) (const char *, const char *); + void (*xine_input_event) (struct frontend_s *, const char *, const char *); /* input plugin --> frontend (remote mode) */ int (*intercept_osd) (struct frontend_s *, struct osd_command_s *); |
