ext/alsa/gstalsamixer.c: If there's no mixer track by the name of 'Master' or 'Front', check if there's one called 'P...

Original commit message from CVS:
Patch by: Jerone Young <jerone at gmail com>
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_find_master_mixer):
If there's no mixer track by the name of 'Master' or 'Front',
check if there's one called 'PCM' before trying the generic
fallback logic (fixes #506928, where we pick 'Mic' as master
track for the AD1984 card in a Thinkpad T61/X61 laptop).
This commit is contained in:
Jerone Young 2008-01-07 13:19:50 +00:00 committed by Tim-Philipp Müller
parent 9c9f60777a
commit 06b3dec499
2 changed files with 20 additions and 0 deletions

View file

@ -1,3 +1,13 @@
2008-01-07 Tim-Philipp Müller <tim at centricular dot net>
Patch by: Jerone Young <jerone at gmail com>
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_find_master_mixer):
If there's no mixer track by the name of 'Master' or 'Front',
check if there's one called 'PCM' before trying the generic
fallback logic (fixes #506928, where we pick 'Mic' as master
track for the AD1984 card in a Thinkpad T61/X61 laptop).
2008-01-07 Wim Taymans <wim.taymans@collabora.co.uk>
* gst/playback/gstplay-enum.c:

View file

@ -155,6 +155,16 @@ gst_alsa_mixer_find_master_mixer (GstAlsaMixer * mixer, snd_mixer_t * handle)
element = snd_mixer_elem_next (element);
}
/* If not, check if we have a playback mixer labelled as 'PCM' */
element = snd_mixer_first_elem (handle);
for (i = 0; i < count; i++) {
if (snd_mixer_selem_has_playback_volume (element) &&
strcmp (snd_mixer_selem_get_name (element), "PCM") == 0) {
return element;
}
element = snd_mixer_elem_next (element);
}
/* If not, check if we have a playback mixer with both volume and switch */
element = snd_mixer_first_elem (handle);
for (i = 0; i < count; i++) {