lavf/avienc: use metadata_header_padding

The muxer will write at least the number of bytes requested and possibly
up to 3 bytes more.  This is because the muxer writes 32-bit integers
and the format requires 4-byte alignment anyway.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
James Darnley 2014-01-24 02:22:50 +01:00 committed by Michael Niedermayer
parent 67270ccd3a
commit fa20babb46

View File

@ -154,6 +154,7 @@ static int avi_write_header(AVFormatContext *s)
AVCodecContext *stream, *video_enc;
int64_t list1, list2, strh, strf;
AVDictionaryEntry *t = NULL;
int padding;
if (s->nb_streams > AVI_MAX_STREAM_COUNT) {
av_log(s, AV_LOG_ERROR, "AVI does not support >%d streams\n",
@ -397,11 +398,18 @@ static int avi_write_header(AVFormatContext *s)
ff_riff_write_info(s);
padding = s->metadata_header_padding;
if (padding < 0)
padding = 1016;
/* some padding for easier tag editing */
if (padding) {
list2 = ff_start_tag(pb, "JUNK");
for (i = 0; i < 1016; i += 4)
for (i = padding; i > 0; i -= 4)
avio_wl32(pb, 0);
ff_end_tag(pb, list2);
}
avi->movi_list = ff_start_tag(pb, "LIST");
ffio_wfourcc(pb, "movi");