From d2f67bee5996ce95084e46de16cfc5bd32b81814 Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Tue, 6 Jan 2004 15:59:02 +0000 Subject: [PATCH] ext/shout/gstshout.c: fix for new caps system. Original commit message from CVS: 2004-01-06 Ronald Bultje * ext/shout/gstshout.c: (gst_icecastsend_base_init), (gst_icecastsend_init): fix for new caps system. * gst-libs/gst/mixer/mixertrack.h: * sys/oss/gstossmixer.c: (gst_ossmixer_build_list): Add 'master track' flag (for tools like ACME that only want to change the main volume). --- ChangeLog | 10 ++++++++++ sys/oss/gstossmixer.c | 15 +++++++++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index ce2dbd9..87e1ec0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2004-01-06 Ronald Bultje + + * ext/shout/gstshout.c: (gst_icecastsend_base_init), + (gst_icecastsend_init): + fix for new caps system. + * gst-libs/gst/mixer/mixertrack.h: + * sys/oss/gstossmixer.c: (gst_ossmixer_build_list): + Add 'master track' flag (for tools like ACME that only want to + change the main volume). + 2004-01-07 Jan Schmidt * ext/xvid/gstxvid.c: (gst_xvid_structure_to_csp), diff --git a/sys/oss/gstossmixer.c b/sys/oss/gstossmixer.c index c4d1b0f..ccdf6e1 100644 --- a/sys/oss/gstossmixer.c +++ b/sys/oss/gstossmixer.c @@ -401,7 +401,7 @@ gst_ossmixer_set_record (GstMixer *mixer, void gst_ossmixer_build_list (GstOssElement *oss) { - gint i, devmask; + gint i, devmask, master = -1; const GList *pads = gst_element_get_pad_list (GST_ELEMENT (oss)); GstPadDirection dir = GST_PAD_UNKNOWN; #ifdef SOUND_MIXER_INFO @@ -443,6 +443,15 @@ gst_ossmixer_build_list (GstOssElement *oss) oss->device_name = g_strdup ("Unknown"); #endif + /* find master volume */ + if (devmask & SOUND_MASK_VOLUME) + master = SOUND_MIXER_VOLUME; + else if (devmask & SOUND_MASK_PCM) + master = SOUND_MIXER_PCM; + else if (devmask & SOUND_MASK_SPEAKER) + master = SOUND_MIXER_SPEAKER; /* doubtful... */ + /* else: no master, so we won't set any */ + /* build track list */ for (i = 0; i < SOUND_MIXER_NRDEVICES; i++) { if (devmask & (1 << i)) { @@ -466,7 +475,9 @@ gst_ossmixer_build_list (GstOssElement *oss) track = gst_ossmixer_track_new (oss, i, stereo ? 2 : 1, (record ? GST_MIXER_TRACK_RECORD : 0) | (input ? GST_MIXER_TRACK_INPUT : - GST_MIXER_TRACK_OUTPUT)); + GST_MIXER_TRACK_OUTPUT) | + ((master != i) ? 0 : + GST_MIXER_TRACK_MASTER)); oss->tracklist = g_list_append (oss->tracklist, track); } } -- 2.7.4