AnsweredAssumed Answered

i.MX6 SSI ALSA simultaneous Capture and Playback not working for mono streams

Question asked by vismayshah on Aug 16, 2013
Latest reply on Jul 10, 2014 by Venkatesh P

Hi All,

 

We are using i.MX6 SSI (Synchronous Serial Interface) with AUDMUX to connect Audio Codec chip LM49350 and we are using linux kernel 3.0.35. SSI being I2S Slave and Codec as I2S Master. in our design audio codec has single Speaker , so we need to play Mono Streams , playing stereo streams makes volume level low, as in stereo stream volume gets divided into two channels (left channel and right channel) and as we can play single stream , volume comes with stereo stream is low.

 

That's why we made changes in Audio Codec driver as follows:

 

struct snd_soc_dai_driver codec_dai[ ] = {

      .playback = {

                    .channels_min = 1,

                    .channels_max =2,

                    ....

                },

     .capture = {

                    .channels_min = 1,

                    .channels_max =2,

                    ....

                },

}

 

When we have channels_min = 1  , when gstreamer queries for hardware capabilities it knows hardware works with mono (channels = 1) as well as stereo (channels = 2) and then it selects Mono , so in that case when we do simultaneous Audio Capture and Playback , after some time we are able to do capture but no playback.

 

To resolve the issue of playback stops in mono after some time , we found , When we make channels_min = 2 , when gstreamer queries for hardware capabilities it knows hardware only works with stereo ( channels min = channels max = 2 ) so it selects stereo , and in that case simultaneous Audio Capture and Playback works fine , but however as we have single speaker we find volume level down.

 

So is there any limitation on SSI that it only supports Stereo streams for simultaneous capture and playback ?

 

Anyone has come across such issue? Please help on this. Any help would be greatly appreciated.

 

Regards,

Vismay

Outcomes