summaryrefslogtreecommitdiffstats
path: root/demux/demux.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-08-25 20:40:21 +0200
committerwm4 <wm4@nowhere>2013-08-26 10:09:45 +0200
commit8be9c49fcd8b23463199036eda5fc290ded6d078 (patch)
tree285f8a1cdcd89c8da9f8a50631a1af5176a783b1 /demux/demux.c
parentddc973344685b8fee1d7b00e23ba93692d56d7c9 (diff)
downloadmpv-8be9c49fcd8b23463199036eda5fc290ded6d078.tar.bz2
mpv-8be9c49fcd8b23463199036eda5fc290ded6d078.tar.xz
core: add a playlist demuxer
Modeled after the old playlist_parser.c, but actually new code, and it works a bit differently. Demuxers (and sometimes streams) are the component that should be used to open files and to determine the file format. This was already done for subtitles, but playlists still use a separate code path.
Diffstat (limited to 'demux/demux.c')
-rw-r--r--demux/demux.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/demux/demux.c b/demux/demux.c
index 272b089871..404050a420 100644
--- a/demux/demux.c
+++ b/demux/demux.c
@@ -59,6 +59,7 @@ extern const demuxer_desc_t demuxer_desc_lavf;
extern const demuxer_desc_t demuxer_desc_mng;
extern const demuxer_desc_t demuxer_desc_libass;
extern const demuxer_desc_t demuxer_desc_subreader;
+extern const demuxer_desc_t demuxer_desc_playlist;
/* Please do not add any new demuxers here. If you want to implement a new
* demuxer, add it to libavformat, except for wrappers around external
@@ -81,6 +82,7 @@ const demuxer_desc_t *const demuxer_list[] = {
#ifdef CONFIG_MNG
&demuxer_desc_mng,
#endif
+ &demuxer_desc_playlist,
// Pretty aggressive, so should be last.
&demuxer_desc_subreader,
/* Please do not add any new demuxers here. If you want to implement a new
@@ -309,6 +311,8 @@ static void free_sh_stream(struct sh_stream *sh)
void free_demuxer(demuxer_t *demuxer)
{
+ if (!demuxer)
+ return;
if (demuxer->desc->close)
demuxer->desc->close(demuxer);
// free streams: