summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libmpdemux/demux_mov.c2
-rw-r--r--libmpdemux/demuxer.c4
2 files changed, 5 insertions, 1 deletions
diff --git a/libmpdemux/demux_mov.c b/libmpdemux/demux_mov.c
index 7ab60ea315..1ba42c7ad7 100644
--- a/libmpdemux/demux_mov.c
+++ b/libmpdemux/demux_mov.c
@@ -506,7 +506,7 @@ skip_chunk:
free(priv);
if ((flags==5) || (flags==7)) // reference & header sent
- return DEMUXER_TYPE_MOV;
+ return DEMUXER_TYPE_PLAYLIST;
if(flags==1)
mp_msg(MSGT_DEMUX,MSGL_WARN,"MOV: missing data (mdat) chunk! Maybe broken file...\n");
diff --git a/libmpdemux/demuxer.c b/libmpdemux/demuxer.c
index 8f9c0cf35a..505291a8e7 100644
--- a/libmpdemux/demuxer.c
+++ b/libmpdemux/demuxer.c
@@ -629,6 +629,8 @@ for (i = 0; (demuxer_desc = demuxer_list[i]); i++) {
file_format = fformat;
break;
} else {
+ if (fformat == DEMUXER_TYPE_PLAYLIST)
+ return demuxer; // handled in mplayer.c
// Format changed after check, recurse
free_demuxer(demuxer);
demuxer=demux_open_stream(stream, fformat, force,
@@ -672,6 +674,8 @@ for (i = 0; (demuxer_desc = demuxer_list[i]); i++) {
file_format = fformat;
break;
} else {
+ if (fformat == DEMUXER_TYPE_PLAYLIST)
+ return demuxer; // handled in mplayer.c
// Format changed after check, recurse
free_demuxer(demuxer);
demuxer=demux_open_stream(stream, fformat, force,