[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