[FFmpeg-devel] [PATCH] FLAC parser

Michael Chinen mchinen
Tue Sep 28 16:24:13 CEST 2010


On Tue, Sep 28, 2010 at 12:22 PM, Justin Ruggles
<justin.ruggles at gmail.com> wrote:
> Michael Chinen wrote:
>
>> Hi,
>>
>> On Mon, Sep 27, 2010 at 1:32 AM, Felipe Contreras
>> <felipe.contreras at gmail.com> wrote:
>>> 2010/9/26 M?ns Rullg?rd <mans at mansr.com>:
>>>> Felipe Contreras <felipe.contreras at gmail.com> writes:
>>>>
>>>>> On Sun, Sep 26, 2010 at 1:58 PM, Michael Chinen <mchinen at gmail.com> wrote:
>>>>>> On Sun, Sep 26, 2010 at 2:00 AM, Felipe Contreras
>>>>>> [...]
>>>>>>> Ah, I needed CONFIG_FLAC_PARSER.
>>>>>> I would like to test this. ?I am running configure without any mention
>>>>>> of the parser. ?How can I get it to go without CONFIG_FLAC_PARSER?
>>>>> I guess --disable-parser=flac
>>>>>
>>>>>>> Since now the decoder doesn't work without the parser, wouldn't a
>>>>>>> dependency should somehow be specified?
>>>>>> Is this dependency undesirable? ?I can look into getting both cases to
>>>>>> work if so.
>>>>> I don't know, but with your patches this stopped working:
>>>>> ./configure --disable-everything --enable-decoder='flac'
>>>>> --enable-demuxer='ogg,flac' --enable-protocol=file
>>>>> --enable-encoder='pcm_s16le' --enable-muxer='wav'
>>>>>
>>>>> ffmpeg -i test.flac test.wav
>>>> The demuxer probably needs the parser to find frame boundaries. ?Can
>>>> it play flac in ogg (where ogg provides the framing)?
>>> I haven't tried this yet, but at least it doesn't seem to work with my
>>> gst-av[1] stuff, so I think the problem is in the decoder itself.
>>
>> Any ogg related thing is definitely not supported in this
>> parser/decoder (nor in the previous flacdec.c).
>> flac in ogg is .ogg file right? - should it be handled by this parser/decoder?
>>
>> The patch isn't ready quite yet, but I'm working on it.
>
> I can confirm that Ogg/FLAC doesn't work when you disable the parser,
> but it does work when you enable the parser. ?This is weird because the
> Ogg demuxer doesn't even set st->need_parsing. ?Plus, like Mans said,
> Ogg shouldn't need to use the parser. ?If Michael doesn't already have
> it figured out, I'll see if I can find the problem this afternoon after
> work.

I think I've got it, but I need to test more.  I'm not sure why but
undoing the changes to flacdec.c (mostly restoring the buffering)
fixes the flac-in-ogg case and the pure flac decoder.  Not sure why
yet and want to look into this before committing.

Attaching the in-progress patch in case anyone is curious.

Michael
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Add-FLAC-Parser-based-on-mailing-list-discussion-fro.patch
Type: application/octet-stream
Size: 33686 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100928/d4d17a3f/attachment.obj>



More information about the ffmpeg-devel mailing list