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

Justin Ruggles justinruggles
Mon Oct 1 06:16:16 CEST 2007


Rich Felker wrote:
> On Sun, Sep 30, 2007 at 08:52:35PM -0400, Justin Ruggles wrote:
>> Rich Felker wrote:
>>> On Sun, Sep 30, 2007 at 02:47:18PM -0400, Justin Ruggles wrote:
>>>> Michael Niedermayer wrote:
>>>>> On Sun, Sep 30, 2007 at 12:48:08AM -0400, Justin Ruggles wrote:
>>>>>> Hi,
>>>>>>
>>>>>> Here is a patch to fix issue 187 in the FFmpeg Issue Tracker, "flac decoder 
>>>>>> fails with large metadata".
>>>>>>
>>>>>> For raw FLAC files, the metadata header(s) are read in the demuxer rather 
>>>>>> than the decoder.  This correctly skips any irrelevant metadata blocks, and 
>>>>>> it also parses vorbiscomment info.
>>>>> what happens with flac in avi and matroska ?
>>>> True, it should be handled in those demuxers as well.  And I do see your 
>>>> point as far as code duplication.  I'm working on a better solution with 
>>>> shared code between the decoder and all the demuxers.
>>> For other formats, metadata should not be in Ogg-specific format but
>>> in whatever standard format the container uses.. I suspect that was
>>> Michael's point..
>> I see.  Well the streaminfo data should be in the same format no matter 
>> what the container.  Also, I believe a series of FLAC metadata blocks is 
>> standard for extradata in raw FLAC, Matroska, and other containers 
>> besides Ogg.  AFAIK, Ogg is the only one which uses its own unique 
>> layout for FLAC metadata.  The solution I'm working on takes this into 
>> account.
> 
> Matroska officially stores in-band FLAC-format metadata instead of
> putting it in the Matroska headers where it belongs? I really doubt
> that. If it's done it's probably some hack warez groups are doing and
> not something officially sanctioned.. at least I can't imagine them
> doing something THAT dumb..
> 
> Rich

I don't know a lot about Matroska, so I don't know where exactly the 
metadata is located, but as far as I can tell it is in the same format 
as raw FLAC.  This is using mkvmerge.  I did some tests and was able to 
locate the list of FLAC metadata blocks in exactly the same format as 
the original FLAC file.  This doesn't mean that it's inline with the 
audio, but wherever it is, it is in the FLAC metadata format.

-Justin





More information about the ffmpeg-devel mailing list