diff options
Diffstat (limited to 'src/dxr3')
-rw-r--r-- | src/dxr3/dxr3_decoder.c | 20 | ||||
-rw-r--r-- | src/dxr3/dxr3_video_out.c | 8 |
2 files changed, 20 insertions, 8 deletions
diff --git a/src/dxr3/dxr3_decoder.c b/src/dxr3/dxr3_decoder.c index bbe0260d7..54d61cb0c 100644 --- a/src/dxr3/dxr3_decoder.c +++ b/src/dxr3/dxr3_decoder.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: dxr3_decoder.c,v 1.56 2002/01/07 23:36:37 jcdutton Exp $ + * $Id: dxr3_decoder.c,v 1.57 2002/01/09 22:33:03 jcdutton Exp $ * * dxr3 video and spu decoder plugin. Accepts the video and spu data * from XINE and sends it directly to the corresponding dxr3 devices. @@ -137,16 +137,22 @@ static int dxr3_check_vo(config_values_t* cfg) static int dxr3_tested = 0; static int dxr3_ok; -static void dxr3_presence_test() +static void dxr3_presence_test( xine_t* xine) { int fd, val; + vo_info_t *info; if (dxr3_tested) return; dxr3_tested = 1; dxr3_ok = 0; - + if (xine && xine->video_driver ) { + info = xine->video_driver->get_info(); + if ((strncmp (info->id, "dxr3", 4)) != 0) { + return; + } + } if ((fd = open(devname, O_WRONLY))<0) { printf("dxr3: not detected (%s: %s)\n", devname, strerror(errno)); @@ -734,7 +740,7 @@ video_decoder_t *init_video_decoder_plugin (int iface_version, cfg = xine->config; devname = cfg->register_string (cfg, LOOKUP_DEV, DEFAULT_DEV, "Dxr3: Device Name",NULL,NULL,NULL); - dxr3_presence_test (); + dxr3_presence_test ( xine ); if (!dxr3_ok) return NULL; this = (dxr3_decoder_t *) malloc (sizeof (dxr3_decoder_t)); @@ -1047,8 +1053,10 @@ spu_decoder_t *init_spu_decoder_plugin (int iface_version, xine_t *xine) cfg = xine->config; devname = cfg->register_string (cfg, LOOKUP_DEV, DEFAULT_DEV, NULL,NULL,NULL,NULL); - dxr3_presence_test (); - if (!dxr3_ok) return NULL; + dxr3_presence_test ( xine ); + if (!dxr3_ok) { + return NULL; + } this = (spudec_decoder_t *) malloc (sizeof (spudec_decoder_t)); diff --git a/src/dxr3/dxr3_video_out.c b/src/dxr3/dxr3_video_out.c index 6084bcb96..e1197d6e2 100644 --- a/src/dxr3/dxr3_video_out.c +++ b/src/dxr3/dxr3_video_out.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: dxr3_video_out.c,v 1.4 2001/12/24 19:31:13 hrm Exp $ + * $Id: dxr3_video_out.c,v 1.5 2002/01/09 22:33:04 jcdutton Exp $ * * mpeg1 encoding video out plugin for the dxr3. * @@ -162,6 +162,8 @@ int dxr3_fame_init(dxr3_driver_t *); #define MV_COMMAND 0 +vo_info_t *get_video_out_plugin_info(); + /* some helper stuff so that the decoder plugin can test for the * presence of the dxr3 vo driver */ /* to be called by dxr3 video out init and exit handlers */ @@ -510,6 +512,7 @@ vo_driver_t *init_video_out_plugin (config_values_t *config, void *visual_gen) /* * allocate plugin struct */ +printf("dxr3_video_out:init_plugin\n"); this = malloc (sizeof (dxr3_driver_t)); @@ -530,6 +533,7 @@ vo_driver_t *init_video_out_plugin (config_values_t *config, void *visual_gen) this->vo_driver.get_property_min_max = dxr3_get_property_min_max; this->vo_driver.gui_data_exchange = dxr3_gui_data_exchange; this->vo_driver.exit = dxr3_exit; + this->vo_driver.get_info = get_video_out_plugin_info; this->config=config; this->mpeg_source = 0; /* set by update_frame, by checking the flag */ @@ -632,7 +636,7 @@ vo_driver_t *init_video_out_plugin (config_values_t *config, void *visual_gen) } static vo_info_t vo_info_dxr3 = { - 2, /* api version */ + 3, /* api version */ "dxr3", "xine video output plugin for dxr3 cards", VISUAL_TYPE_X11, |