mirror of https://git.ffmpeg.org/ffmpeg.git
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>
This commit is contained in:
parent
187023f6b2
commit
a9553bbb33
|
@ -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)) {
|
||||
|
|
Loading…
Reference in New Issue