From: Michael R. <mr...@us...> - 2002-10-31 17:00:59
|
Update of /cvsroot/xine/xine-lib/src/input In directory usw-pr-cvs1:/tmp/cvs-serv14325/src/input Modified Files: input_cda.c input_dvd.c input_file.c input_stdin_fifo.c input_vcd.c Log Message: adapt input plugins to new MRL syntax (mostly turning :// into :/) Index: input_cda.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/input/input_cda.c,v retrieving revision 1.35 retrieving revision 1.36 diff -u -r1.35 -r1.36 --- input_cda.c 23 Oct 2002 21:19:42 -0000 1.35 +++ input_cda.c 31 Oct 2002 17:00:44 -0000 1.36 @@ -1379,7 +1379,7 @@ free(this->mrl); this->mrl = strdup(mrl); - if(strncasecmp (this->mrl, "cda://", 6)) + if(strncasecmp (this->mrl, "cda:/", 5)) return 0; if(!_cda_open_cd(this->cda)) { @@ -1396,10 +1396,10 @@ _cda_cbbd_grab_infos(this); } - filename = (char *) &this->mrl[6]; + filename = (char *) &this->mrl[5]; if(sscanf(filename, "%d", &this->cda->cur_track) != 1) { - LOG_MSG_STDERR(this->xine, _("input_cda: malformed MRL. Use cda://<track #>\n")); + LOG_MSG_STDERR(this->xine, _("input_cda: malformed MRL. Use cda:/<track #>\n")); _cda_free_cda(this->cda); return 0; } @@ -1656,7 +1656,7 @@ char mrl[1024]; memset(&mrl, 0, sizeof (mrl)); - sprintf(mrl, "cda://%d",i); + sprintf(mrl, "cda:/%d",i); if((i-1) >= this->mrls_allocated_entries) { ++this->mrls_allocated_entries; @@ -1735,7 +1735,7 @@ if(this->filelist[i - 1] == NULL) this->filelist[i - 1] = (char *) realloc(this->filelist[i - 1], sizeof(char *) * 256); - sprintf (this->filelist[i - 1], "cda://%d",i); + sprintf (this->filelist[i - 1], "cda:/%d",i); } this->filelist[i - 1] = (char *) realloc(this->filelist[i - 1], sizeof(char *)); Index: input_dvd.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/input/input_dvd.c,v retrieving revision 1.107 retrieving revision 1.108 diff -u -r1.107 -r1.108 --- input_dvd.c 27 Oct 2002 20:07:39 -0000 1.107 +++ input_dvd.c 31 Oct 2002 17:00:45 -0000 1.108 @@ -370,7 +370,7 @@ * - possible alignment of the mrl array * - an array of mrl structures sizeof(xine_mrl_t) * num_mrls * - enough chars for every filename sizeof(char)*25 * num_mrls - * - "dvd://:000000.000000\0" = 25 chars + * - "dvd:/000000.000000\0" = 25 chars */ if ((this->mrls = (xine_mrl_t **) malloc(sizeof(xine_mrl_t *) + num_mrls * (sizeof(xine_mrl_t*) + sizeof(xine_mrl_t) + 25*sizeof(char)) + @@ -392,9 +392,9 @@ mrl->link = NULL; mrl->type = mrl_dvd; mrl->size = 0; - snprintf(name, 25, (j == 0) ? "dvd://" : - (j == 1) ? "dvd://:%d" : - "dvd://:%d.%d", i, j); + snprintf(name, 25, (j == 0) ? "dvd:/" : + (j == 1) ? "dvd:/%d" : + "dvd:/%d.%d", i, j); name = &name[25]; mrl++; } @@ -1172,19 +1172,18 @@ /* * Opens the DVD plugin. The MRL takes the following form: * - * dvd://[dvd_path][:vts[.program]] + * dvd:/[vts[/program]] * * e.g. - * dvd:// - Play (navigate) /dev/dvd - * dvd:///dev/dvd2 - Play (navigate) /dev/dvd2 - * dvd:///dev/dvd2:1 - Play Title 1 from /dev/dvd2 - * dvd://:1.3 - Play Title 1, program 3 from /dev/dvd + * dvd:/ - Play (navigate) + * dvd:/1 - Play Title 1 + * dvd:/1.3 - Play Title 1, program 3 */ static input_plugin_t *open_plugin (input_class_t *class_gen, xine_stream_t *stream, const char *data) { dvd_input_plugin_t *this; dvd_input_class_t *class = (dvd_input_class_t*)class_gen; char *locator; - int colon_point; + int slash_point; dvdnav_status_t ret; char *intended_dvd_device; xine_cfg_entry_t region_entry, lang_entry, cache_entry; @@ -1238,34 +1237,26 @@ this->dvd_name_length = 0; /* Check we can handle this MRL */ - if (!strncasecmp (this->mrl, "dvd://",6)) - locator = &this->mrl[6]; + if (!strncasecmp (this->mrl, "dvd:/",5)) + locator = &this->mrl[5]; else { return 0; } /* Attempt to parse MRL */ - colon_point=0; - while((locator[colon_point] != '\0') && (locator[colon_point] != ':')) { - colon_point++; + slash_point=0; + while((locator[slash_point] != '\0') && (locator[slash_point] != '/')) { + slash_point++; } - if(locator[colon_point] == ':') { + if(locator[slash_point] == '/') { this->mode = MODE_TITLE; } else { this->mode = MODE_NAVIGATE; } printf("input_dvd.c:open_plugin:dvd_device=%s\n",class->dvd_device); - locator[colon_point] = '\0'; - ret = DVDNAV_STATUS_OK; - if(colon_point == 0) { - /* Use default device */ - intended_dvd_device=class->dvd_device; - } else { - /* Use specified device */ - intended_dvd_device=locator; - } + intended_dvd_device=class->dvd_device; if(this->opened) { if ( intended_dvd_device==this->current_dvd_device ) { @@ -1372,7 +1363,7 @@ int titles; /* A program and/or VTS was specified */ - locator += colon_point + 1; + locator += slash_point + 1; if(locator[0] == '\0') { /* Empty specifier */ @@ -1473,7 +1464,7 @@ #endif - this->filelist2[0] = "dvd://"; + this->filelist2[0] = "dvd:/"; this->filelist2[1] = NULL; *num_files = 1; @@ -1662,6 +1653,10 @@ /* * $Log$ + * Revision 1.108 2002/10/31 17:00:45 mroi + * adapt input plugins to new MRL syntax + * (mostly turning :// into :/) + * * Revision 1.107 2002/10/27 20:07:39 mroi * less noise and register skip_behaviour (chapter skip keys work again) * Index: input_file.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/input/input_file.c,v retrieving revision 1.65 retrieving revision 1.66 diff -u -r1.65 -r1.66 --- input_file.c 27 Oct 2002 22:48:57 -0000 1.65 +++ input_file.c 31 Oct 2002 17:00:49 -0000 1.66 @@ -271,12 +271,13 @@ char *filename, *subtitle; int fh; - if (!strncasecmp (mrl, "file://", 7)) - filename = decode_uri (&mrl[7]); + if (!strncasecmp (mrl, "file:", 5)) + filename = decode_uri (&mrl[5]); else filename = mrl; - subtitle = strrchr (filename, '#'); + /* FIXME: find a better solution (multiple streams) for text subtitles */ + subtitle = strrchr (filename, '?'); if (subtitle) { *subtitle = 0; subtitle++; Index: input_stdin_fifo.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/input/input_stdin_fifo.c,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- input_stdin_fifo.c 23 Oct 2002 21:19:42 -0000 1.33 +++ input_stdin_fifo.c 31 Oct 2002 17:00:52 -0000 1.34 @@ -88,7 +88,7 @@ free(this->mrl); this->mrl = strdup(mrl); - if (!strncasecmp(this->mrl, "stdin://", 8) + if (!strncasecmp(this->mrl, "stdin:/", 7) || !strncmp(this->mrl, "-", 1)) { #if defined(CONFIG_DEVFS_FS) filename = "/dev/vc/stdin"; @@ -96,22 +96,10 @@ filename = "/dev/stdin"; #endif - } else if(!strncasecmp(this->mrl, "fifo://", 7)) { + } else if(!strncasecmp(this->mrl, "fifo:/", 6)) { - if ((pfn = strrchr((this->mrl + 7), ':')) != NULL) { - - filename = ++pfn; - - } else { - - if (!(strncasecmp(this->mrl + 7, "mpeg1", 5)) - || (!(strncasecmp(this->mrl + 7, "mpeg2", 5)))) { - filename = (char *) &this->mrl[12]; - - } else { - filename = (char *) &this->mrl[7]; - } - } + filename = (char *) &this->mrl[6]; + } else { return 0; } Index: input_vcd.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/input/input_vcd.c,v retrieving revision 1.53 retrieving revision 1.54 diff -u -r1.53 -r1.54 --- input_vcd.c 23 Oct 2002 21:19:42 -0000 1.53 +++ input_vcd.c 31 Oct 2002 17:00:53 -0000 1.54 @@ -348,7 +348,7 @@ free(this->mrl); this->mrl = strdup(mrl); - if (strncasecmp (this->mrl, "vcd://",6)) + if (strncasecmp (this->mrl, "vcd:/",5)) return 0; this->fd = open (this->device, O_RDONLY); @@ -363,10 +363,10 @@ return 0; } - filename = (char *) &this->mrl[6]; + filename = (char *) &this->mrl[5]; if (sscanf (filename, "%d", &this->cur_track) != 1) { - LOG_MSG_STDERR(this->xine, _("input_vcd: malformed MRL. Use vcd://<track #>\n")); + LOG_MSG_STDERR(this->xine, _("input_vcd: malformed MRL. Use vcd:/<track #>\n")); close (this->fd); this->fd = -1; return 0; @@ -1013,7 +1013,7 @@ char mrl[1024]; memset(&mrl, 0, sizeof (mrl)); - sprintf(mrl, "vcd://%d",i); + sprintf(mrl, "vcd:/%d",i); if((i-1) >= this->mrls_allocated_entries) { ++this->mrls_allocated_entries; @@ -1094,7 +1094,7 @@ if(this->filelist[i - 1] == NULL) this->filelist[i - 1] = (char *) realloc(this->filelist[i - 1], sizeof(char *) * 256); - sprintf (this->filelist[i - 1], "vcd://%d",i); + sprintf (this->filelist[i - 1], "vcd:/%d",i); /* printf ("list[%d] : %d %s\n", i, this->filelist[i-1], this->filelist[i-1]); */ } |