From 87fc2c3691742852880ac6fa665e392439550801 Mon Sep 17 00:00:00 2001 From: Julien Moutte Date: Thu, 15 Jan 2004 15:50:10 +0000 Subject: ext/alsa/gstalsamixer.c: Setting mixer interface type to HARDWARE. Original commit message from CVS: 2004-01-15 Julien MOUTTE * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_interface_init): Setting mixer interface type to HARDWARE. * gst-libs/gst/mixer/mixer.c: (gst_mixer_class_init): Adding a default type to SOFTWARE. * gst-libs/gst/mixer/mixer.h: Adding mixer interface type and macro. * gst-libs/gst/mixer/mixertrack.h: Adding mixertrack flag SOFTWARE. * gst/volume/gstvolume.c: (gst_volume_interface_supported), (gst_volume_interface_init), (gst_volume_list_tracks), (gst_volume_set_volume), (gst_volume_get_volume), (gst_volume_set_mute), (gst_volume_mixer_init), (gst_volume_dispose), (gst_volume_get_type), (volume_class_init), (volume_init): Implementing mixer interface. * gst/volume/gstvolume.h: Adding tracklist for mixer interface. * sys/oss/gstosselement.c: (gst_osselement_get_type), (gst_osselement_change_state): Removing some trailing commas in structures. * sys/oss/gstossmixer.c: (gst_ossmixer_interface_init): Setting mixer interface type to HARDWARE. * sys/v4l/gstv4lcolorbalance.c: (gst_v4l_color_balance_interface_init): Setting colorbalance interface type to HARDWARE. * sys/v4l2/gstv4l2colorbalance.c: (gst_v4l2_color_balance_interface_init): Setting colorbalance interface type to HARDWARE. * sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain): use exactly the same code than ximagesink for event handling. --- gst-libs/gst/mixer/mixer.c | 2 ++ gst-libs/gst/mixer/mixer.h | 10 ++++++++++ gst-libs/gst/mixer/mixertrack.h | 3 ++- 3 files changed, 14 insertions(+), 1 deletion(-) (limited to 'gst-libs/gst/mixer') 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) \ -- cgit v1.2.1