iec61937: force hw_param channels to stereo

In case of pass-through, iec frames are sent over a stereo PCM
stream. So alsa device should be configured with channels = 2.
This is needed to be compatible with SPDIF electrical/optical output
that supports only stereo in PCM mode and up to 8 channels in iec61937 mode.

Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@st.com>
diff --git a/ext/alsa/gstalsasink.c b/ext/alsa/gstalsasink.c
index 579791e..756b1a2 100644
--- a/ext/alsa/gstalsasink.c
+++ b/ext/alsa/gstalsasink.c
@@ -811,12 +811,15 @@
         default:
           goto error;
       }
+      alsa->channels = GST_AUDIO_INFO_CHANNELS (&spec->info);
       break;
     case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_A_LAW:
       alsa->format = SND_PCM_FORMAT_A_LAW;
+      alsa->channels = GST_AUDIO_INFO_CHANNELS (&spec->info);
       break;
     case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MU_LAW:
       alsa->format = SND_PCM_FORMAT_MU_LAW;
+      alsa->channels = GST_AUDIO_INFO_CHANNELS (&spec->info);
       break;
     case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_AC3:
     case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_EAC3:
@@ -824,13 +827,14 @@
     case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG:
       alsa->format = SND_PCM_FORMAT_S16_BE;
       alsa->iec958 = TRUE;
+      /* Set channels to stereo as iec playload are rendered on a stereo stream */
+      alsa->channels = 2;
       break;
     default:
       goto error;
 
   }
   alsa->rate = GST_AUDIO_INFO_RATE (&spec->info);
-  alsa->channels = GST_AUDIO_INFO_CHANNELS (&spec->info);
   alsa->buffer_time = spec->buffer_time;
   alsa->period_time = spec->latency_time;
   alsa->access = SND_PCM_ACCESS_RW_INTERLEAVED;