summaryrefslogtreecommitdiffstats
path: root/sys/sunaudio/gstsunaudiomixertrack.c
diff options
context:
space:
mode:
authorBrian Cameron <brian.cameron@sun.com>2006-06-20 10:35:48 +0000
committerWim Taymans <wim.taymans@gmail.com>2006-06-20 10:35:48 +0000
commit490ac45de2ea704b0ab0d7be281dffcd812c8de8 (patch)
treeebf10ece741384f612d0e7b42dcd3248e04f7bb9 /sys/sunaudio/gstsunaudiomixertrack.c
parent7b405d88d315db33572b8020b60120b89b0cff70 (diff)
sys/sunaudio/: Add a SunAudio source plugin.
Original commit message from CVS: Patch by: Brian Cameron <brian dot cameron at sun dot com> * sys/sunaudio/Makefile.am: * sys/sunaudio/gstsunaudio.c: (plugin_init): * sys/sunaudio/gstsunaudiomixerctrl.c: (gst_sunaudiomixer_ctrl_build_list), (gst_sunaudiomixer_ctrl_new), (gst_sunaudiomixer_ctrl_list_tracks), (gst_sunaudiomixer_ctrl_get_volume), (gst_sunaudiomixer_ctrl_set_volume), (gst_sunaudiomixer_ctrl_set_mute), (gst_sunaudiomixer_ctrl_set_record): * sys/sunaudio/gstsunaudiomixerctrl.h: * sys/sunaudio/gstsunaudiomixertrack.c: (gst_sunaudiomixer_track_init), (gst_sunaudiomixer_track_new): * sys/sunaudio/gstsunaudiomixertrack.h: * sys/sunaudio/gstsunaudiosrc.c: (gst_sunaudiosrc_dispose), (gst_sunaudiosrc_base_init), (gst_sunaudiosrc_class_init), (gst_sunaudiosrc_init), (gst_sunaudiosrc_set_property), (gst_sunaudiosrc_get_property), (gst_sunaudiosrc_getcaps), (gst_sunaudiosrc_open), (gst_sunaudiosrc_close), (gst_sunaudiosrc_prepare), (gst_sunaudiosrc_unprepare), (gst_sunaudiosrc_read), (gst_sunaudiosrc_delay), (gst_sunaudiosrc_reset): * sys/sunaudio/gstsunaudiosrc.h: Add a SunAudio source plugin. Support stereo and right/left channel gain in the mixer plugin. Support the RECORD flag so that you can switch between line-input and microphone in gnome-volume-control. Code cleanups like using an enumerator for track number instead of an integer. Fixes #344923.
Diffstat (limited to 'sys/sunaudio/gstsunaudiomixertrack.c')
-rw-r--r--sys/sunaudio/gstsunaudiomixertrack.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/sys/sunaudio/gstsunaudiomixertrack.c b/sys/sunaudio/gstsunaudiomixertrack.c
index cef59d95..87883ae9 100644
--- a/sys/sunaudio/gstsunaudiomixertrack.c
+++ b/sys/sunaudio/gstsunaudiomixertrack.c
@@ -31,20 +31,20 @@
#include <string.h>
#include <errno.h>
#include <sys/ioctl.h>
+#include <sys/audioio.h>
#include <gst/gst-i18n-plugin.h>
#include "gstsunaudiomixertrack.h"
-#define MIXER_DEVICES 3
#define MASK_BIT_IS_SET(mask, bit) \
(mask & (1 << bit))
G_DEFINE_TYPE (GstSunAudioMixerTrack, gst_sunaudiomixer_track,
- GST_TYPE_MIXER_TRACK);
+ GST_TYPE_MIXER_TRACK)
-static void
-gst_sunaudiomixer_track_class_init (GstSunAudioMixerTrackClass * klass)
+ static void
+ gst_sunaudiomixer_track_class_init (GstSunAudioMixerTrackClass * klass)
{
/* nop */
}
@@ -52,7 +52,8 @@ gst_sunaudiomixer_track_class_init (GstSunAudioMixerTrackClass * klass)
static void
gst_sunaudiomixer_track_init (GstSunAudioMixerTrack * track)
{
- track->vol = 0;
+ track->gain = 0;
+ track->balance = AUDIO_MID_BALANCE;
track->track_num = 0;
}
@@ -85,10 +86,12 @@ fill_labels (void)
}
GstMixerTrack *
-gst_sunaudiomixer_track_new (gint track_num, gint max_chans, gint flags)
+gst_sunaudiomixer_track_new (GstSunAudioTrackType track_num,
+ gint max_chans, gint flags)
{
GstSunAudioMixerTrack *sunaudiotrack;
GstMixerTrack *track;
+ gint volume;
if (!labels)
fill_labels ();
@@ -101,8 +104,8 @@ gst_sunaudiomixer_track_new (gint track_num, gint max_chans, gint flags)
track->min_volume = 0;
track->max_volume = 100;
sunaudiotrack->track_num = track_num;
-
- sunaudiotrack->vol = (0 & 0xff);
+ sunaudiotrack->gain = (0 & 0xff);
+ sunaudiotrack->balance = AUDIO_MID_BALANCE;
return track;
}