summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2019-06-30 17:07:08 +0200
committerwm4 <wm4@nowhere>2019-09-19 20:37:05 +0200
commit8a48a277edbe4002460899bcca28896eea3feeca (patch)
tree40e763733343b4d334034ed945dfeb42ea224d16
parent943fc889894e157f0678a5b3e39d3d41f3eda3b7 (diff)
downloadmpv-8a48a277edbe4002460899bcca28896eea3feeca.tar.bz2
mpv-8a48a277edbe4002460899bcca28896eea3feeca.tar.xz
demux: enable --stream-record for things using timeline
Although this is not useful in general, it makes --stream-record work with a certain video streaming service by a large dystopian company. In the general case, this fails because normal muxing can, quite obviously, not handle the segmented metadata in the packets. (There isn't even a file format which could handle these, except possibly mp4.) On the other hand, ytdl merely uses timeline/EDL to emulate DASH streaming (unfortunately), which does not use the segmented stuff, and stream recording will actually work.
-rw-r--r--demux/demux.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/demux/demux.c b/demux/demux.c
index 7025d95161..f646158e22 100644
--- a/demux/demux.c
+++ b/demux/demux.c
@@ -3099,6 +3099,7 @@ static struct demuxer *open_given_type(struct mpv_global *global,
struct demuxer_params params2 = {0};
params2.timeline = tl;
params2.is_top_level = params && params->is_top_level;
+ params2.stream_record = params && params->stream_record;
sub =
open_given_type(global, log, &demuxer_desc_timeline,
NULL, sinfo, &params2, DEMUX_CHECK_FORCE);
@@ -3111,6 +3112,7 @@ static struct demuxer *open_given_type(struct mpv_global *global,
in->seekable_cache = false;
in->min_secs = 0;
in->max_bytes = 1;
+ in->enable_recording = false;
}
if (in->seekable_cache && opts->disk_cache) {