GNOME Bugzilla – Bug 342181
[alsa] add property probe interface to alsasink and alsasrc
Last modified: 2006-05-21 15:42:15 UTC
The patches implements the GstPropertyProbe interface which had been lost during 0.8 -> 0.10 migration (not sure?) and was yet only implemented in the alsamixer. It also fixes an concurrency issue in the gstalsapropertyprobe interface that caused it to only show devices of the first probe request to the interface if multiple "probes" are issued (probe sink and src for instance). alsa[sink|src] can be now used to probe for the "device" property and get a list of hardware devices (soundcards). This is a side-effect of an attempt to add "device" option menus to the gstreamer-properties capplet. (Bug 341983)
Created attachment 65727 [details] [review] Implment property probe interface in alsasink and alsasrc * Implement GstPropertyProbe for "device" property in alsasink and alsasrc * Fix issues on concurrent probing when using gstalsapropertyprobe interface Please mind that I am not very experienced overall with gnome development so please check over the stuff carefully. :)
Thanks for the patch. The bits in the patch about gstalsasink.[ch] and gstalsasrc.[ch] look fine, but I think gstalsadeviceprobe.c needed a good clean-up: Please test -base CVS to make sure everything works as expected if possible. 2006-05-18 Tim-Philipp Müller <tim at centricular dot net> * ext/alsa/gstalsadeviceprobe.c: (gst_alsa_get_device_list), (gst_alsa_device_property_probe_probe_property), (gst_alsa_device_property_probe_needs_probe), (gst_alsa_device_property_probe_get_values), (gst_alsa_type_add_device_property_probe_interface): * ext/alsa/gstalsadeviceprobe.h: * ext/alsa/gstalsamixerelement.c: (gst_alsa_mixer_element_init_interfaces): * ext/alsa/gstalsamixerelement.h: Clean up and simplify alsa device probing. Make it actually work for multiple classes. Don't cache results any longer. * ext/alsa/gstalsasink.c: (gst_alsasink_init_interfaces), (gst_alsasink_init): * ext/alsa/gstalsasrc.c: (gst_alsasrc_dispose), (gst_alsasrc_interface_supported), (gst_implements_interface_init), (gst_alsasrc_init_interfaces), (gst_alsasrc_set_property): Make alsasink and alsasrc implement the GstPropertyProbe interface for device probing (#342181). Patch by: Martin Szulecki <gnomebugzilla at sukimashita com>