mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-09 13:29:59 -05:00
alsa: mixer - add support up 8 mixer channels
We have at least one USB hardware which supports the 8 channels in one mixer element: https://github.com/alsa-project/alsa-ucm-conf/pull/25 POSITION_MASK_CHANNELS define was added for the future extensions. The override_map variable was changed from bool to mask (unsigned int). The channel map override settings is handled for channels up to eight now. Also added missing override-map.3 .. override-map.8 to the configuration parser array. The driver channel position was added to the override mask arguments (syntax is driver:pulseaudio like left:all-left). If ommited, the ALSA's channel positions are guessed by index. Link: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/292 Signed-off-by: Jaroslav Kysela <perex@perex.cz> Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/389>
This commit is contained in:
parent
e67af95830
commit
b530aa4681
2 changed files with 103 additions and 21 deletions
|
|
@ -50,6 +50,8 @@ typedef struct pa_alsa_port_data pa_alsa_port_data;
|
|||
#include "alsa-util.h"
|
||||
#include "alsa-ucm.h"
|
||||
|
||||
#define POSITION_MASK_CHANNELS 8
|
||||
|
||||
typedef enum pa_alsa_switch_use {
|
||||
PA_ALSA_SWITCH_IGNORE,
|
||||
PA_ALSA_SWITCH_MUTE, /* make this switch follow mute status */
|
||||
|
|
@ -152,7 +154,7 @@ struct pa_alsa_element {
|
|||
|
||||
long constant_volume;
|
||||
|
||||
bool override_map:1;
|
||||
unsigned int override_map;
|
||||
bool direction_try_other:1;
|
||||
|
||||
bool has_dB:1;
|
||||
|
|
@ -160,7 +162,7 @@ struct pa_alsa_element {
|
|||
long volume_limit; /* -1 for no configured limit */
|
||||
double min_dB, max_dB;
|
||||
|
||||
pa_channel_position_mask_t masks[SND_MIXER_SCHN_LAST + 1][2];
|
||||
pa_channel_position_mask_t masks[SND_MIXER_SCHN_LAST + 1][POSITION_MASK_CHANNELS];
|
||||
unsigned n_channels;
|
||||
|
||||
pa_channel_position_mask_t merged_mask;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue