summaryrefslogtreecommitdiffstats
path: root/demux/timeline.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2017-01-30 19:38:43 +0100
committerwm4 <wm4@nowhere>2017-02-04 22:34:38 +0100
commit61202bb3640740d2cb98cf13922dcdf67970d5ef (patch)
tree2318d52589ada16859f19761924a26aa7bd09812 /demux/timeline.c
parent97680bf6041a0512c929c927024b38235a35ce55 (diff)
downloadmpv-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.c4
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);
}