diff options
Diffstat (limited to 'gst-libs/gst')
-rw-r--r-- | gst-libs/gst/mixer/mixer.c | 2 | ||||
-rw-r--r-- | gst-libs/gst/mixer/mixer.h | 10 | ||||
-rw-r--r-- | gst-libs/gst/mixer/mixertrack.h | 3 |
3 files changed, 14 insertions, 1 deletions
diff --git a/gst-libs/gst/mixer/mixer.c b/gst-libs/gst/mixer/mixer.c index cbdfdad4..7412ca28 100644 --- a/gst-libs/gst/mixer/mixer.c +++ b/gst-libs/gst/mixer/mixer.c @@ -96,6 +96,8 @@ gst_mixer_class_init (GstMixerClass *klass) initialized = TRUE; } + klass->mixer_type = GST_MIXER_SOFTWARE; + /* default virtual functions */ klass->list_tracks = NULL; klass->set_volume = NULL; diff --git a/gst-libs/gst/mixer/mixer.h b/gst-libs/gst/mixer/mixer.h index cfc16875..3af55ab7 100644 --- a/gst-libs/gst/mixer/mixer.h +++ b/gst-libs/gst/mixer/mixer.h @@ -40,11 +40,21 @@ G_BEGIN_DECLS #define GST_MIXER_GET_CLASS(inst) \ (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_MIXER, GstMixerClass)) +#define GST_MIXER_TYPE(klass) (klass->mixer_type) + typedef struct _GstMixer GstMixer; +typedef enum +{ + GST_MIXER_HARDWARE, + GST_MIXER_SOFTWARE +} GstMixerType; + typedef struct _GstMixerClass { GTypeInterface klass; + GstMixerType mixer_type; + /* virtual functions */ const GList * (* list_tracks) (GstMixer *mixer); diff --git a/gst-libs/gst/mixer/mixertrack.h b/gst-libs/gst/mixer/mixertrack.h index 94304cf2..0e05d9cb 100644 --- a/gst-libs/gst/mixer/mixertrack.h +++ b/gst-libs/gst/mixer/mixertrack.h @@ -60,7 +60,8 @@ typedef enum { GST_MIXER_TRACK_OUTPUT = (1<<1), GST_MIXER_TRACK_MUTE = (1<<2), GST_MIXER_TRACK_RECORD = (1<<3), - GST_MIXER_TRACK_MASTER = (1<<4) + GST_MIXER_TRACK_MASTER = (1<<4), + GST_MIXER_TRACK_SOFTWARE = (1<<5) } GstMixerTrackFlags; #define GST_MIXER_TRACK_HAS_FLAG(channel, flag) \ |