diff options
author | Anton Khirnov <anton@khirnov.net> | 2014-05-26 15:51:22 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2014-06-01 08:31:33 +0200 |
commit | 0097cbea695e534fce39958ccd103af2fbf65831 (patch) | |
tree | 2a005153a4562bc96ccc2f483a900c9a4197986e | |
parent | ed39cda02923316b6710c1bcc34d3445370be5b4 (diff) | |
download | ffmpeg-0097cbea695e534fce39958ccd103af2fbf65831.tar.gz |
flac muxer: accept only STREAMINFO extradata
The other format (full flac header blocks) should not be exported by any
demuxers anymore.
This allows to drop an avpriv_ function and also simplify the following
commits.
-rw-r--r-- | libavformat/flacenc_header.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/libavformat/flacenc_header.c b/libavformat/flacenc_header.c index 0d19b3c876..a6e2b59f54 100644 --- a/libavformat/flacenc_header.c +++ b/libavformat/flacenc_header.c @@ -22,7 +22,7 @@ #include "libavutil/channel_layout.h" #include "libavcodec/flac.h" -#include "libavcodec/bytestream.h" + #include "avformat.h" #include "flacenc.h" @@ -32,18 +32,17 @@ int ff_flac_write_header(AVIOContext *pb, AVCodecContext *codec, uint8_t header[8] = { 0x66, 0x4C, 0x61, 0x43, 0x00, 0x00, 0x00, 0x22 }; - uint8_t *streaminfo; - enum FLACExtradataFormat format; header[4] = last_block ? 0x80 : 0x00; - if (!avpriv_flac_is_extradata_valid(codec, &format, &streaminfo)) - return -1; + + if (codec->extradata_size < FLAC_STREAMINFO_SIZE) + return AVERROR_INVALIDDATA; /* write "fLaC" stream marker and first metadata block header */ avio_write(pb, header, 8); /* write STREAMINFO */ - avio_write(pb, streaminfo, FLAC_STREAMINFO_SIZE); + avio_write(pb, codec->extradata, FLAC_STREAMINFO_SIZE); return 0; } |