summaryrefslogtreecommitdiffstats
path: root/gst-libs/gst/mixer
diff options
context:
space:
mode:
authorJulien Moutte <julien@moutte.net>2004-01-15 15:50:10 +0000
committerJulien Moutte <julien@moutte.net>2004-01-15 15:50:10 +0000
commit87fc2c3691742852880ac6fa665e392439550801 (patch)
treedbc950990a177e5efda931835d67dc88bd831847 /gst-libs/gst/mixer
parentd769377619a2cb5ab6a29b439000fe4a93d7c123 (diff)
downloadgst-plugins-bad-87fc2c3691742852880ac6fa665e392439550801.tar.gz
gst-plugins-bad-87fc2c3691742852880ac6fa665e392439550801.tar.bz2
gst-plugins-bad-87fc2c3691742852880ac6fa665e392439550801.zip
ext/alsa/gstalsamixer.c: Setting mixer interface type to HARDWARE.
Original commit message from CVS: 2004-01-15 Julien MOUTTE <julien@moutte.net> * 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.
Diffstat (limited to 'gst-libs/gst/mixer')
-rw-r--r--gst-libs/gst/mixer/mixer.c2
-rw-r--r--gst-libs/gst/mixer/mixer.h10
-rw-r--r--gst-libs/gst/mixer/mixertrack.h3
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) \