[FFmpeg-devel] [PATCH] read metadata in FLAC demuxer
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:
>>>>>> 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
> 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..
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.
More information about the ffmpeg-devel