Commit a9553bbb authored by Martin Storsjö's avatar Martin Storsjö
Browse files

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: default avatarMartin Storsjö <martin@martin.st>
parent 187023f6
...@@ -3154,12 +3154,16 @@ static int mov_write_header(AVFormatContext *s) ...@@ -3154,12 +3154,16 @@ static int mov_write_header(AVFormatContext *s)
/* Set the FRAGMENT flag if any of the fragmentation methods are /* Set the FRAGMENT flag if any of the fragmentation methods are
* enabled. */ * enabled. */
if (mov->max_fragment_duration || mov->max_fragment_size || if (mov->max_fragment_duration || mov->max_fragment_size ||
mov->mode == MODE_ISM ||
mov->flags & (FF_MOV_FLAG_EMPTY_MOOV | mov->flags & (FF_MOV_FLAG_EMPTY_MOOV |
FF_MOV_FLAG_FRAG_KEYFRAME | FF_MOV_FLAG_FRAG_KEYFRAME |
FF_MOV_FLAG_FRAG_CUSTOM)) FF_MOV_FLAG_FRAG_CUSTOM))
mov->flags |= FF_MOV_FLAG_FRAGMENT; 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 */ /* faststart: moov at the beginning of the file, if supported */
if (mov->flags & FF_MOV_FLAG_FASTSTART) { if (mov->flags & FF_MOV_FLAG_FASTSTART) {
if ((mov->flags & FF_MOV_FLAG_FRAGMENT) || if ((mov->flags & FF_MOV_FLAG_FRAGMENT) ||
...@@ -3297,7 +3301,6 @@ static int mov_write_header(AVFormatContext *s) ...@@ -3297,7 +3301,6 @@ static int mov_write_header(AVFormatContext *s)
FF_MOV_FLAG_FRAG_CUSTOM)) && FF_MOV_FLAG_FRAG_CUSTOM)) &&
!mov->max_fragment_duration && !mov->max_fragment_size) !mov->max_fragment_duration && !mov->max_fragment_size)
mov->max_fragment_duration = 5000000; mov->max_fragment_duration = 5000000;
mov->flags |= FF_MOV_FLAG_EMPTY_MOOV | FF_MOV_FLAG_SEPARATE_MOOF;
} }
if (!(mov->flags & FF_MOV_FLAG_FRAGMENT)) { if (!(mov->flags & FF_MOV_FLAG_FRAGMENT)) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment