gstreamer/ext/alsa
Antoine Tremblay fc23037a9a alsamixer: Fix race condition that made alsamixer not working properly
This is due to race conditions between functions that
modified the mixer like set_volume and
snd_mixer_handle_events since the handle_events
can now be called at any time.

Fixed by adding locking around any snd_mixer call
since even read functions can modify the mixer stucture, since
alsa likes to clear it's values before reading new ones.

The favorite race condition seemed to be that set_volume
called read_elem (in alsalib) that reset the volumes to
0 and then read them with read_x_volume. This read looped
on each channel and as the race condition occured the
channels value could be anything , most of the time
it was 0. Thus no value was read or only the value of
one channel was and the volume was reset to 0.

Fixes bug #478512.
2009-02-10 11:00:12 +01:00
..
gstalsa.c ext/alsa/gstalsa.c: Probe for IEC958 pcm to detect if we can do SPDIF output. 2008-02-29 18:44:36 +00:00
gstalsa.h ext/alsa/gstalsa.c: Probe for IEC958 pcm to detect if we can do SPDIF output. 2008-02-29 18:44:36 +00:00
gstalsadeviceprobe.c ext/alsa/gstalsadeviceprobe.c: Don't return before freeing up the allocated structures. 2008-04-24 09:27:35 +00:00
gstalsadeviceprobe.h ext/alsa/: Clean up and simplify alsa device probing. Make it actually work for multiple classes. Don't cache results... 2006-05-18 17:19:39 +00:00
gstalsamixer.c alsamixer: Fix race condition that made alsamixer not working properly 2009-02-10 11:00:12 +01:00
gstalsamixer.h Fixes: #152864 2007-07-21 09:21:12 +00:00
gstalsamixerelement.c Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use static strings (i.e. all). This gives us less memory u... 2008-03-22 15:00:53 +00:00
gstalsamixerelement.h Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass 2006-06-01 19:19:51 +00:00
gstalsamixeroptions.c gst-libs/gst/interfaces/mixertrack.c: API: Add "index" property to GstMixerTrack to differantiate between multiple mi... 2008-06-26 06:03:38 +00:00
gstalsamixeroptions.h Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass 2006-06-01 19:19:51 +00:00
gstalsamixertrack.c gst-libs/gst/interfaces/mixertrack.c: API: Add "index" property to GstMixerTrack to differantiate between multiple mi... 2008-06-26 06:03:38 +00:00
gstalsamixertrack.h ext/alsa/: Improve and fix mixer track handling, in particular better handling of alsa's pvolume/pswitch/cvolume/cswi... 2006-08-29 11:50:51 +00:00
gstalsaplugin.c Make sure gettext returns translations in UTF-8 encoding rather than in the current locale encoding (#546822). 2008-08-07 15:58:58 +00:00
gstalsasink.c Improve debug message 2009-01-23 11:23:09 +01:00
gstalsasink.h ext/alsa/gstalsa.c: Probe for IEC958 pcm to detect if we can do SPDIF output. 2008-02-29 18:44:36 +00:00
gstalsasrc.c Cleanup Plugin docs. Link to signals and properties. Fix sub-section titles. Drop mentining that all our example pipe... 2008-07-10 21:06:06 +00:00
gstalsasrc.h ext/alsa/gstalsasink.*: Remove unused dispose function. 2007-03-01 16:48:45 +00:00
Makefile.am Don't install static libs for plugins. Fixes #550851 for base. 2008-10-16 15:07:00 +00:00