diff options
author | James Darnley <james.darnley@gmail.com> | 2014-01-24 02:22:50 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-01-24 22:58:59 +0100 |
commit | fa20babb4661ab4263caec55119bf3e99e855f76 (patch) | |
tree | ac9e35490c5da8462ef6455e5dc90bb2a64e5b08 /libavformat/avienc.c | |
parent | 67270ccd3af97321958396d237f5a442132a9296 (diff) | |
download | ffmpeg-fa20babb4661ab4263caec55119bf3e99e855f76.tar.gz |
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>
Diffstat (limited to 'libavformat/avienc.c')
-rw-r--r-- | libavformat/avienc.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/libavformat/avienc.c b/libavformat/avienc.c index 95e4e7e0bc..9f80576588 100644 --- a/libavformat/avienc.c +++ b/libavformat/avienc.c @@ -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"); |