movenc: Set mov->mode earlier in mov_write_header
This allows simplifying some early checks that depend on the muxer mode. Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
5055035670
commit
187023f6b2
@ -3139,10 +3139,22 @@ static int mov_write_header(AVFormatContext *s)
|
||||
AVDictionaryEntry *t;
|
||||
int i, hint_track = 0;
|
||||
|
||||
/* Default mode == MP4 */
|
||||
mov->mode = MODE_MP4;
|
||||
|
||||
if (s->oformat != NULL) {
|
||||
if (!strcmp("3gp", s->oformat->name)) mov->mode = MODE_3GP;
|
||||
else if (!strcmp("3g2", s->oformat->name)) mov->mode = MODE_3GP|MODE_3G2;
|
||||
else if (!strcmp("mov", s->oformat->name)) mov->mode = MODE_MOV;
|
||||
else if (!strcmp("psp", s->oformat->name)) mov->mode = MODE_PSP;
|
||||
else if (!strcmp("ipod",s->oformat->name)) mov->mode = MODE_IPOD;
|
||||
else if (!strcmp("ismv",s->oformat->name)) mov->mode = MODE_ISM;
|
||||
}
|
||||
|
||||
/* Set the FRAGMENT flag if any of the fragmentation methods are
|
||||
* enabled. */
|
||||
if (mov->max_fragment_duration || mov->max_fragment_size ||
|
||||
(s->oformat && !strcmp(s->oformat->name, "ismv")) ||
|
||||
mov->mode == MODE_ISM ||
|
||||
mov->flags & (FF_MOV_FLAG_EMPTY_MOOV |
|
||||
FF_MOV_FLAG_FRAG_KEYFRAME |
|
||||
FF_MOV_FLAG_FRAG_CUSTOM))
|
||||
@ -3166,25 +3178,14 @@ static int mov_write_header(AVFormatContext *s)
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Default mode == MP4 */
|
||||
mov->mode = MODE_MP4;
|
||||
|
||||
if (s->oformat != NULL) {
|
||||
if (!strcmp("3gp", s->oformat->name)) mov->mode = MODE_3GP;
|
||||
else if (!strcmp("3g2", s->oformat->name)) mov->mode = MODE_3GP|MODE_3G2;
|
||||
else if (!strcmp("mov", s->oformat->name)) mov->mode = MODE_MOV;
|
||||
else if (!strcmp("psp", s->oformat->name)) mov->mode = MODE_PSP;
|
||||
else if (!strcmp("ipod",s->oformat->name)) mov->mode = MODE_IPOD;
|
||||
else if (!strcmp("ismv",s->oformat->name)) mov->mode = MODE_ISM;
|
||||
|
||||
mov_write_ftyp_tag(pb,s);
|
||||
if (mov->mode == MODE_PSP) {
|
||||
if (s->nb_streams != 2) {
|
||||
av_log(s, AV_LOG_ERROR, "PSP mode need one video and one audio stream\n");
|
||||
return -1;
|
||||
}
|
||||
mov_write_uuidprof_tag(pb, s);
|
||||
mov_write_ftyp_tag(pb,s);
|
||||
if (mov->mode == MODE_PSP) {
|
||||
if (s->nb_streams != 2) {
|
||||
av_log(s, AV_LOG_ERROR, "PSP mode need one video and one audio stream\n");
|
||||
return -1;
|
||||
}
|
||||
mov_write_uuidprof_tag(pb, s);
|
||||
}
|
||||
|
||||
mov->nb_streams = s->nb_streams;
|
||||
|
Loading…
Reference in New Issue
Block a user