[Ffmpeg-devel] [PATCH] Add fact chunk to non-PCM wav

Michel Bardiaux mbardiaux
Thu Nov 9 13:53:08 CET 2006


Michael Niedermayer wrote:
> Hi
> 
> On Thu, Nov 09, 2006 at 11:36:13AM +0100, Michel Bardiaux wrote:
>> Michael has reported that
>>
>>>> interresting, accoridng to microsofts excelent and unambigous 
>>>> documentation
>>>> (not kidding ...)
>>>>     Fact Chunk
>>>> This chunk is required for all WAVE formats other than WAVE_FORMAT_PCM. 
>>>> It stores file
>>>> dependent information about the contents of the WAVE data. It currently 
>>>> specifies the time length of the
>>>> data in samples.
>>>>
>>>> so this must not be under CODEC_ID_MSGSM, also it must be a seperate patch
>>>> as its not CODEC_ID_MSGSM specific
>> I took this literally, hence CODEC_ID_PCM_ALAW and CODEC_ID_PCM_MULAW 
>> will get a fact chunk too.
> 
> :)
> 
> now just take the largest pts minus the smallest pts of any packet stored
> and convert that by using AVStream.time_base and AVCodecContext.sample_rate
> to the number of samples and store that in the fact chunk

Right, the patch does not make sense without the final update of the 
chunk, and with a *general* formula, not the one I had specialised for 
MSGSM. I'm rather rusty on the handling of timestamps, so this might 
take some time (and though I can read the lists from home, posting does 
not work). Is there a good example code somewhere?

> 
> then run the regression tests and send a patch which updates the checksums

Not clear how to proceed here, do you mean a subsequent patch, or in the 
same?

> 
> 
>> Note that get_wav_header does not enforce the rule on input.
> 
> thats ok
> 
> [...]


-- 
Michel Bardiaux
R&D Director
T +32 [0] 2 790 29 41
F +32 [0] 2 790 29 02
E mailto:mbardiaux at mediaxim.be

Mediaxim NV/SA
Vorstlaan 191 Boulevard du Souverain
Brussel 1160 Bruxelles
http://www.mediaxim.com/




More information about the ffmpeg-devel mailing list