diff options
author | Martin Storsjö <martin@martin.st> | 2013-09-10 15:56:19 +0300 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2013-09-22 16:10:21 +0300 |
commit | a9553bbb336a7186c62b3b14a0499c1b6ba61ebd (patch) | |
tree | 5e532b82d484c7ecee1999f4cec0bf866dee466d /libavformat | |
parent | 187023f6b2b43966acb2449a379b4ededdc4b22e (diff) | |
download | ffmpeg-a9553bbb336a7186c62b3b14a0499c1b6ba61ebd.tar.gz |
movenc: Set all implicit flags immediately in mov_write_header
This makes sure other sanity checks for conflicting options
can work properly, e.g. for the conflict between the faststart
flag when using the ismv mode.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/movenc.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libavformat/movenc.c b/libavformat/movenc.c index dd0a31f17d..16107b1596 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -3154,12 +3154,16 @@ static int mov_write_header(AVFormatContext *s) /* Set the FRAGMENT flag if any of the fragmentation methods are * enabled. */ if (mov->max_fragment_duration || mov->max_fragment_size || - mov->mode == MODE_ISM || mov->flags & (FF_MOV_FLAG_EMPTY_MOOV | FF_MOV_FLAG_FRAG_KEYFRAME | FF_MOV_FLAG_FRAG_CUSTOM)) mov->flags |= FF_MOV_FLAG_FRAGMENT; + /* Set other implicit flags immediately */ + if (mov->mode == MODE_ISM) + mov->flags |= FF_MOV_FLAG_EMPTY_MOOV | FF_MOV_FLAG_SEPARATE_MOOF | + FF_MOV_FLAG_FRAGMENT; + /* faststart: moov at the beginning of the file, if supported */ if (mov->flags & FF_MOV_FLAG_FASTSTART) { if ((mov->flags & FF_MOV_FLAG_FRAGMENT) || @@ -3297,7 +3301,6 @@ static int mov_write_header(AVFormatContext *s) FF_MOV_FLAG_FRAG_CUSTOM)) && !mov->max_fragment_duration && !mov->max_fragment_size) mov->max_fragment_duration = 5000000; - mov->flags |= FF_MOV_FLAG_EMPTY_MOOV | FF_MOV_FLAG_SEPARATE_MOOF; } if (!(mov->flags & FF_MOV_FLAG_FRAGMENT)) { |