[-,a52,plugin,1/1] fix reported input channel order
diff mbox

Message ID 5694b1fa.8a41620a.6c971.ffffd9ad@mx.google.com
State New
Headers show

Commit Message

Tom Yan Jan. 12, 2016, 7:57 a.m. UTC
From: Tom Yan <tom.ty89@gmail.com>

a52 plugin expects the input to be in ALSA order and remaps it to general order when encoding. However it reports that the input it takes should be in general order.

This fix should make programs (e.g. mpv) that is aware of channel layout reported by ALSA remap sources appropriately before sending when necessary.

It should not cause any regression to programs (e.g. mplayer) that does not check the reported channel layout (hence not affected by the issue) and remaps sources anyway.

Signed-off-by: Tom Yan <tom.ty89@gmail.com>

Comments

Takashi Iwai Jan. 12, 2016, 8:48 a.m. UTC | #1
On Tue, 12 Jan 2016 08:57:39 +0100,
tom.ty89@gmail.com wrote:
> 
> From: Tom Yan <tom.ty89@gmail.com>
> 
> a52 plugin expects the input to be in ALSA order and remaps it to general order when encoding. However it reports that the input it takes should be in general order.
> 
> This fix should make programs (e.g. mpv) that is aware of channel layout reported by ALSA remap sources appropriately before sending when necessary.
> 
> It should not cause any regression to programs (e.g. mplayer) that does not check the reported channel layout (hence not affected by the issue) and remaps sources anyway.
> 
> Signed-off-by: Tom Yan <tom.ty89@gmail.com>

Applied now, thanks.


Takashi

> 
> diff --git a/a52/pcm_a52.c b/a52/pcm_a52.c
> index 4e4c5f7..88529eb 100644
> --- a/a52/pcm_a52.c
> +++ b/a52/pcm_a52.c
> @@ -663,8 +663,8 @@ static unsigned int chmap4[4] = {
>  };
>  static unsigned int chmap6[6] = {
>  	SND_CHMAP_FL, SND_CHMAP_FR,
> -	SND_CHMAP_FC, SND_CHMAP_LFE,
>  	SND_CHMAP_RL, SND_CHMAP_RR,
> +	SND_CHMAP_FC, SND_CHMAP_LFE,
>  };
>  
>  static snd_pcm_chmap_query_t **a52_query_chmaps(snd_pcm_ioplug_t *io ATTRIBUTE_UNUSED)
> -- 
> 2.7.0
>

Patch
diff mbox

diff --git a/a52/pcm_a52.c b/a52/pcm_a52.c
index 4e4c5f7..88529eb 100644
--- a/a52/pcm_a52.c
+++ b/a52/pcm_a52.c
@@ -663,8 +663,8 @@  static unsigned int chmap4[4] = {
 };
 static unsigned int chmap6[6] = {
 	SND_CHMAP_FL, SND_CHMAP_FR,
-	SND_CHMAP_FC, SND_CHMAP_LFE,
 	SND_CHMAP_RL, SND_CHMAP_RR,
+	SND_CHMAP_FC, SND_CHMAP_LFE,
 };
 
 static snd_pcm_chmap_query_t **a52_query_chmaps(snd_pcm_ioplug_t *io ATTRIBUTE_UNUSED)