diff options
author | Brian Cameron <brian.cameron@sun.com> | 2006-06-20 10:35:48 +0000 |
---|---|---|
committer | Wim Taymans <wim.taymans@gmail.com> | 2006-06-20 10:35:48 +0000 |
commit | 490ac45de2ea704b0ab0d7be281dffcd812c8de8 (patch) | |
tree | ebf10ece741384f612d0e7b42dcd3248e04f7bb9 /sys/sunaudio/gstsunaudiomixertrack.c | |
parent | 7b405d88d315db33572b8020b60120b89b0cff70 (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.c | 19 |
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; } |