From: James Courtier-D. <jcd...@us...> - 2002-01-09 22:33:07
|
Update of /cvsroot/xine/xine-lib/src/dxr3 In directory usw-pr-cvs1:/tmp/cvs-serv13398/xine-lib/src/dxr3 Modified Files: dxr3_decoder.c dxr3_video_out.c Log Message: video_driver api changed. dxr3 decoder only functions if the dxr3 video_out driver loaded. xine_t changed. Index: dxr3_decoder.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/dxr3/dxr3_decoder.c,v retrieving revision 1.56 retrieving revision 1.57 diff -u -r1.56 -r1.57 --- dxr3_decoder.c 2002/01/07 23:36:37 1.56 +++ dxr3_decoder.c 2002/01/09 22:33:03 1.57 @@ -137,16 +137,22 @@ 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 @@ 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 @@ 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)); Index: dxr3_video_out.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/dxr3/dxr3_video_out.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- dxr3_video_out.c 2001/12/24 19:31:13 1.4 +++ dxr3_video_out.c 2002/01/09 22:33:04 1.5 @@ -162,6 +162,8 @@ #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 @@ /* * allocate plugin struct */ +printf("dxr3_video_out:init_plugin\n"); this = malloc (sizeof (dxr3_driver_t)); @@ -530,6 +533,7 @@ 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 @@ } static vo_info_t vo_info_dxr3 = { - 2, /* api version */ + 3, /* api version */ "dxr3", "xine video output plugin for dxr3 cards", VISUAL_TYPE_X11, |