diff options
-rw-r--r-- | src/demuxers/demux_slave.c | 13 | ||||
-rw-r--r-- | src/demuxers/demux_ts.c | 34 |
2 files changed, 9 insertions, 38 deletions
diff --git a/src/demuxers/demux_slave.c b/src/demuxers/demux_slave.c index d7a17546f..fc42ae4c4 100644 --- a/src/demuxers/demux_slave.c +++ b/src/demuxers/demux_slave.c @@ -335,16 +335,6 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str switch (stream->content_detection_method) { - case METHOD_BY_MRL: { - const char *const mrl = input->get_mrl (input); - - if(!strncmp(mrl, "slave://", 8)) - break; - - free (this); - return NULL; - } - case METHOD_BY_CONTENT: { if (_x_demux_read_header(input, this->scratch, SCRATCH_SIZE) > 0) { @@ -356,6 +346,7 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, xine_stream_t *str return NULL; } + case METHOD_BY_MRL: case METHOD_EXPLICIT: break; @@ -398,7 +389,7 @@ static void *init_plugin (xine_t *xine, void *data) { this->demux_class.description = ""; this->demux_class.identifier = "slave"; this->demux_class.mimetypes = NULL; - this->demux_class.extensions = NULL; + this->demux_class.extensions = "slave://"; this->demux_class.dispose = default_demux_class_dispose; return this; diff --git a/src/demuxers/demux_ts.c b/src/demuxers/demux_ts.c index 5c2a124c1..e320a6760 100644 --- a/src/demuxers/demux_ts.c +++ b/src/demuxers/demux_ts.c @@ -2162,32 +2162,7 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen, } break; - case METHOD_BY_MRL: { - const char *const mrl = input->get_mrl (input); - - /* check extension */ - if (_x_demux_check_extension (mrl, class_gen->extensions)) - break; - - /* accept dvb streams */ - /* - * Also handle the special dvbs,dvbt and dvbc mrl formats: - * the content is exactly the same but the input plugin - * uses a different tuning algorithm [Pragma] - */ - - if (!strncasecmp (mrl, "dvb://", 6)) - break; - if (!strncasecmp (mrl, "dvbs://", 7)) - break; - if (!strncasecmp (mrl, "dvbc://", 7)) - break; - if (!strncasecmp (mrl, "dvbt://", 7)) - break; - - return NULL; - } - + case METHOD_BY_MRL: case METHOD_EXPLICIT: break; @@ -2272,7 +2247,12 @@ static void *init_class (xine_t *xine, void *data) { this->demux_class.description = N_("MPEG Transport Stream demuxer"); this->demux_class.identifier = "MPEG_TS"; this->demux_class.mimetypes = NULL; - this->demux_class.extensions = "ts m2t trp"; + + /* accept dvb streams; also handle the special dvbs,dvbt and dvbc + * mrl formats: the content is exactly the same but the input plugin + * uses a different tuning algorithm [Pragma] + */ + this->demux_class.extensions = "ts m2t trp dvb:// dvbs:// dvbc:// dvbt://"; this->demux_class.dispose = default_demux_class_dispose; return this; |