From b8af1223db33a929df6c792516f4f3c3a7087a28 Mon Sep 17 00:00:00 2001 From: Garret D'Amore Date: Tue, 24 Feb 2009 17:23:58 +0000 Subject: mixer interface: Add flags to enhance mixer interfaces This patch adds a few flags to the mixer and mixerctrl interface to better support OSSv4 (and potentially other backends). Patch By: Garret D'Amore Signed-Off-By: Jan Schmidt API: GST_MIXER_FLAG_HAS_WHITELIST, GST_MIXER_FLAG_GROUPING, API: GST_MIXER_TRACK_NO_RECORD, GST_MIXER_TRACK_NO_MUTE, API: GST_MIXER_TRACK_WHITELIST --- gst-libs/gst/interfaces/mixer.h | 14 +++++++++++--- gst-libs/gst/interfaces/mixertrack.h | 10 +++++++++- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/gst-libs/gst/interfaces/mixer.h b/gst-libs/gst/interfaces/mixer.h index 197ab3bce..3dc32120d 100644 --- a/gst-libs/gst/interfaces/mixer.h +++ b/gst-libs/gst/interfaces/mixer.h @@ -87,16 +87,24 @@ typedef enum * @GST_MIXER_FLAG_NONE: No flags * @GST_MIXER_FLAG_AUTO_NOTIFICATIONS: The mixer implementation automatically sends * notification messages. + * @GST_MIXER_FLAG_HAS_WHITELIST: The mixer implementation flags tracks that should + * be displayed by default (whitelisted). Since: 0.10.23 + * + * @GST_MIXER_FLAG_GROUPING: The mixer implementation will leave some controls + * marked without either input or output. Controls marked as input or + * output should be grouped with input & output sliders, even if they + * are options or bare switches. Since: 0.10.23 * - * Flags for supported features. Whether the element automatically sends - * notifications on the bus is the only one for now. + * Flags for supported features. * * Since: 0.10.14 */ typedef enum { GST_MIXER_FLAG_NONE = 0, - GST_MIXER_FLAG_AUTO_NOTIFICATIONS = (1<<0) + GST_MIXER_FLAG_AUTO_NOTIFICATIONS = (1<<0), + GST_MIXER_FLAG_HAS_WHITELIST = (1<<1), + GST_MIXER_FLAG_GROUPING = (1<<2), } GstMixerFlags; struct _GstMixerClass { diff --git a/gst-libs/gst/interfaces/mixertrack.h b/gst-libs/gst/interfaces/mixertrack.h index 212612b05..618566461 100644 --- a/gst-libs/gst/interfaces/mixertrack.h +++ b/gst-libs/gst/interfaces/mixertrack.h @@ -64,6 +64,11 @@ G_BEGIN_DECLS * @GST_MIXER_TRACK_MASTER: this mixer track is likely to be the master control * @GST_MIXER_TRACK_SOFTWARE: mixer track's' volume control is implemented * in software (as opposed to a hardware control) + * @GST_MIXER_TRACK_NO_RECORD: input track lacks support for recordable. + * Since: 0.10.23 + * @GST_MIXER_TRACK_NO_MUTE: play track doesn't support mute. Since: 0.10.23 + * @GST_MIXER_TRACK_WHITELIST: track should be displayed "by default" in apps. + * Since: 0.10.23 * * Mixer track flags. */ @@ -73,7 +78,10 @@ typedef enum { GST_MIXER_TRACK_MUTE = (1<<2), GST_MIXER_TRACK_RECORD = (1<<3), GST_MIXER_TRACK_MASTER = (1<<4), - GST_MIXER_TRACK_SOFTWARE = (1<<5) + GST_MIXER_TRACK_SOFTWARE = (1<<5), + GST_MIXER_TRACK_NO_RECORD = (1<<6), + GST_MIXER_TRACK_NO_MUTE = (1<<7), + GST_MIXER_TRACK_WHITELIST = (1<<8), } GstMixerTrackFlags; #define GST_MIXER_TRACK_HAS_FLAG(channel, flag) \ -- cgit v1.2.3