diff options
author | wm4 <wm4@nowhere> | 2017-01-30 19:38:43 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2017-02-04 22:34:38 +0100 |
commit | 61202bb3640740d2cb98cf13922dcdf67970d5ef (patch) | |
tree | 2318d52589ada16859f19761924a26aa7bd09812 /demux/timeline.c | |
parent | 97680bf6041a0512c929c927024b38235a35ce55 (diff) | |
download | mpv-61202bb3640740d2cb98cf13922dcdf67970d5ef.tar.bz2 mpv-61202bb3640740d2cb98cf13922dcdf67970d5ef.tar.xz |
ytdl_hook, edl: implement pseudo-DASH support
We use the metadata provided by youtube-dl to sort-of implement
fragmented DASH streaming.
This is all a bit hacky, but hopefully a makeshift solution until
libavformat has proper mechanisms. (Although in danger of being one
of those temporary hacks that become permanent.)
Diffstat (limited to 'demux/timeline.c')
-rw-r--r-- | demux/timeline.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/demux/timeline.c b/demux/timeline.c index 73f3ab79a2..700a6dfd05 100644 --- a/demux/timeline.c +++ b/demux/timeline.c @@ -33,8 +33,10 @@ void timeline_destroy(struct timeline *tl) return; for (int n = 0; n < tl->num_sources; n++) { struct demuxer *d = tl->sources[n]; - if (d != tl->demuxer) + if (d != tl->demuxer && d != tl->track_layout) free_demuxer_and_stream(d); } + if (tl->track_layout && tl->track_layout != tl->demuxer) + free_demuxer_and_stream(tl->track_layout); talloc_free(tl); } |