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

Justin Ruggles justinruggles
Mon Oct 1 06:25:56 CEST 2007


Justin Ruggles wrote:
> 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.

Using mkvinfo, it appears that the metadata blocks are located in 
CodecPrivate.

-Justin





More information about the ffmpeg-devel mailing list