summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGarret D'Amore <garrett.damore@sun.com>2009-02-24 17:23:58 +0000
committerJan Schmidt <thaytan@noraisin.net>2009-02-24 17:23:58 +0000
commitb8af1223db33a929df6c792516f4f3c3a7087a28 (patch)
tree5d0b14fd0684cfddf9ca0f871b0f030de7ae872f
parentfff6909c1b1ba9b0cb5287f1e064ccda0d680ec7 (diff)
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 <garrett.damore@sun.com> Signed-Off-By: Jan Schmidt <jan.schmidt@sun.com> 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
-rw-r--r--gst-libs/gst/interfaces/mixer.h14
-rw-r--r--gst-libs/gst/interfaces/mixertrack.h10
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) \