[FFmpeg-devel] [PATCH] read header in FLAC demuxer

Justin Ruggles justin.ruggles
Sun Mar 1 21:52:54 CET 2009


Michael Niedermayer wrote:
> On Sun, Mar 01, 2009 at 12:08:01AM -0500, Justin Ruggles wrote:
>> Michael Niedermayer wrote:
>>> On Sat, Feb 28, 2009 at 09:08:18PM -0500, Justin Ruggles wrote:
>>>> Justin Ruggles wrote:
>>>>> Michael Niedermayer wrote:
>>>>>> On Mon, Feb 02, 2009 at 09:00:05PM -0500, Justin Ruggles wrote:
>>>>>>> I'm open to suggestions or other samples to test.
>>>>>> what you tested sounds good
>>>>>> in addition you could test if -acodec copy to containers supporting flac
>>>>>> result in identical files
>>>>> Good idea. I'll test some, then submit the new patch.
>>>> Now that the FLAC muxer has changed, this patch is somewhat simpler.  It
>>>> still disallows the header to be passed to the decoder with frame data,
>>>> but that is not needed by any of our demuxers after this patch.  One
>>>> thing I'm unsure of is whether or not to bump the lavc minor version
>>>> since the FLAC decoder behavior will change.
>>>>
>>>> As for "-acodec copy", the only thing that will change is that remuxing
>>>> from raw FLAC to wav or avi will put the STREAMINFO in WAVEFORMATEX like
>>>> it should instead of in the data.  Remuxing raw FLAC to other containers
>>>> is still broken because we don't have a FLAC parser.
>>> will flac in avi files from "old" ffmpeg still work with new?
>> No, not the ones made by remuxing raw FLAC... but I would consider those
>> broken files.  flac-in-avi remuxed from ogg or mkv produce correct files.
> 
> one of ffmpegs "selling points" is that it can play all kinds of broken files
> also all other decoders manage to handle "global"/"sequence" headers in
> extradata and in stream, i dont see why flac should not.
> 
> you are flac maintainer and you can commit without having my approval, but
> if you ask me if i think droping support for this is good or not my awnser
> is its not.
> also iam not asking to have all kinds of funky metadata supported in broken
> files just basic playback.

I think I have an ok compromise. I'll leave in functionality for
handling inline headers in the decoder.  I will modify metadata_parse()
in such a way that the amount of code duplication is as small as I can
make it and can be even further simplified after the addition of a FLAC
parser.

-Justin




More information about the ffmpeg-devel mailing list