diff options
author | Anton Khirnov <anton@khirnov.net> | 2014-05-01 10:43:10 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2014-05-15 07:42:07 +0200 |
commit | 0c1959b056f6ccaa2eee2c824352ba93c8e36d52 (patch) | |
tree | 4706fca90a0acb580ae1b5cc3dc2e3fdc8dd6a5a /libavformat/oggenc.c | |
parent | b70d7a4ac72d23f3448f3b08b770fdf5f57de222 (diff) | |
download | ffmpeg-0c1959b056f6ccaa2eee2c824352ba93c8e36d52.tar.gz |
lavf: add AVFMT_FLAG_BITEXACT.
Use it instead of checking CODEC_FLAG_BITEXACT in the first stream's
codec context.
Using codec options inside lavf is fragile and can easily break when the
muxing codec context is not the encoding context.
Diffstat (limited to 'libavformat/oggenc.c')
-rw-r--r-- | libavformat/oggenc.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/libavformat/oggenc.c b/libavformat/oggenc.c index fd102c86ad..c52368dde3 100644 --- a/libavformat/oggenc.c +++ b/libavformat/oggenc.c @@ -425,7 +425,7 @@ static int ogg_write_header(AVFormatContext *s) oggstream = av_mallocz(sizeof(*oggstream)); oggstream->page.stream_index = i; - if (!(st->codec->flags & CODEC_FLAG_BITEXACT)) + if (!(s->flags & AVFMT_FLAG_BITEXACT)) do { serial_num = av_get_random_seed(); for (j = 0; j < i; j++) { @@ -439,7 +439,7 @@ static int ogg_write_header(AVFormatContext *s) st->priv_data = oggstream; if (st->codec->codec_id == AV_CODEC_ID_FLAC) { int err = ogg_build_flac_headers(st->codec, oggstream, - st->codec->flags & CODEC_FLAG_BITEXACT, + s->flags & AVFMT_FLAG_BITEXACT, &s->metadata); if (err) { av_log(s, AV_LOG_ERROR, "Error writing FLAC headers\n"); @@ -448,7 +448,7 @@ static int ogg_write_header(AVFormatContext *s) } } else if (st->codec->codec_id == AV_CODEC_ID_SPEEX) { int err = ogg_build_speex_headers(st->codec, oggstream, - st->codec->flags & CODEC_FLAG_BITEXACT, + s->flags & AVFMT_FLAG_BITEXACT, &s->metadata); if (err) { av_log(s, AV_LOG_ERROR, "Error writing Speex headers\n"); @@ -457,7 +457,7 @@ static int ogg_write_header(AVFormatContext *s) } } else if (st->codec->codec_id == AV_CODEC_ID_OPUS) { int err = ogg_build_opus_headers(st->codec, oggstream, - st->codec->flags & CODEC_FLAG_BITEXACT, + s->flags & AVFMT_FLAG_BITEXACT, &s->metadata); if (err) { av_log(s, AV_LOG_ERROR, "Error writing Opus headers\n"); @@ -478,7 +478,7 @@ static int ogg_write_header(AVFormatContext *s) return -1; } - p = ogg_write_vorbiscomment(7, st->codec->flags & CODEC_FLAG_BITEXACT, + p = ogg_write_vorbiscomment(7, s->flags & AVFMT_FLAG_BITEXACT, &oggstream->header_len[1], &s->metadata, framing_bit); oggstream->header[1] = p; |