summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/demuxers/demux_slave.c13
-rw-r--r--src/demuxers/demux_ts.c34
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;