After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 519906 - [API] add GstMixerOptions::get_values vfunc
[API] add GstMixerOptions::get_values vfunc
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal enhancement
: 0.10.18
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Reported: 2008-03-02 14:20 UTC by Tim-Philipp Müller
Modified: 2008-03-03 13:51 UTC
See Also:
GNOME target: ---
GNOME version: ---

Add get_value and documentation (3.45 KB, patch)
2008-03-02 14:21 UTC, Tim-Philipp Müller
committed Details | Review

Description Tim-Philipp Müller 2008-03-02 14:20:55 UTC
I'd like to add a GstMixerOptions::get_values() vfunc so GstMixerOption subclasses can implement/override gst_mixer_options_get_values(), which just returns mixeroptions->values.

This is needed/useful for mixer options whose list of available or currently selectable options can change throughout the life time of an object (as may be the case with OSS4).

Since the entire mixer API isn't thread-safe at all, mixer options implementation can't just change the GList *values member of the structure (even less so from a different thread that watches on an fd for changes). However, it would probably be fairly safe to do from within a _get_values() call from the application. For this, the implementation needs to be able to override gst_mixer_options_get_values().
Comment 1 Tim-Philipp Müller 2008-03-02 14:21:44 UTC
Created attachment 106383 [details] [review]
Add get_value  and documentation
Comment 2 Jan Schmidt 2008-03-02 21:13:27 UTC
Sounds like the best approach to me. In 0.11, we should use the ref-counting facilities of all those GObjects properly.
Comment 3 Tim-Philipp Müller 2008-03-03 13:51:39 UTC
Yes, and return copied GLists etc.

 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>

        * gst-libs/gst/interfaces/mixeroptions.c: (gst_mixer_options_init),
        * gst-libs/gst/interfaces/mixeroptions.h:
          (GST_MIXER_OPTIONS_GET_CLASS), (GstMixerOptionsClass),
          (_GstMixerOptions), (_GstMixerOptionsClass):
          API: add GstMixerOptions::get_values vfunc (#519906)