Browse Source

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>
tags/n2.2-rc1
James Darnley Michael Niedermayer 11 years ago
parent
commit
fa20babb46
1 changed files with 9 additions and 1 deletions
  1. +9
    -1
      libavformat/avienc.c

+ 9
- 1
libavformat/avienc.c 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");


Loading…
Cancel
Save