* USB-Audio.conf routing and dmix
@ 2015-05-09 0:20 sylvain.bertrand
2015-05-11 19:57 ` sylvain.bertrand
2015-05-15 8:13 ` Raymond Yau
0 siblings, 2 replies; 9+ messages in thread
From: sylvain.bertrand @ 2015-05-09 0:20 UTC (permalink / raw)
To: alsa-devel
Hi,
I have a bose USB audio 5.1 device, a generic USB audio device.
I noticed that the proper channels routing was missing from the default generic
USB pcm, but dmix was used. And for the surround pcms I noticed it was the
other way around!
I did modify the default pcm to include a routing plugin. I put 8 channels in
the routing plugin. I guess the proper way would be to detect the hw card
number of channels and select a route plugin configuration with the correct
count of channels (maybe their is a function to get that info?).
I linked the surround51 and surround71 pcms with the 'disable-able' dmix
section from the default pcm.
I did not touch the surround40* pcms, surround pcms which are specific to some
cards and the iec958 ones.
http://filebin.ca/214UTT8fBnUm/USB-Audio.conf
regards,
--
Sylvain BERTRAND
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: USB-Audio.conf routing and dmix
2015-05-09 0:20 USB-Audio.conf routing and dmix sylvain.bertrand
@ 2015-05-11 19:57 ` sylvain.bertrand
2015-05-13 9:24 ` Clemens Ladisch
2015-05-15 8:13 ` Raymond Yau
1 sibling, 1 reply; 9+ messages in thread
From: sylvain.bertrand @ 2015-05-11 19:57 UTC (permalink / raw)
To: alsa-devel
On Sat, May 09, 2015 at 12:20:17AM +0000, sylvain.bertrand@gmail.com wrote:
> Hi,
>
> I have a bose USB audio 5.1 device, a generic USB audio device.
>
> I noticed that the proper channels routing was missing from the default generic
> USB pcm, but dmix was used. And for the surround pcms I noticed it was the
> other way around!
>
> I did modify the default pcm to include a routing plugin. I put 8 channels in
> the routing plugin. I guess the proper way would be to detect the hw card
> number of channels and select a route plugin configuration with the correct
> count of channels (maybe their is a function to get that info?).
>
> I linked the surround51 and surround71 pcms with the 'disable-able' dmix
> section from the default pcm.
>
> I did not touch the surround40* pcms, surround pcms which are specific to some
> cards and the iec958 ones.
>
> http://filebin.ca/214UTT8fBnUm/USB-Audio.conf
did I post on the right mailing list for alsa-lib default configuration improvment?
--
Sylvain
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: USB-Audio.conf routing and dmix
2015-05-11 19:57 ` sylvain.bertrand
@ 2015-05-13 9:24 ` Clemens Ladisch
2015-05-13 11:32 ` sylvain.bertrand
0 siblings, 1 reply; 9+ messages in thread
From: Clemens Ladisch @ 2015-05-13 9:24 UTC (permalink / raw)
To: sylvain.bertrand, alsa-devel
sylvain.bertrand@gmail.com wrote:
> did I post on the right mailing list for alsa-lib default configuration improvment?
Yes.
>> I noticed that the proper channels routing was missing from the default generic
>> USB pcm
The "default" device is supposed to have two channels.
>> I guess the proper way would be to detect the hw card number of
>> channels and select a route plugin configuration with the correct
>> count of channels (maybe their is a function to get that info?).
The number of channels can depend on other factors.
>> I linked the surround51 and surround71 pcms with the 'disable-able' dmix
>> section from the default pcm.
These devices are not supposed to use plug or dmix.
Regards,
Clemens
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: USB-Audio.conf routing and dmix
2015-05-13 9:24 ` Clemens Ladisch
@ 2015-05-13 11:32 ` sylvain.bertrand
2015-05-15 2:07 ` sylvain.bertrand
0 siblings, 1 reply; 9+ messages in thread
From: sylvain.bertrand @ 2015-05-13 11:32 UTC (permalink / raw)
To: Clemens Ladisch; +Cc: alsa-devel
On Wed, May 13, 2015 at 11:24:32AM +0200, Clemens Ladisch wrote:
>>> I linked the surround51 and surround71 pcms with the 'disable-able' dmix
>>> section from the default pcm.
>
> These devices are not supposed to use plug or dmix.
Ok. Then, there is no pcm to output 5.1 sound with dmix.
Does it mean that the application is in charge to build a alsa-lib pipeline
with dmix pcm and surround51 pcm, in order to let other applications output 5.1
sound at the same time?
regards,
--
Sylvain
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: USB-Audio.conf routing and dmix
2015-05-13 11:32 ` sylvain.bertrand
@ 2015-05-15 2:07 ` sylvain.bertrand
2015-05-15 5:53 ` Alexander E. Patrakov
0 siblings, 1 reply; 9+ messages in thread
From: sylvain.bertrand @ 2015-05-15 2:07 UTC (permalink / raw)
To: Clemens Ladisch; +Cc: alsa-devel
On Wed, May 13, 2015 at 11:32:15AM +0000, sylvain.bertrand@gmail.com wrote:
> On Wed, May 13, 2015 at 11:24:32AM +0200, Clemens Ladisch wrote:
> >>> I linked the surround51 and surround71 pcms with the 'disable-able' dmix
> >>> section from the default pcm.
> >
> > These devices are not supposed to use plug or dmix.
>
> Ok. Then, there is no pcm to output 5.1 sound with dmix.
>
> Does it mean that the application is in charge to build a alsa-lib pipeline
> with dmix pcm and surround51 pcm, in order to let other applications output 5.1
> sound at the same time?
Then what is the "Right"(tm) way to do that?
--
Sylvain
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: USB-Audio.conf routing and dmix
2015-05-15 2:07 ` sylvain.bertrand
@ 2015-05-15 5:53 ` Alexander E. Patrakov
2015-05-15 5:58 ` Alexander E. Patrakov
0 siblings, 1 reply; 9+ messages in thread
From: Alexander E. Patrakov @ 2015-05-15 5:53 UTC (permalink / raw)
To: sylvain.bertrand, Clemens Ladisch; +Cc: alsa-devel
15.05.2015 07:07, sylvain.bertrand@gmail.com wrote:
> On Wed, May 13, 2015 at 11:32:15AM +0000, sylvain.bertrand@gmail.com wrote:
>> On Wed, May 13, 2015 at 11:24:32AM +0200, Clemens Ladisch wrote:
>>>>> I linked the surround51 and surround71 pcms with the 'disable-able' dmix
>>>>> section from the default pcm.
>>>
>>> These devices are not supposed to use plug or dmix.
>>
>> Ok. Then, there is no pcm to output 5.1 sound with dmix.
>>
>> Does it mean that the application is in charge to build a alsa-lib pipeline
>> with dmix pcm and surround51 pcm, in order to let other applications output 5.1
>> sound at the same time?
>
> Then what is the "Right"(tm) way to do that?
>
[this is my personal opinion, in no way official]
The right way seems to be to use PulseAudio. Pure ALSA, in its default
configuration, just does not support mixing 5.1 audio, on any card. This
default cannot really be changed, because there are many people who use
5.1 cards for output to stereo headphones only, i.e. who need automatic
downmixing if an app (such as VLC) starts a 5.1 stream. The default
plug/dmix setup provides such downmixing.
Those who actually have a 5.1 system and need to opt out of this
downmixing must actively do it (both with ALSA and with PulseAudio). For
PulseAudio, it is as simple as starting pavucontrol and selecting a 5.1
output profile for the relevant card. For ALSA, a config has to be
created from scratch. On some cards, the config suggested by mpv
developers works:
https://github.com/mpv-player/mpv/wiki/ALSA:-Surround-Sound-and-Upmixing
As an application developer, just tell your users "your default device
needs to support 5.1, see you there", as mpv developers did. This will
be the case either with PulseAudio or with a hacked .asoundrc.
OTOH, I will be happy to review a patch that makes the dmix channel
count configurable on a per-card basis in .asoundrs in a way similar to
the rate. But that's hard - you will have to change all card configs,
and implement some conditional blocks because some cards expose
themselves as several stereo devices, so you want a multi plugin on
several instances of dmix then.
--
Alexander E. Patrakov
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: USB-Audio.conf routing and dmix
2015-05-15 5:53 ` Alexander E. Patrakov
@ 2015-05-15 5:58 ` Alexander E. Patrakov
0 siblings, 0 replies; 9+ messages in thread
From: Alexander E. Patrakov @ 2015-05-15 5:58 UTC (permalink / raw)
To: sylvain.bertrand, Clemens Ladisch; +Cc: alsa-devel
15.05.2015 10:53, Alexander E. Patrakov wrote:
> 15.05.2015 07:07, sylvain.bertrand@gmail.com wrote:
>> On Wed, May 13, 2015 at 11:32:15AM +0000, sylvain.bertrand@gmail.com
>> wrote:
>>> On Wed, May 13, 2015 at 11:24:32AM +0200, Clemens Ladisch wrote:
>>>>>> I linked the surround51 and surround71 pcms with the
>>>>>> 'disable-able' dmix
>>>>>> section from the default pcm.
>>>>
>>>> These devices are not supposed to use plug or dmix.
>>>
>>> Ok. Then, there is no pcm to output 5.1 sound with dmix.
>>>
>>> Does it mean that the application is in charge to build a alsa-lib
>>> pipeline
>>> with dmix pcm and surround51 pcm, in order to let other applications
>>> output 5.1
>>> sound at the same time?
>>
>> Then what is the "Right"(tm) way to do that?
>>
>
> [this is my personal opinion, in no way official]
>
> The right way seems to be to use PulseAudio. Pure ALSA, in its default
> configuration, just does not support mixing 5.1 audio, on any card. This
> default cannot really be changed, because there are many people who use
> 5.1 cards for output to stereo headphones only, i.e. who need automatic
> downmixing if an app (such as VLC) starts a 5.1 stream. The default
> plug/dmix setup provides such downmixing.
I need to test things before posting. This is wrong, plug/dmix does not
include the extra channels in the stereo mix.
> As an application developer, just tell your users "your default device
> needs to support 5.1, see you there", as mpv developers did. This will
> be the case either with PulseAudio or with a hacked .asoundrc.
This is still my position.
--
Alexander E. Patrakov
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: USB-Audio.conf routing and dmix
2015-05-09 0:20 USB-Audio.conf routing and dmix sylvain.bertrand
2015-05-11 19:57 ` sylvain.bertrand
@ 2015-05-15 8:13 ` Raymond Yau
2015-05-15 13:16 ` sylvain.bertrand
1 sibling, 1 reply; 9+ messages in thread
From: Raymond Yau @ 2015-05-15 8:13 UTC (permalink / raw)
To: sylvain.bertrand; +Cc: ALSA Development Mailing List
>
> I have a bose USB audio 5.1 device, a generic USB audio device.
>
> I noticed that the proper channels routing was missing from the default
generic
> USB pcm, but dmix was used. And for the surround pcms I noticed it was the
> other way around!
>
> I did modify the default pcm to include a routing plugin. I put 8
channels in
> the routing plugin. I guess the proper way would be to detect the hw card
> number of channels and select a route plugin configuration with the
correct
> count of channels (maybe their is a function to get that info?).
>
> I linked the surround51 and surround71 pcms with the 'disable-able' dmix
> section from the default pcm.
>
> I did not touch the surround40* pcms, surround pcms which are specific to
some
> cards and the iec958 ones.
>
> http://filebin.ca/214UTT8fBnUm/USB-Audio.conf
>
>
Post the output of your usb audio
lsusb -vvvv
Most likely your usb audio device does not support stereo
Post output of alsa-info.sh
Pulseaudio don't support if your volume control have more than two channels
http://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/src/modules/alsa?id=527078523815587bfd021bc1d10782403e9b3e84
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: USB-Audio.conf routing and dmix
2015-05-15 8:13 ` Raymond Yau
@ 2015-05-15 13:16 ` sylvain.bertrand
0 siblings, 0 replies; 9+ messages in thread
From: sylvain.bertrand @ 2015-05-15 13:16 UTC (permalink / raw)
To: Raymond Yau; +Cc: ALSA Development Mailing List
My USB audio does work fine. The only thing: apps cannot output at the same
time 5.1 on that device. (stereo goes through dmix by default so it's fine).
Why does alsa-lib limit dmix/plug usage to stereo only? Is there a good reason?
--
Sylvain
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2015-05-15 13:16 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-09 0:20 USB-Audio.conf routing and dmix sylvain.bertrand
2015-05-11 19:57 ` sylvain.bertrand
2015-05-13 9:24 ` Clemens Ladisch
2015-05-13 11:32 ` sylvain.bertrand
2015-05-15 2:07 ` sylvain.bertrand
2015-05-15 5:53 ` Alexander E. Patrakov
2015-05-15 5:58 ` Alexander E. Patrakov
2015-05-15 8:13 ` Raymond Yau
2015-05-15 13:16 ` sylvain.bertrand
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox