Commit graph

140 commits

Author SHA1 Message Date
Benjamin Otte
f1479afe49 ext/alsa/gstalsasrc.c: don't use a fixed buffer size when writing variable length data to it. Fixes memory corruption...
Original commit message from CVS:
* ext/alsa/gstalsasrc.c: (gst_alsa_src_loop):
don't use a fixed buffer size when writing variable length data to
it. Fixes memory corruption and makes alsasrc work
2004-05-09 17:25:16 +00:00
Ronald S. Bultje
94d9342dc9 ext/alsa/: Fix alsa oddness in mixer after the combination of using mixer in source/sink elements and using hw:x,y in...
Original commit message from CVS:
* ext/alsa/gstalsa.c: (device_list),
(gst_alsa_class_probe_devices):
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_open):
Fix alsa oddness in mixer after the combination of using mixer
in source/sink elements and using hw:x,y instead of just hw:x.
2004-05-09 00:30:06 +00:00
Benjamin Otte
12ca207b30 ext/alsa/gstalsasink.c: allow discont events before caps nego
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event):
allow discont events before caps nego
2004-05-09 00:02:26 +00:00
Ronald S. Bultje
7fa3cd3b18 ext/alsa/: Make alsasink/src a subclass of alsamixer so that mixer stuff shows up in gst-rec. Needs some finetuning.
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_build_list):
* ext/alsa/gstalsasink.c: (gst_alsa_sink_get_type),
(gst_alsa_sink_class_init):
* ext/alsa/gstalsasink.h:
* ext/alsa/gstalsasrc.c: (gst_alsa_src_get_type),
(gst_alsa_src_class_init):
* ext/alsa/gstalsasrc.h:
Make alsasink/src a subclass of alsamixer so that mixer stuff
shows up in gst-rec. Needs some finetuning.
2004-05-07 04:56:56 +00:00
Colin Walters
d0d062e9ae plug a memleak
Original commit message from CVS:
plug a memleak
2004-04-30 20:57:48 +00:00
Stéphane Loeuillet
a8192d32b3 change alsa pcm device discovery to find more than 1 device per card.
Original commit message from CVS:
change alsa pcm device discovery to find more than 1 device per card.
code review by Ronald.
2004-04-30 01:20:54 +00:00
Ronald S. Bultje
df0008971f ext/alsa/gstalsa.c: Don't probe for playback device if we're a source element. Fixes #139658.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_class_probe_devices):
Don't probe for playback device if we're a source element. Fixes
#139658.
2004-04-29 00:40:14 +00:00
Benjamin Otte
f49d8faa28 ext/alsa/gstalsa.c: handle case better where a soundcard can't pause
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_change_state),
(gst_alsa_close_audio):
handle case better where a soundcard can't pause
* ext/ogg/gstoggdemux.c:
don't crash when we get events but don't have pads yet
2004-04-01 16:34:14 +00:00
David Schleef
8f34965681 ext/alsa/gstalsa.c: Don't fixate fields that aren't in the caps.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_fixate): Don't fixate fields that
aren't in the caps.
* gst/sine/gstsinesrc.c: change rate caps to [1,MAX]
* gst/videocrop/gstvideocrop.c: (plugin_init): Change rank to NONE.
2004-03-30 06:51:31 +00:00
Benjamin Otte
4ae33d8a98 add experimental kiosrc plugin
Original commit message from CVS:
* configure.ac:
* ext/Makefile.am:
* ext/kio/Makefile.am:
* ext/kio/kioreceiver.cpp:
* ext/kio/kioreceiver.h:
* ext/kio/kiosrc.cpp:
* ext/kio/kiosrc.h:
add experimental kiosrc plugin
* ext/alsa/gstalsaplugin.c: (plugin_init):
initialize debugging category only when we're sure registering the
plugins worked.
2004-03-30 02:53:00 +00:00
Benjamin Otte
cb6dd8dbed ext/alsa/gstalsa.*: debugging output fixes
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_open_audio),
(gst_alsa_probe_hw_params):
* ext/alsa/gstalsa.h:
debugging output fixes
2004-03-24 18:48:55 +00:00
Ronald S. Bultje
41182271ed ext/alsa/gstalsa.h: Remove unused entry.
Original commit message from CVS:
* ext/alsa/gstalsa.h:
Remove unused entry.
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
Add cinepak.
* gst/videodrop/gstvideodrop.c: (gst_videodrop_getcaps),
(gst_videodrop_link), (gst_videodrop_chain):
Fix, sort of. Was horribly broken with new capsnego. Bah...
2004-03-24 02:12:30 +00:00
Thomas Vander Stichele
f83cb187de don't mix tabs and spaces
Original commit message from CVS:
don't mix tabs and spaces
2004-03-15 19:32:28 +00:00
Johan Dahlin
1d7bcc7a73 Re-add cardname
Original commit message from CVS:
Re-add cardname
2004-03-15 16:34:26 +00:00
Johan Dahlin
bf07c7cc9b *.h: Revert indenting
Original commit message from CVS:
* *.h: Revert indenting
2004-03-15 16:32:55 +00:00
Thomas Vander Stichele
2622996a82 bad bad ronald, here's the struct member
Original commit message from CVS:
bad bad ronald, here's the struct member
2004-03-15 10:52:49 +00:00
Ronald S. Bultje
e291418a8a ext/alsa/: Don't open the device if we're a mixer (= padless).
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_get_property),
(gst_alsa_open_audio), (gst_alsa_close_audio):
* ext/alsa/gstalsa.c:
Don't open the device if we're a mixer (= padless).
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_class_init),
(gst_alsa_mixer_init), (gst_alsa_mixer_open),
(gst_alsa_mixer_close), (gst_alsa_mixer_change_state):
Open mixer during state change rather than during object
initialization. Also, get a device name. Currently in a somewhat
hackish fashion, but I didn't really find something better.
2004-03-15 06:34:44 +00:00
Thomas Vander Stichele
4df3f18839 gst-indent
Original commit message from CVS:
gst-indent
2004-03-14 22:34:34 +00:00
Jan Schmidt
578c7544fc Only close the device on probe if it succeeded in opening it.
Original commit message from CVS:
Only close the device on probe if it succeeded in opening it.
2004-03-13 06:47:25 +00:00
Ronald S. Bultje
7b7b337d12 ext/alsa/: Fix ancient leftovers... MixerTrack is a GObject.
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_free_list):
* ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_class_init),
(gst_alsa_mixer_track_new):
* ext/alsa/gstalsamixertrack.h:
Fix ancient leftovers... MixerTrack is a GObject.
2004-03-13 05:52:26 +00:00
Ronald S. Bultje
f71358e5bd Don't block during probing...
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_class_probe_devices):
* sys/oss/gstosselement.c: (gst_osselement_class_probe_devices):
Don't block during probing...
2004-03-13 05:38:13 +00:00
Ronald S. Bultje
1be2b9f2bd Remove debug
Original commit message from CVS:
Remove debug
2004-03-13 04:52:26 +00:00
Ronald S. Bultje
23d142d276 ext/alsa/gstalsa.*: Add propertyprobe interface implementation, add some device-name property, all this so that it lo...
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_get_type), (gst_alsa_class_init),
(gst_alsa_get_property), (gst_alsa_probe_get_properties),
(gst_alsa_class_probe_devices), (gst_alsa_class_list_devices),
(gst_alsa_probe_probe_property), (gst_alsa_probe_needs_probe),
(gst_alsa_probe_get_values), (gst_alsa_probe_interface_init),
(gst_alsa_open_audio), (gst_alsa_close_audio):
* ext/alsa/gstalsa.h:
Add propertyprobe interface implementation, add some device-name
property, all this so that it looks good in gnome-volume-control.
2004-03-13 04:44:50 +00:00
David Schleef
ad83c4a0d5 ext/alsa/gstalsa.c: Add fixate function. (bug #135719)
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_request_new_pad),
(gst_alsa_fixate): Add fixate function.  (bug #135719)
* ext/alsa/gstalsa.h:
* ext/alsa/gstalsasink.c: (gst_alsa_sink_init):
2004-03-09 21:29:56 +00:00
Julien Moutte
614d7e3d7d ext/alsa/gstalsa.c: Alsa should trigger an error if it failed opening the audio device.
Original commit message from CVS:
2004-02-16  Julien MOUTTE <julien@moutte.net>

* ext/alsa/gstalsa.c: (gst_alsa_open_audio),
(gst_alsa_timestamp_to_bytes): Alsa should trigger an error if it
failed opening the audio device.
* sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new),
(gst_ximagesink_ximage_destroy), (gst_ximagesink_ximage_put),
(gst_ximagesink_xwindow_new), (gst_ximagesink_xwindow_destroy),
(gst_ximagesink_xwindow_resize), (gst_ximagesink_xwindow_clear),
(gst_ximagesink_renegotiate_size), (gst_ximagesink_handle_xevents),
(gst_ximagesink_xcontext_get), (gst_ximagesink_xcontext_clear),
(gst_ximagesink_change_state), (gst_ximagesink_chain),
(gst_ximagesink_set_xwindow_id): Clearing window in READY TO PAUSED.
Removing some useless g_return_if_fail like wingo suggested.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new),
(gst_xvimagesink_xvimage_destroy), (gst_xvimagesink_xvimage_put),
(gst_xvimagesink_xwindow_new), (gst_xvimagesink_xwindow_destroy),
(gst_xvimagesink_xwindow_resize), (gst_xvimagesink_xwindow_clear),
(gst_xvimagesink_update_colorbalance),
(gst_xvimagesink_handle_xevents), (gst_xvimagesink_xcontext_get),
(gst_xvimagesink_xcontext_clear),
(gst_xvimagesink_get_fourcc_from_caps),
(gst_xvimagesink_change_state), (gst_xvimagesink_chain),
(gst_xvimagesink_set_xwindow_id),
(gst_xvimagesink_colorbalance_list_channels),
(gst_xvimagesink_colorbalance_set_value),
(gst_xvimagesink_colorbalance_get_value): Clearing window in READY TO
PAUSED. Removing some useless g_return_if_fail like wingo suggested.
2004-02-16 16:24:51 +00:00
Benjamin Otte
73a071b77a ext/alsa/gstalsa.*: try xrun recovery when wait failed. Make xrun recovery function return TRUE/FALSE to indicate suc...
Original commit message from CVS:
2004-02-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/alsa/gstalsa.c: (gst_alsa_pcm_wait),
(gst_alsa_xrun_recovery):
* ext/alsa/gstalsa.h:
try xrun recovery when wait failed. Make xrun recovery function
return TRUE/FALSE to indicate success. (might fix #134354)
2004-02-14 09:06:06 +00:00
David Schleef
909cd2b667 try getting it right yet again
Original commit message from CVS:
try getting it right yet again
2004-02-11 23:06:48 +00:00
David Schleef
7476daaef8 oops, messed up last checkin
Original commit message from CVS:
oops, messed up last checkin
2004-02-11 23:05:40 +00:00
David Schleef
f619d30100 ext/alsa/Makefile.am: Fix linking against libgstinterfaces. (bug #133886) Noticed by bugs@leroutier.net (Stephane LO...
Original commit message from CVS:
* ext/alsa/Makefile.am: Fix linking against libgstinterfaces.
(bug #133886)  Noticed by bugs@leroutier.net (Stephane LOEUILLET)
2004-02-11 23:05:00 +00:00
Benjamin Otte
57556a8d93 ext/alsa/gstalsa.c: be sure to stop the clock when going to paused
Original commit message from CVS:
2004-02-05  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/alsa/gstalsa.c: (gst_alsa_change_state):
be sure to stop the clock when going to paused
* sys/oss/gstosssink.c: (gst_osssink_change_state):
reset number of transmitted when going to ready.
fixes #132935

2004-02-05  Charles Schmidt <cschmidt2@emich.edu>

reviewed by Benjamin Otte

* ext/mad/gstid3tag.c: (gst_mad_id3_to_tag_list):
extract track count (fixes #133410)
2004-02-05 00:18:24 +00:00
Thomas Vander Stichele
8336c47f0c change NULL to (NULL) for GST_ELEMENT_ERROR
Original commit message from CVS:
change NULL to (NULL) for GST_ELEMENT_ERROR
Make sure errors end with "."
2004-02-02 17:23:33 +00:00
Benjamin Otte
1646d10b87 ext/alsa/gstalsa.c: really start/stop clock only on PLAYING <=> PAUSED
Original commit message from CVS:
2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/alsa/gstalsa.c: (gst_alsa_change_state), (gst_alsa_start),
(gst_alsa_drain_audio), (gst_alsa_stop_audio):
really start/stop clock only on PLAYING <=> PAUSED
* ext/alsa/gstalsasink.c: (gst_alsa_sink_loop):
remove \n from debugging lines
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain):
make it work when seeking does not
* ext/vorbis/vorbisdec.c: (vorbis_dec_event):
reset on DISCONT
2004-01-31 20:57:21 +00:00
Benjamin Otte
a61dceb24d ext/alsa/gstalsa.c: start clock on PAUSED=>PLAYING, not later
Original commit message from CVS:
2004-01-31  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/alsa/gstalsa.c: (gst_alsa_change_state), (gst_alsa_start):
start clock on PAUSED=>PLAYING, not later
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event):
extract correct time for different discont formats
(gst_alsa_sink_get_time):
don't segfault when no format is negotiated yet, just return 0
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_event),
(gst_ogg_demux_handle_event), (gst_ogg_demux_push),
(gst_ogg_pad_push):
handle flush and discont events correctly
* ext/vorbis/vorbisdec.c: (vorbis_dec_event), (vorbis_dec_chain):
handle discont events correctly
2004-01-31 17:19:21 +00:00
Thomas Vander Stichele
03caa97b73 GST_ELEMENT_ERROR
Original commit message from CVS:
GST_ELEMENT_ERROR
2004-01-29 23:20:45 +00:00
Benjamin Otte
ead37dc249 ext/alsa/gstalsa.c: use gst_element_get_time to get correct time
Original commit message from CVS:
2004-01-28  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/alsa/gstalsa.c: (gst_alsa_query_func):
use gst_element_get_time to get correct time
2004-01-28 05:21:23 +00:00
Thomas Vander Stichele
b95a710d41 use new error signal and classification
Original commit message from CVS:
use new error signal and classification
2004-01-18 21:46:58 +00:00
Scott Wheeler
1c2fe90b01 Build with GCC 2.95 (i.e. pre-C99)
Original commit message from CVS:
Build with GCC 2.95 (i.e. pre-C99)
2004-01-18 01:05:42 +00:00
Julien Moutte
9aa32817d9 ext/alsa/gstalsamixer.c: Setting mixer interface type to HARDWARE.
Original commit message from CVS:
2004-01-15  Julien MOUTTE <julien@moutte.net>

* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_interface_init): Setting
mixer interface type to HARDWARE.
* gst-libs/gst/mixer/mixer.c: (gst_mixer_class_init): Adding a default
type to SOFTWARE.
* gst-libs/gst/mixer/mixer.h: Adding mixer interface type and macro.
* gst-libs/gst/mixer/mixertrack.h: Adding mixertrack flag SOFTWARE.
* gst/volume/gstvolume.c: (gst_volume_interface_supported),
(gst_volume_interface_init), (gst_volume_list_tracks),
(gst_volume_set_volume), (gst_volume_get_volume),
(gst_volume_set_mute), (gst_volume_mixer_init),
(gst_volume_dispose), (gst_volume_get_type), (volume_class_init),
(volume_init): Implementing mixer interface.
* gst/volume/gstvolume.h: Adding tracklist for mixer interface.
* sys/oss/gstosselement.c: (gst_osselement_get_type),
(gst_osselement_change_state): Removing some trailing commas in
structures.
* sys/oss/gstossmixer.c: (gst_ossmixer_interface_init): Setting mixer
interface type to HARDWARE.
* sys/v4l/gstv4lcolorbalance.c:
(gst_v4l_color_balance_interface_init): Setting colorbalance interface
type to HARDWARE.
* sys/v4l2/gstv4l2colorbalance.c:
(gst_v4l2_color_balance_interface_init): Setting colorbalance
interface type to HARDWARE.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain): use exactly the
same code than ximagesink for event handling.
2004-01-15 15:50:10 +00:00
Benjamin Otte
fa5fc659ad ext/alsa/gstalsasink.c: Don't update the time of the clock sync to the clock given to alsasink, not the own clock
Original commit message from CVS:
2004-01-15  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event):
Don't update the time of the clock
(gst_alsa_sink_loop):
sync to the clock given to alsasink, not the own clock
* sys/oss/gstosssink.c: (gst_osssink_chain):
sync to the clock
(gst_osssink_change_state):
activate the clock
* sys/ximage/ximagesink.c: (gst_ximagesink_chain):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain):
remove bogus code that made DISCONT events unhandled
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_video_caps):
explicitly case to double in _set_simple. (fixes 2nd warning in bug
#131502)
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_read_object_header),
(gst_asf_demux_handle_sink_event), (gst_asf_demux_audio_caps),
(gst_asf_demux_add_audio_stream), (gst_asf_demux_video_caps):
convert g_warning because of wrong asf data to GST_WARNINGs (fixes
2nd warning in bug #131502)
2004-01-15 02:14:54 +00:00
Benjamin Otte
3a64b7c99f use element time.
Original commit message from CVS:
2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/aalib/gstaasink.c: (gst_aasink_chain):
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event):
* ext/esd/esdsink.c: (gst_esdsink_chain):
* ext/libcaca/gstcacasink.c: (gst_cacasink_chain):
* ext/mas/massink.c: (gst_massink_chain):
* ext/sdl/sdlvideosink.c: (gst_sdlvideosink_chain):
* gst/matroska/matroska-demux.c: (gst_matroska_demux_parse_index),
(gst_matroska_demux_parse_metadata):
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_loop),
(gst_mpeg_parse_release_locks):
* gst/tcp/gsttcpsink.c: (gst_tcpsink_chain):
* gst/udp/gstudpsink.c: (gst_udpsink_chain):
* gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get):
* sys/oss/gstosssink.c: (gst_osssink_init), (gst_osssink_chain),
(gst_osssink_change_state):
* sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_chain):
* sys/ximage/ximagesink.c: (gst_ximagesink_chain):
* sys/xvideo/xvideosink.c: (gst_xvideosink_chain),
(gst_xvideosink_release_locks):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain):
use element time.
* ext/alsa/gstalsaclock.c: (gst_alsa_clock_start),
(gst_alsa_clock_stop):
* gst-libs/gst/audio/audioclock.c: (gst_audio_clock_set_active),
(gst_audio_clock_get_internal_time):
simplify for use with new clocking code.
* testsuite/alsa/Makefile.am:
* testsuite/alsa/sinesrc.c: (sinesrc_init), (sinesrc_force_caps):
fix testsuite for new caps system
2004-01-14 00:53:52 +00:00
David Schleef
37d7aecdb6 Remove all usage of gst_pad_get_caps(), and replace it with gst_pad_get_allowed_caps() or gst_pad_get_negotiated_cap().
Original commit message from CVS:
Remove all usage of gst_pad_get_caps(), and replace it with
gst_pad_get_allowed_caps() or gst_pad_get_negotiated_cap().
2004-01-12 03:40:18 +00:00
Ronald S. Bultje
a22237f480 ext/alsa/gstalsamixer.c: Correct logic of dispose function (see #129306).
Original commit message from CVS:
2004-01-03  Thomas Canty <tommydal@optushome.com.au>

reviewed by: Ronald Bultje  <rbultje@ronald.bitfreak.net>

* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_dispose):
Correct logic of dispose function (see #129306).
2004-01-03 13:09:21 +00:00
Thomas Vander Stichele
738e334db2 fix Company's dist breaking
Original commit message from CVS:
fix Company's dist breaking
2004-01-03 10:03:56 +00:00
David Schleef
532c5eea39 ext/alsa/gstalsasrc.c: Remove bogus "src" request pad.
Original commit message from CVS:
* ext/alsa/gstalsasrc.c: (gst_alsa_src_pad_factory),
(gst_alsa_src_base_init): Remove bogus "src" request pad.
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_base_init),
(gst_mpeg_parse_class_init): Move pad template registration
to class_init, since the derived class (mpegdemux) doesn't
want them.
2004-01-03 01:27:31 +00:00
Benjamin Otte
fc3ec1a0f1 ext/alsa/README: Remove outdated document
Original commit message from CVS:
2004-01-02  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/alsa/README:
Remove outdated document
2004-01-02 17:28:56 +00:00
Benjamin Otte
977bb1105e ext/alsa/gstalsa.c: Don't send ALSA debugging to stderr.
Original commit message from CVS:
2003-12-27  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/alsa/gstalsa.c: (gst_alsa_open_audio):
Don't send ALSA debugging to stderr.
* ext/alsa/gstalsa.h:
Use GST_WARNING instead of g_warning when ALSA functions fail.
2003-12-27 17:19:29 +00:00
Benjamin Otte
d71b6b803a ext/alsa/gstalsa.c: Fix remaining caps handling errors due to CAPS merge.
Original commit message from CVS:
2003-12-22  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/alsa/gstalsa.c: (gst_alsa_get_caps), (gst_alsa_link):
Fix remaining caps handling errors due to CAPS merge.
2003-12-22 16:38:00 +00:00
David Schleef
3b60021408 Merge CAPS branch
Original commit message from CVS:
Merge CAPS branch
2003-12-22 01:47:09 +00:00
Iain Holmes
d1537b9c5c Fix the GstInterface -> GstImplementsInterface changes
Original commit message from CVS:
Fix the GstInterface -> GstImplementsInterface changes
2003-12-07 14:03:31 +00:00
Leif Johnson
ba2b9bd9d1 + got the alsa mixer implementation to work !
Original commit message from CVS:
+ got the alsa mixer implementation to work !
2003-12-06 00:02:20 +00:00