[FFmpeg-cvslog] r22639 - in trunk/libavformat: Makefile flacenc.c flacenc.h
Justin Ruggles
justin.ruggles
Wed Mar 24 00:59:55 CET 2010
M?ns Rullg?rd wrote:
> jbr <subversion at mplayerhq.hu> writes:
>
>> Author: jbr
>> Date: Mon Mar 22 22:58:38 2010
>> New Revision: 22639
>>
>> Log:
>> Move ff_flac_write_header() to flacenc.h, which removes the Matroska muxer's
>> dependency on flacenc.o and fixes the unnecessary dependency on vorbiscomment.o.
>>
>> Modified:
>> trunk/libavformat/Makefile
>> trunk/libavformat/flacenc.c
>> trunk/libavformat/flacenc.h
>>
>> Modified: trunk/libavformat/flacenc.h
>> ==============================================================================
>> --- trunk/libavformat/flacenc.h Mon Mar 22 22:12:31 2010 (r22638)
>> +++ trunk/libavformat/flacenc.h Mon Mar 22 22:58:38 2010 (r22639)
>> @@ -22,9 +22,32 @@
>> #ifndef AVFORMAT_FLACENC_H
>> #define AVFORMAT_FLACENC_H
>>
>> +#include "libavcodec/flac.h"
>> +#include "libavcodec/bytestream.h"
>> #include "avformat.h"
>>
>> -int ff_flac_write_header(ByteIOContext *pb, AVCodecContext *codec,
>> - int last_block);
>> +static int ff_flac_write_header(ByteIOContext *pb, AVCodecContext *codec,
>> + int last_block)
>> +{
>> + 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 (!ff_flac_is_extradata_valid(codec, &format, &streaminfo))
>> + return -1;
>> +
>> + /* write "fLaC" stream marker and first metadata block header if needed */
>> + if (format == FLAC_EXTRADATA_FORMAT_STREAMINFO) {
>> + put_buffer(pb, header, 8);
>> + }
>> +
>> + /* write STREAMINFO or full header */
>> + put_buffer(pb, codec->extradata, codec->extradata_size);
>> +
>> + return 0;
>> +}
>
> Why are you putting this function in a header file? That only results
> in duplicated code. If just this function needs to be shared, put it
> alone in a C file. Files are cheap.
Ok, I copied it to a new file, flacenc_header.c and updated the
dependencies.
Thanks,
Justin
More information about the ffmpeg-cvslog
mailing list