<p dir="ltr"><br>
"Takashi Sakamoto" <<a href="mailto:o-takashi@sakamocchi.jp">o-takashi@sakamocchi.jp</a>> wrote:<br>
><br>
> Hi Alexander,<br>
><br>
><br>
> > This is documented at<br>
> > <a href="http://www.alsa-project.org/alsa-doc/alsa-lib/group___p_c_m.html#ga64fa40b556374dabe40d4874242fee19">http://www.alsa-project.org/alsa-doc/alsa-lib/group___p_c_m.html#ga64fa40b556374dabe40d4874242fee19</a><br>
> ><br>
> > By "forced channel conversion" they mean the "route" ALSA plugin. See<br>
> > how it is done in /usr/share/alsa/cards/ICE1712.conf , which is<br>
> > similar to your use case. Specifically, they try to upscale everything<br>
> > to 10 channels, because this is what this hardware supports directly.<br>
><br>
> Yes, I know. I have no conviction whether it actually effects 'plug' plugin or not. And I don't know PulseAudio always uses it when doing snd_pcm_open().<br>
></p>
<p dir="ltr">AFAIK PulseAudio always uses this flag.</p>
<p dir="ltr">><br>
> > By "forced channel conversion" they mean the "route" ALSA plugin. See<br>
> > how it is done in /usr/share/alsa/cards/ICE1712.conf , which is<br>
> > similar to your use case. Specifically, they try to upscale everything<br>
> > to 10 channels, because this is what this hardware supports directly.<br>
><br>
> Here I have a question because I know little about the devices.<br>
> (I should post this question to alsa-devel but this is good opportunity for me to get information from you.)<br>
><br>
> My drivers, 'snd-fireworks/snd-bebob/snd-oxfw' totally supports 80-90 devices. Each device has different combination between channels/rates.<br>
><br>
> Can I write configuration to cover such variation?</p>
<p dir="ltr">No. I have deleted the table from my reply, but it looks like there are two issues here. First, the needed conversions depend on the sample rate. Second, they vary between models and depend on hardware switches.</p>
<p dir="ltr">I don't know how to solve the first issue. There is a similar situation in the HDMI output case, though, where the total bitrate is constrained depending on the video mode. But then there is a native stereo mode, and no requirement to use as many channels as possible. Is it really true that your hardware accepts two playback channels at 192 kHz, but has no way, at the register level, to accept two playback channels at lower rates?</p>
<p dir="ltr">For the second problem, I think, it is possible (but not necessarily a good idea) to have per-model and maybe per-switch-position configuration files. See how it is done in the cmipci driver (grep for SWIEC, look for the alternative configuration file with SWIEC in the name).</p>
<p dir="ltr">-- <br>
Alexander E. Patrakov<br>
</p>