ext/shout/gstshout.c: fix for new caps system.

Original commit message from CVS:
2004-01-06  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* 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).
This commit is contained in:
Ronald S. Bultje 2004-01-06 15:59:02 +00:00
parent 4ac14e757e
commit d2f67bee59
2 changed files with 23 additions and 2 deletions

View file

@ -1,3 +1,13 @@
2004-01-06 Ronald Bultje <rbultje@ronald.bitfreak.net>
* 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 <thaytan@mad.scientist.com> 2004-01-07 Jan Schmidt <thaytan@mad.scientist.com>
* ext/xvid/gstxvid.c: (gst_xvid_structure_to_csp), * ext/xvid/gstxvid.c: (gst_xvid_structure_to_csp),

View file

@ -401,7 +401,7 @@ gst_ossmixer_set_record (GstMixer *mixer,
void void
gst_ossmixer_build_list (GstOssElement *oss) 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)); const GList *pads = gst_element_get_pad_list (GST_ELEMENT (oss));
GstPadDirection dir = GST_PAD_UNKNOWN; GstPadDirection dir = GST_PAD_UNKNOWN;
#ifdef SOUND_MIXER_INFO #ifdef SOUND_MIXER_INFO
@ -443,6 +443,15 @@ gst_ossmixer_build_list (GstOssElement *oss)
oss->device_name = g_strdup ("Unknown"); oss->device_name = g_strdup ("Unknown");
#endif #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 */ /* build track list */
for (i = 0; i < SOUND_MIXER_NRDEVICES; i++) { for (i = 0; i < SOUND_MIXER_NRDEVICES; i++) {
if (devmask & (1 << 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, track = gst_ossmixer_track_new (oss, i, stereo ? 2 : 1,
(record ? GST_MIXER_TRACK_RECORD : 0) | (record ? GST_MIXER_TRACK_RECORD : 0) |
(input ? GST_MIXER_TRACK_INPUT : (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); oss->tracklist = g_list_append (oss->tracklist, track);
} }
} }