Commit graph

45 commits

Author SHA1 Message Date
Tim-Philipp Müller
9938003bd1 alsamixer: don't forget to release locks in a few places
Might fix #576585.
2009-04-02 10:44:25 +01:00
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
Stefan Kost
2b33c755b6 Cleanup Plugin docs. Link to signals and properties. Fix sub-section titles. Drop mentining that all our example pipe...
Original commit message from CVS:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-overrides.txt:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* docs/plugins/gst-plugins-base-plugins.args:
* docs/plugins/gst-plugins-base-plugins.hierarchy:
* docs/plugins/gst-plugins-base-plugins.interfaces:
* docs/plugins/gst-plugins-base-plugins.prerequisites:
* docs/plugins/gst-plugins-base-plugins.signals:
* docs/plugins/inspect/plugin-adder.xml:
* docs/plugins/inspect/plugin-alsa.xml:
* docs/plugins/inspect/plugin-audioconvert.xml:
* docs/plugins/inspect/plugin-audiorate.xml:
* docs/plugins/inspect/plugin-audioresample.xml:
* docs/plugins/inspect/plugin-audiotestsrc.xml:
* docs/plugins/inspect/plugin-cdparanoia.xml:
* docs/plugins/inspect/plugin-decodebin.xml:
* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
* docs/plugins/inspect/plugin-gdp.xml:
* docs/plugins/inspect/plugin-gnomevfs.xml:
* docs/plugins/inspect/plugin-libvisual.xml:
* docs/plugins/inspect/plugin-ogg.xml:
* docs/plugins/inspect/plugin-pango.xml:
* docs/plugins/inspect/plugin-playback.xml:
* docs/plugins/inspect/plugin-queue2.xml:
* docs/plugins/inspect/plugin-subparse.xml:
* docs/plugins/inspect/plugin-tcp.xml:
* docs/plugins/inspect/plugin-theora.xml:
* docs/plugins/inspect/plugin-typefindfunctions.xml:
* docs/plugins/inspect/plugin-uridecodebin.xml:
* docs/plugins/inspect/plugin-video4linux.xml:
* docs/plugins/inspect/plugin-videorate.xml:
* docs/plugins/inspect/plugin-videoscale.xml:
* docs/plugins/inspect/plugin-videotestsrc.xml:
* docs/plugins/inspect/plugin-volume.xml:
* docs/plugins/inspect/plugin-vorbis.xml:
* docs/plugins/inspect/plugin-ximagesink.xml:
* docs/plugins/inspect/plugin-xvimagesink.xml:
* ext/alsa/gstalsamixer.c:
* ext/alsa/gstalsasink.c:
* ext/alsa/gstalsasrc.c:
* ext/gio/gstgiosink.c:
* ext/gio/gstgiosrc.c:
* ext/gio/gstgiostreamsink.c:
* ext/gio/gstgiostreamsrc.c:
* ext/gnomevfs/gstgnomevfssink.c:
* ext/gnomevfs/gstgnomevfssrc.c:
* ext/ogg/gstoggdemux.c:
* ext/ogg/gstoggmux.c:
* ext/pango/gstclockoverlay.c:
* ext/pango/gsttextoverlay.c:
* ext/pango/gsttextrender.c:
* ext/pango/gsttimeoverlay.c:
* ext/theora/theoradec.c:
* ext/theora/theoraenc.c:
* ext/theora/theoraparse.c:
* ext/vorbis/vorbisdec.c:
* ext/vorbis/vorbisenc.c:
* ext/vorbis/vorbisparse.c:
* ext/vorbis/vorbistag.c:
* gst/adder/gstadder.c:
* gst/audioconvert/gstaudioconvert.c:
* gst/audioresample/gstaudioresample.c:
* gst/audiotestsrc/gstaudiotestsrc.c:
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
* gst/gdp/gstgdpdepay.c:
* gst/gdp/gstgdppay.c:
* gst/playback/gstdecodebin2.c:
* gst/playback/gstplaybin.c:
* gst/playback/gstplaybin2.c:
* gst/playback/gstqueue2.c:
* gst/playback/gsturidecodebin.c:
* gst/tcp/gstmultifdsink.c:
* gst/tcp/gsttcpserversink.c:
* gst/videorate/gstvideorate.c:
* gst/videoscale/gstvideoscale.c:
* gst/videotestsrc/gstvideotestsrc.c:
* gst/volume/gstvolume.c:
* sys/ximage/ximagesink.c:
* sys/xvimage/xvimagesink.c:
Cleanup Plugin docs. Link to signals and properties. Fix sub-section
titles. Drop mentining that all our example pipelines are "simple"
pipelines.
2008-07-10 21:06:06 +00:00
Stefan Kost
1834a009a1 ext/alsa/gstalsamixer.c: Also consider "speaker" as a name for master volume. If that doesn't help look for the first...
Original commit message from CVS:
* ext/alsa/gstalsamixer.c:
Also consider "speaker" as a name for master volume. If that doesn't
help look for the first non-mono volume control that also has a
playback switch.
2008-06-24 16:15:26 +00:00
Bastien Nocera
97456dac3d ext/alsa/gstalsamixer.c: Use snd_mixer_selem_set_{playback|capture}_volume_all() if the volume is the same for all ch...
Original commit message from CVS:
Patch by: Bastien Nocera <hadess at hadess net>
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_get_volume),
(check_if_volumes_are_the_same), (gst_alsa_mixer_set_volume):
Use snd_mixer_selem_set_{playback|capture}_volume_all() if
the volume is the same for all channels. This works around
some problem in alsa that leaves us with inconsistent state
for some reason (#486840).
2008-01-07 13:59:43 +00:00
Jerone Young
06b3dec499 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).
2008-01-07 13:19:50 +00:00
David Schleef
1beb98e6dc ext/alsa/: Change alsa alloca's to malloc to fix warnings on gcc-4.2.
Original commit message from CVS:
* ext/alsa/gstalsa.c:
* ext/alsa/gstalsadeviceprobe.c:
* ext/alsa/gstalsamixer.c:
* ext/alsa/gstalsasink.c:
* ext/alsa/gstalsasrc.c:
Change alsa alloca's to malloc to fix warnings on gcc-4.2.
2007-09-16 01:56:21 +00:00
Marc-Andre Lureau
c161e29307 Fixes: #152864
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* ext/alsa/gstalsamixer.c:
* ext/alsa/gstalsamixer.h:
* ext/alsa/gstalsamixerelement.c:
* ext/alsa/gstalsamixertrack.c:
* gst-libs/gst/interfaces/mixer.c:
* gst-libs/gst/interfaces/mixer.h:
* gst-libs/gst/interfaces/mixeroptions.c:
* gst-libs/gst/interfaces/mixeroptions.h:
* gst-libs/gst/interfaces/mixertrack.c:
* gst-libs/gst/interfaces/mixertrack.h:
* tests/check/Makefile.am:
* tests/check/libs/mixer.c:
Patch By: Marc-Andre Lureau <marcandre.lureau@gmail.com>
Fixes: #152864
Add support for notifying mixer changes on the message bus, and
implement it in alsamixer.
API: gst_mixer_get_mixer_flags
API: gst_mixer_message_parse_mute_toggled
API: gst_mixer_message_parse_record_toggled
API: gst_mixer_message_parse_volume_changed
API: gst_mixer_message_parse_option_changed
API: GstMixerMessageType
API: GstMixerFlags
2007-07-21 09:21:12 +00:00
Jan Schmidt
588bc09c33 Revert commits towards #152864 made so far. We'll pick it up again after the 0.10.13 release.
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_ensure_track_list),
(gst_alsa_mixer_free), (gst_alsa_mixer_update),
(gst_alsa_mixer_get_volume), (gst_alsa_mixer_set_volume),
(gst_alsa_mixer_set_mute), (gst_alsa_mixer_set_record),
(gst_alsa_mixer_set_option), (gst_alsa_mixer_get_option):
* ext/alsa/gstalsamixer.h:
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_interface_supported),
(gst_alsa_mixer_element_finalize), (gst_alsa_mixer_element_init),
(gst_alsa_mixer_element_set_property),
(gst_alsa_mixer_element_get_property),
(gst_alsa_mixer_element_change_state):
* ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_update):
* gst-libs/gst/interfaces/mixer.c: (gst_mixer_volume_changed),
(gst_mixer_option_changed):
* gst-libs/gst/interfaces/mixer.h:
Revert commits towards #152864 made so far. We'll pick it up again
after the 0.10.13 release.
2007-05-25 10:07:26 +00:00
Stefan Kost
38da64193b ext/alsa/gstalsamixer.c (source, n_poll_fds, poll_fds, gst_alsa_mixer_check, gst_alsa_mixer_dispatch, gst_alsa_mixer_...
Original commit message from CVS:
* ext/alsa/gstalsamixer.c (source, n_poll_fds, poll_fds,
gst_alsa_mixer_check, gst_alsa_mixer_dispatch,
gst_alsa_mixer_finalize, gst_alsa_mixer_handle_source_callback,
gst_alsa_mixer_handle_callback, gst_alsa_mixer_elem_handle_callback,
gst_alsa_mixer_ensure_track_list, gst_alsa_mixer_update_option,
gst_alsa_mixer_update_track):
Apply some of the cleanup Tim suggested in #152864 afterwards.
2007-05-15 15:29:17 +00:00
Marc-Andre Lureau
f2df2a6948 ext/alsa/gstalsamixer.c (main_context, GstAlsaMixerWatch, _GstAlsaMixerWatch, source, n_poll_fds, poll_fds, gst_alsa_...
Original commit message from CVS:
patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
* ext/alsa/gstalsamixer.c (main_context, GstAlsaMixerWatch,
_GstAlsaMixerWatch, source, n_poll_fds, poll_fds,
gst_alsa_mixer_watch_funcs, gst_alsa_mixer_prepare,
gst_alsa_mixer_check, gst_alsa_mixer_dispatch,
gst_alsa_mixer_finalize, gst_alsa_mixer_find_master_mixer,
gst_alsa_mixer_handle_source_callback,
gst_alsa_mixer_handle_callback, gst_alsa_mixer_elem_handle_callback,
gst_alsa_mixer_ensure_track_list, gst_alsa_mixer_free,
gst_alsa_mixer_get_volume, gst_alsa_mixer_set_volume,
gst_alsa_mixer_set_mute, gst_alsa_mixer_set_record,
gst_alsa_mixer_get_option, gst_alsa_mixer_update_option,
gst_alsa_mixer_update_track, _gst_alsa_mixer_set_interface):
* ext/alsa/gstalsamixer.h (handle_source, interface, dir):
* ext/alsa/gstalsamixerelement.c (gst_alsa_mixer_element_details,
gst_alsa_mixer_element_interface_supported,
gst_alsa_mixer_element_finalize, gst_alsa_mixer_element_init,
gst_alsa_mixer_element_set_property,
gst_alsa_mixer_element_get_property,
gst_alsa_mixer_element_change_state):
* ext/alsa/gstalsamixertrack.c (gst_alsa_mixer_track_update):
* gst-libs/gst/interfaces/mixer.c (gst_mixer_volume_changed,
gst_mixer_option_changed):
* gst-libs/gst/interfaces/mixer.h (set_option, get_option,
volume_changed, option_changed, _gst_reserved):
Implement notification for alsamixer. Fixes #152864
2007-05-15 14:01:26 +00:00
Tim-Philipp Müller
b1fd3431ae ext/alsa/gstalsamixer.c: Try harder to guess which mixer track is the master mixer track (instead of just taking the ...
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_find_master_mixer),
(gst_alsa_mixer_ensure_track_list):
Try harder to guess which mixer track is the master mixer
track (instead of just taking the first one that has a pvolume).
Fixes #342228.
2006-09-17 20:14:43 +00:00
Viktor Peters
6fdb8262a7 ext/alsa/: Improve and fix mixer track handling, in particular better handling of alsa's pvolume/pswitch/cvolume/cswi...
Original commit message from CVS:
Patch by: Viktor Peters  <viktor dot peters at gmail dot com>
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_ensure_track_list),
(gst_alsa_mixer_update), (gst_alsa_mixer_get_volume),
(gst_alsa_mixer_set_volume), (gst_alsa_mixer_set_mute),
(gst_alsa_mixer_set_record):
* ext/alsa/gstalsamixertrack.c:
(gst_alsa_mixer_track_update_alsa_capabilities),
(alsa_track_has_cap), (gst_alsa_mixer_track_new),
(gst_alsa_mixer_track_update):
* ext/alsa/gstalsamixertrack.h:
Improve and fix mixer track handling, in particular better handling
of alsa's pvolume/pswitch/cvolume/cswitch capabilities; create separate
track objects for tracks that have both capture and playback volume
(and label them differently as well so they're not mistakenly
assumed to be duplicates); classify mixer tracks that only affect
the audible volume of something (rather than the capture volume)
as playback tracks. Redefine/fix meaning of RECORD and MUTE flags
for capture tracks to correspond to alsa-pswitch alsa-cswitch
(following the meaning documented in the mixer interface header
file); add support for alsa's exclusive cswitch groups; update/sync
state/flags better if mixer settings are changed by another
application. Fixes #336075.
2006-08-29 11:50:51 +00:00
Wim Taymans
4b10da5bce ext/alsa/gstalsamixer.c: Less uglyness..
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_open):
Less uglyness..
2006-08-14 10:50:15 +00:00
Wim Taymans
5fd36709af ext/alsa/gstalsa.c: Small code cleanup.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_detect_rates),
(gst_alsa_detect_channels), (gst_alsa_probe_supported_formats):
Small code cleanup.
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_open),
(gst_alsa_mixer_new):
Remove hack that always set the device to hw:0*.
Properly find the card name for whatever device was configured.
Do some better debugging.
Fixes #350784.
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_set_property),
(gst_alsa_mixer_element_change_state):
Cleanups.
Handle setting of a NULL device name better.
2006-08-13 14:34:48 +00:00
Wim Taymans
b6e0165934 Added alsa docs.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* ext/alsa/gstalsamixer.c:
* ext/alsa/gstalsamixer.h:
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_class_init), (gst_alsa_mixer_element_init):
* ext/alsa/gstalsamixerelement.h:
* ext/alsa/gstalsasink.c:
* ext/alsa/gstalsasink.h:
* ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init),
(gst_alsasrc_init):
* ext/alsa/gstalsasrc.h:
Added alsa docs.
Small code cleanups.
2006-03-01 18:25:18 +00:00
Tim-Philipp Müller
825496342e ext/alsa/gstalsamixer.c: Fix issues with mixer keeping state when muting/unmuting and when changing the volume whilst...
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_get_volume):
Fix issues with mixer keeping state when muting/unmuting
and when changing the volume whilst muted (see #331763
and #331765).
2006-02-21 12:05:18 +00:00
Tim-Philipp Müller
534e0c268e ext/alsa/: Helper functions to add device probing via the GstPropertyProbe interface to a class.
Original commit message from CVS:
* ext/alsa/Makefile.am:
* ext/alsa/gstalsadeviceprobe.c:
* ext/alsa/gstalsadeviceprobe.h:
Helper functions to add device probing via the GstPropertyProbe
interface to a class.
* ext/alsa/gstalsamixer.h:
Comment out GST_ALSA_MIXER, it returns a struct that's not
used.
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_open):
Add some debug info.
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_interface_supported),
(gst_implements_interface_init),
(gst_alsa_mixer_element_init_interfaces),
(gst_alsa_mixer_element_class_init),
(gst_alsa_mixer_element_finalize), (gst_alsa_mixer_element_init),
(gst_alsa_mixer_element_set_property),
(gst_alsa_mixer_element_get_property),
(gst_alsa_mixer_element_change_state):
* ext/alsa/gstalsamixerelement.h:
Add 'device' and 'device-name' properties. Add GstPropertyProbe
for device handling (gnome-volume-control will need that).
2005-12-14 17:58:48 +00:00
Andy Wingo
13b122a106 gst-libs/gst/audio/gstaudiosrc.*: Implement open_device and close_device in the ring buffer, like gstaudiosink.
Original commit message from CVS:
2005-08-22  Andy Wingo  <wingo@pobox.com>

* gst-libs/gst/audio/gstaudiosrc.h:
* gst-libs/gst/audio/gstaudiosrc.c: Implement open_device and
close_device in the ring buffer, like gstaudiosink.

* ext/alsa/gstalsamixer.h:
* ext/alsa/gstalsamixer.c: Not a GObject any more. Include a nifty
macro to implement the interface without much code. Cleanups.

* ext/alsa/gstalsasrc.h:
* ext/alsa/gstalsasrc.c: Be a mixer. Open device and mixer in
READY.

* ext/alsa/Makefile.am: Add new files.
* ext/alsa/gstalsamixerelement.c:
* ext/alsa/gstalsamixerelement.c: Split element code out from
mixer code so that alsasrc can be a mixer too.
2005-08-22 15:11:31 +00:00
Andy Wingo
b05796c9d9 ext/alsa/: Port to 0.9.
Original commit message from CVS:
2005-08-19  Andy Wingo  <wingo@pobox.com>

* ext/alsa/gstalsamixertrack.h:
* ext/alsa/gstalsamixertrack.c:
* ext/alsa/gstalsamixeroptions.h:
* ext/alsa/gstalsamixeroptions.c:
* ext/alsa/gstalsamixer.h:
* ext/alsa/gstalsamixer.c: Port to 0.9.

* ext/alsa/Makefile.am: Build mixer, mixeroptions, mixertracks.
Remove gstalsa.c and alsaclock. No more cruft here.
2005-08-19 16:13:54 +00:00
Ronald S. Bultje
cc42b08e67 ext/alsa/gstalsamixer.c: Update flags when requested.
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_update),
(gst_alsa_mixer_get_volume), (gst_alsa_mixer_set_volume),
(gst_alsa_mixer_set_mute), (gst_alsa_mixer_set_record),
(gst_alsa_mixer_set_option), (gst_alsa_mixer_get_option):
Update flags when requested.
2005-01-11 15:11:26 +00:00
Ronald S. Bultje
fd3928e802 Doh
Original commit message from CVS:
Doh
2004-10-27 10:58:52 +00:00
Ronald S. Bultje
febc9b6120 ext/alsa/gstalsamixer.c: Don't break on options (fixes #156488).
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_build_list):
Don't break on options (fixes #156488).
2004-10-27 09:21:25 +00:00
Ronald S. Bultje
8c1e1212d6 ALSA mixer track label internationalization (#154054).
Original commit message from CVS:
Reviewd by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_build_list):
* ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_new):
* ext/alsa/gstalsamixertrack.h:
* po/POTFILES.in:
ALSA mixer track label internationalization (#154054).
2004-10-25 15:58:35 +00:00
Ronald S. Bultje
a5ba798652 ext/alsa/: Fix names, fix loop.
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_build_list):
* ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_new):
* ext/alsa/gstalsamixertrack.h:
Fix names, fix loop.
2004-10-25 13:51:41 +00:00
Ronald S. Bultje
b709c6844b ext/alsa/gstalsamixer.c: Update mixer (to sync with other sessions) if we try to obtain a new value. This makes alsam...
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_update),
(gst_alsa_mixer_get_volume), (gst_alsa_mixer_set_volume),
(gst_alsa_mixer_set_mute), (gst_alsa_mixer_set_record),
(gst_alsa_mixer_set_option), (gst_alsa_mixer_get_option):
Update mixer (to sync with other sessions) if we try to obtain
a new value. This makes alsamixer work accross applications.
* ext/alsa/gstalsasink.c: (gst_alsa_sink_get_time):
Only call sync functions if we're running, else alsalib asserts.
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_src_query):
Sometimes fails to compile. Possibly a gcc bug.
* gst/playback/gstplaybin.c: (gen_video_element),
(gen_audio_element):
Add a reference to an application-provided object, because we lose
this same reference if we add it to the bin. If we don't do this,
we can only use this object once and thus crash if we go from
ready to playing, back to ready and back to playing again.
Also add an audioscale element because several cheap soundcards -
like mine - don't support all samplerates.
* sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get),
(gst_ximagesink_xcontext_clear), (gst_ximagesink_change_state):
Fix wrong order or PAR calls. Makes automatically obtained PAR
from the X server atually being used.
2004-09-13 09:24:00 +00:00
Ronald S. Bultje
dd935da004 ext/alsa/: Re-commit ALSA switches.
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_build_list):
* ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_new):
Re-commit ALSA switches.
* gst/adder/gstadder.c: (gst_adder_loop):
64-bit fix (#151416).
* gst/debug/progressreport.c: (gst_progressreport_report):
64-bit fix (#151419).
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_contents):
64-bit fix (#151420).
* gst/playback/test3.c: (update_scale):
64-bit fix (#151421).
2004-08-31 14:12:49 +00:00
Ronald S. Bultje
eed81bc3a1 revert (freeze) until release has been made
Original commit message from CVS:
revert (freeze) until release has been made
2004-08-30 18:41:32 +00:00
Ronald S. Bultje
afb7b74873 ext/alsa/: Add switches (simple boolean on/off).
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_build_list):
* ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_new):
Add switches (simple boolean on/off).
2004-08-29 19:37:38 +00:00
Benjamin Otte
1786973790 compile fixes for --disable-gst-debug, G_DISABLE_ASSERT and friends
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_get_volume),
(gst_alsa_mixer_set_volume), (gst_alsa_mixer_set_mute),
(gst_alsa_mixer_set_record), (gst_alsa_mixer_set_option),
(gst_alsa_mixer_get_option):
* ext/dvdnav/dvdnavsrc.c: (dvdnav_get_event_name),
(dvdnavsrc_print_event):
* ext/ogg/gstoggdemux.c: (_find_chain_process), (gst_ogg_print):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_pad_link),
(gst_ogg_mux_pad_unlink):
* gst/multipart/multipartmux.c: (gst_multipart_mux_pad_link),
(gst_multipart_mux_pad_unlink):
* gst/videofilter/gstvideobalance.c:
(gst_videobalance_colorbalance_set_value):
* gst/videomixer/videomixer.c: (gst_videomixer_pad_link),
(gst_videomixer_pad_unlink):
* po/uk.po:
* sys/oss/gstossmixer.c:
* sys/v4l/gstv4lcolorbalance.c:
* sys/v4l/gstv4ltuner.c:
* sys/v4l/v4lsrc_calls.c:
* sys/v4l2/gstv4l2colorbalance.c:
* sys/v4l2/gstv4l2tuner.c:
compile fixes for --disable-gst-debug, G_DISABLE_ASSERT and friends
2004-08-03 16:06:08 +00:00
Ronald S. Bultje
9f076da7e6 ext/alsa/gstalsamixer.c: Select first track as master track. Not sure how else to handle that...
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_build_list):
Select first track as master track. Not sure how else to handle
that...
* ext/ogg/gstoggmux.c: (gst_ogg_mux_next_buffer):
Discard discont events. Should fix #142962.
2004-05-27 12:15:04 +00:00
Ronald S. Bultje
8f88f9280d ext/alsa/: Add enumerations (as GstMixerOptions). Make correct distinction between input/output tracks. Add capture/p...
Original commit message from CVS:
* ext/alsa/Makefile.am:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_interface_init),
(gst_alsa_mixer_build_list), (gst_alsa_mixer_get_volume),
(gst_alsa_mixer_set_volume), (gst_alsa_mixer_set_mute),
(gst_alsa_mixer_set_record), (gst_alsa_mixer_set_option),
(gst_alsa_mixer_get_option):
* ext/alsa/gstalsamixer.h:
* ext/alsa/gstalsamixeroptions.c:
(gst_alsa_mixer_options_get_type),
(gst_alsa_mixer_options_class_init), (gst_alsa_mixer_options_init),
(gst_alsa_mixer_options_new):
* ext/alsa/gstalsamixeroptions.h:
* ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_new):
* ext/alsa/gstalsamixertrack.h:
Add enumerations (as GstMixerOptions). Make correct distinction
between input/output tracks. Add capture/playback private flag.
Use flag to decide on whether to set capture or playback volumes
or switches. Use playback and record switches.
* gst-libs/gst/mixer/Makefile.am:
* gst-libs/gst/mixer/mixer-marshal.list:
* gst-libs/gst/mixer/mixer.c: (gst_mixer_class_init),
(gst_mixer_set_option), (gst_mixer_get_option),
(gst_mixer_mute_toggled), (gst_mixer_record_toggled),
(gst_mixer_volume_changed), (gst_mixer_option_changed):
* gst-libs/gst/mixer/mixer.h:
* gst-libs/gst/mixer/mixeroptions.c: (gst_mixer_options_get_type),
(gst_mixer_options_class_init), (gst_mixer_options_init),
(gst_mixer_options_dispose):
* gst-libs/gst/mixer/mixeroptions.h:
Add GstMixerOptions.
* sys/oss/gstosselement.c: (gst_osselement_class_probe_devices):
Rename Audio Mixer to OSS Mixer (similar to Alsa Mixer). Fix
broken device detection on computers with multiple OSS sound
cards.
2004-05-27 03:36:17 +00:00
Ronald S. Bultje
35aff63385 ext/alsa/gstalsamixer.c: Fix for cases where we fail to attach to a mixer.
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_open),
(gst_alsa_mixer_close), (gst_alsa_mixer_supported),
(gst_alsa_mixer_build_list), (gst_alsa_mixer_free_list),
(gst_alsa_mixer_change_state), (gst_alsa_mixer_list_tracks),
(gst_alsa_mixer_get_volume), (gst_alsa_mixer_set_volume),
(gst_alsa_mixer_set_mute), (gst_alsa_mixer_set_record):
Fix for cases where we fail to attach to a mixer.
2004-05-16 20:46:12 +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
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
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
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
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
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
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
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
Leif Johnson
e53facc93f + adding alsa mixer implementation
Original commit message from CVS:
+ adding alsa mixer implementation
2003-11-16 21:56:30 +00:00