[FFmpeg-devel] [PATCH 1/2] lavd/pulse_audio_enc: replace simple API with async API

Lukasz Marek lukasz.m.luki2 at gmail.com
Sun Apr 6 23:17:31 CEST 2014


On 06.04.2014 23:13, Lukasz Marek wrote:
> Async API allows to use full capabilites of PulseAudio.
>
> Signed-off-by: Lukasz Marek <lukasz.m.luki2 at gmail.com>
> ---
>   libavdevice/pulse_audio_enc.c | 328 ++++++++++++++++++++++++++++++++++++------
>   1 file changed, 288 insertions(+), 40 deletions(-)

> +        if (st->codec->channel_layout & AV_CH_STEREO_LEFT)
> +            channel_map.map[channel_map.channels++] = PA_CHANNEL_POSITION_FRONT_LEFT;
> +        if (st->codec->channel_layout & AV_CH_STEREO_RIGHT)
> +            channel_map.map[channel_map.channels++] = PA_CHANNEL_POSITION_FRONT_RIGHT;
> +        if (st->codec->channel_layout & AV_CH_WIDE_LEFT)
> +            channel_map.map[channel_map.channels++] = PA_CHANNEL_POSITION_AUX0;
> +        if (st->codec->channel_layout & AV_CH_WIDE_RIGHT)
> +            channel_map.map[channel_map.channels++] = PA_CHANNEL_POSITION_AUX1;
> +        if (st->codec->channel_layout & AV_CH_SURROUND_DIRECT_LEFT)
> +            channel_map.map[channel_map.channels++] = PA_CHANNEL_POSITION_AUX2;
> +        if (st->codec->channel_layout & AV_CH_SURROUND_DIRECT_RIGHT)
> +            channel_map.map[channel_map.channels++] = PA_CHANNEL_POSITION_AUX3;
> +        if (st->codec->channel_layout & AV_CH_LOW_FREQUENCY_2)
> +            channel_map.map[channel_map.channels++] = PA_CHANNEL_POSITION_LFE;

I have question about this part. Can AV_CH_WIDE_LEFT/RIGHT 
AV_CH_SURROUND_DIRECT_LEFT/RIGHT be mapped to something meaningful.
Is this the same as PA_CHANNEL_POSITION_SIDE_LEFT/RIGHT for example?
And what is the difference in such case.

I assume AV_CH_STEREO_LEFT/RIGHT is OK to map to 
PA_CHANNEL_POSITION_FRONT_LEFT/RIGHT, the same as for AV_CH_FRONT_LEFT/RIGHT


More information about the ffmpeg-devel mailing list