diff options
Diffstat (limited to 'sys/oss/gstossmixer.c')
-rw-r--r-- | sys/oss/gstossmixer.c | 119 |
1 files changed, 73 insertions, 46 deletions
diff --git a/sys/oss/gstossmixer.c b/sys/oss/gstossmixer.c index a9e7222c..39b0d7c7 100644 --- a/sys/oss/gstossmixer.c +++ b/sys/oss/gstossmixer.c @@ -74,37 +74,64 @@ fill_labels (void) struct { gchar *given, *wanted; - } cases[] = { + } + cases[] = + { /* Note: this list is simply ripped from soundcard.h. For * some people, some values might be missing (3D surround, * etc.) - feel free to add them. That's the reason why * I'm doing this in such a horribly complicated way. */ { - "Vol ", _("Volume")}, { - "Bass ", _("Bass")}, { - "Trebl", _("Treble")}, { - "Synth", _("Synth")}, { - "Pcm ", _("PCM")}, { - "Spkr ", _("Speaker")}, { - "Line ", _("Line-in")}, { - "Mic ", _("Microphone")}, { - "CD ", _("CD")}, { - "Mix ", _("Mixer")}, { - "Pcm2 ", _("PCM-2")}, { - "Rec ", _("Record")}, { - "IGain", _("In-gain")}, { - "OGain", _("Out-gain")}, { - "Line1", _("Line-1")}, { - "Line2", _("Line-2")}, { - "Line3", _("Line-3")}, { - "Digital1", _("Digital-1")}, { - "Digital2", _("Digital-2")}, { - "Digital3", _("Digital-3")}, { - "PhoneIn", _("Phone-in")}, { - "PhoneOut", _("Phone-out")}, { - "Video", _("Video")}, { - "Radio", _("Radio")}, { - "Monitor", _("Monitor")}, { + "Vol ", _("Volume")} + , { + "Bass ", _("Bass")} + , { + "Trebl", _("Treble")} + , { + "Synth", _("Synth")} + , { + "Pcm ", _("PCM")} + , { + "Spkr ", _("Speaker")} + , { + "Line ", _("Line-in")} + , { + "Mic ", _("Microphone")} + , { + "CD ", _("CD")} + , { + "Mix ", _("Mixer")} + , { + "Pcm2 ", _("PCM-2")} + , { + "Rec ", _("Record")} + , { + "IGain", _("In-gain")} + , { + "OGain", _("Out-gain")} + , { + "Line1", _("Line-1")} + , { + "Line2", _("Line-2")} + , { + "Line3", _("Line-3")} + , { + "Digital1", _("Digital-1")} + , { + "Digital2", _("Digital-2")} + , { + "Digital3", _("Digital-3")} + , { + "PhoneIn", _("Phone-in")} + , { + "PhoneOut", _("Phone-out")} + , { + "Video", _("Video")} + , { + "Radio", _("Radio")} + , { + "Monitor", _("Monitor")} + , { NULL, NULL} }; @@ -113,8 +140,8 @@ fill_labels (void) for (i = 0; i < SOUND_MIXER_NRDEVICES; i++) { for (pos = 0; cases[pos].given != NULL; pos++) { if (!strcmp (cases[pos].given, origs[i])) { - labels[i] = g_strdup (cases[pos].wanted); - break; + labels[i] = g_strdup (cases[pos].wanted); + break; } } if (cases[pos].given == NULL) @@ -142,8 +169,8 @@ gst_ossmixer_track_get_type (void) }; gst_ossmixer_track_type = - g_type_register_static (GST_TYPE_MIXER_TRACK, - "GstOssMixerTrack", &ossmixer_track_info, 0); + g_type_register_static (GST_TYPE_MIXER_TRACK, + "GstOssMixerTrack", &ossmixer_track_info, 0); } return gst_ossmixer_track_type; @@ -185,7 +212,7 @@ gst_ossmixer_track_new (GstOssElement * oss, /* volume */ if (ioctl (oss->mixer_fd, MIXER_READ (osstrack->track_num), &volume) < 0) { g_warning ("Error getting device (%d) volume: %s", - osstrack->track_num, strerror (errno)); + osstrack->track_num, strerror (errno)); volume = 0; } osstrack->lvol = (volume & 0xff); @@ -263,7 +290,7 @@ gst_ossmixer_get_volume (GstMixer * mixer, /* get */ if (ioctl (oss->mixer_fd, MIXER_READ (osstrack->track_num), &volume) < 0) { g_warning ("Error getting recording device (%d) volume: %s", - osstrack->track_num, strerror (errno)); + osstrack->track_num, strerror (errno)); volume = 0; } @@ -296,7 +323,7 @@ gst_ossmixer_set_volume (GstMixer * mixer, /* set */ if (ioctl (oss->mixer_fd, MIXER_WRITE (osstrack->track_num), &volume) < 0) { g_warning ("Error setting recording device (%d) volume (0x%x): %s", - osstrack->track_num, volume, strerror (errno)); + osstrack->track_num, volume, strerror (errno)); return; } } @@ -329,7 +356,7 @@ gst_ossmixer_set_mute (GstMixer * mixer, GstMixerTrack * track, gboolean mute) if (ioctl (oss->mixer_fd, MIXER_WRITE (osstrack->track_num), &volume) < 0) { g_warning ("Error setting mixer recording device volume (0x%x): %s", - volume, strerror (errno)); + volume, strerror (errno)); return; } @@ -378,7 +405,7 @@ gst_ossmixer_set_record (GstMixer * mixer, /* set it to the device */ if (ioctl (oss->mixer_fd, SOUND_MIXER_WRITE_RECSRC, &oss->recdevs) < 0) { g_warning ("Error setting mixer recording devices (0x%x): %s", - oss->recdevs, strerror (errno)); + oss->recdevs, strerror (errno)); return; } @@ -406,7 +433,7 @@ gst_ossmixer_build_list (GstOssElement * oss) if (oss->mixer_fd == -1) { /* this is valid. OSS devices don't need to expose a mixer */ GST_DEBUG ("Failed to open mixer device %s, mixing disabled: %s", - oss->mixer_dev, strerror (errno)); + oss->mixer_dev, strerror (errno)); return; } @@ -441,7 +468,7 @@ gst_ossmixer_build_list (GstOssElement * oss) else if (devmask & SOUND_MASK_PCM) master = SOUND_MIXER_PCM; else if (devmask & SOUND_MASK_SPEAKER) - master = SOUND_MIXER_SPEAKER; /* doubtful... */ + master = SOUND_MIXER_SPEAKER; /* doubtful... */ /* else: no master, so we won't set any */ /* build track list */ @@ -452,23 +479,23 @@ gst_ossmixer_build_list (GstOssElement * oss) /* track exists, make up capabilities */ if (MASK_BIT_IS_SET (oss->stereomask, i)) - stereo = TRUE; + stereo = TRUE; if (MASK_BIT_IS_SET (oss->recmask, i)) - input = TRUE; + input = TRUE; if (MASK_BIT_IS_SET (oss->recdevs, i)) - record = TRUE; + record = TRUE; /* do we want this in our list? */ if ((dir == GST_PAD_SRC && input == FALSE) || - (dir == GST_PAD_SINK && i != SOUND_MIXER_PCM)) - continue; + (dir == GST_PAD_SINK && i != SOUND_MIXER_PCM)) + continue; /* add track to list */ 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) | - ((master != i) ? 0 : GST_MIXER_TRACK_MASTER)); + (record ? GST_MIXER_TRACK_RECORD : 0) | + (input ? GST_MIXER_TRACK_INPUT : + GST_MIXER_TRACK_OUTPUT) | + ((master != i) ? 0 : GST_MIXER_TRACK_MASTER)); oss->tracklist = g_list_append (oss->tracklist, track); } } |