aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-04-26 10:39:27 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-05-03 12:44:48 +0200
commitd13feae0f85bebdd35e44ccbadf974b10dc3cef1 (patch)
treec3e2e07ab8c594162b951c50641f9d74f5eb3aa3 /libavformat
parent68c7186d94a08a3c993116530f5b66b243407a48 (diff)
downloadffmpeg-d13feae0f85bebdd35e44ccbadf974b10dc3cef1.tar.gz
avformat/matroskaenc: Write SeekHead when livestreaming
Commit 6fd300ac6c2c3871736ce0e6df95603255004dc6 added support for WebM Chunk livestreaming; in this case, both the header as well as each Cluster is written to a file of its own, so that even if the AVIOContext seems seekable, the muxer has to behave as if it were not. Yet one of the added checks makes no sense: It ensures that no SeekHead is written preliminarily (and hence no SeekHead is written at all) if the option for livestreaming is set, although one should write the SeekHead in this case when writing the Header. E.g. the WebM-DASH specification [1] never forbids writing a SeekHead and in some instances (that don't apply here) even requires it (if Cues are written after the Clusters). [1]: https://sites.google.com/a/webmproject.org/wiki/adaptive-streaming/webm-dash-specification Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/matroskaenc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index e1528a9162..f69b3c39da 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -1896,7 +1896,7 @@ static int mkv_write_header(AVFormatContext *s)
if (ret < 0)
return ret;
- if (!(s->pb->seekable & AVIO_SEEKABLE_NORMAL) && !mkv->is_live) {
+ if (!(s->pb->seekable & AVIO_SEEKABLE_NORMAL) || mkv->is_live) {
ret = mkv_write_seekhead(pb, mkv, 0, avio_tell(pb));
if (ret < 0)
return ret;