[FFmpeg-devel] [PATCH] Parsing ALS object type in MPEG-4
Baptiste Coudurier
baptiste.coudurier
Tue Nov 10 20:28:40 CET 2009
On 10/11/2009 03:04 AM, Thilo Borgmann wrote:
> Baptiste Coudurier schrieb:
>> On 10/9/09 1:48 PM, Alex Converse wrote:
>>> On Sun, Aug 23, 2009 at 3:51 PM, Thilo Borgmann
>>> <thilo.borgmann at googlemail.com> wrote:
>>>> Index: libavcodec/mpeg4audio.h
>>>> ===================================================================
>>>> --- libavcodec/mpeg4audio.h (revision 19689)
>>>> +++ libavcodec/mpeg4audio.h (working copy)
>>>> @@ -36,6 +36,7 @@
>>>> int ext_sampling_index;
>>>> int ext_sample_rate;
>>>> int ext_chan_config;
>>>> + int channels;
>>>> } MPEG4AudioConfig;
>>>
>>> Can we put "channels" directly below "chan_config" without API/ABI
>>> breakage? If so I'd like to try to keep related thing together.
>>
>> We could since this struct is not part of the public API, though since
>> libavformat uses libavcodec, it is not safe.
>>
>
> Patch updated.
>
>
>> This reminds me, I think avcodec_register_all and av_register_all should
>> put requirements for libavcodec and libavutil versions respectively, to
>> avoid shared libraries problems, because soname only contains major
>> version and API changes only update minor version.
>>
>
> [...]
>
> Index: libavcodec/mpeg4audio.h
> ===================================================================
> --- libavcodec/mpeg4audio.h (revision 20011)
> +++ libavcodec/mpeg4audio.h (working copy)
> @@ -31,6 +31,7 @@
> int sampling_index;
> int sample_rate;
> int chan_config;
> + int channels;
> int sbr; //< -1 implicit, 1 presence
> int ext_object_type;
> int ext_sampling_index;
Forgot to change that ?
> Index: libavformat/mov.c
> ===================================================================
> --- libavformat/mov.c (revision 20011)
> +++ libavformat/mov.c (working copy)
> @@ -434,9 +434,13 @@
> MPEG4AudioConfig cfg;
> ff_mpeg4audio_get_config(&cfg, st->codec->extradata,
> st->codec->extradata_size);
> + if (cfg.chan_config) {
> if (cfg.chan_config> 7)
> return -1;
> st->codec->channels = ff_mpeg4audio_channels[cfg.chan_config];
> + } else {
> + st->codec->channels = cfg.channels;
> + }
By always setting cfg.channels I wanted to avoid the
if (cfg.chan_config) ...
That's ok though.
--
Baptiste COUDURIER
Key fingerprint 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
FFmpeg maintainer http://www.ffmpeg.org
More information about the ffmpeg-devel
mailing list