diff options
author | Thomas Vander Stichele <thomas@apestaart.org> | 2004-03-15 19:32:27 +0000 |
---|---|---|
committer | Thomas Vander Stichele <thomas@apestaart.org> | 2004-03-15 19:32:27 +0000 |
commit | 6cc1c73d2baa95c46edc04f57cbe9ed690dc2f21 (patch) | |
tree | 82b5546809a42a56a7bc18bacf8ed6e209ad006e /sys/oss | |
parent | d07ec45fa47fbd0e36224e11bcd8ba2faee1a78c (diff) |
don't mix tabs and spaces
Original commit message from CVS:
don't mix tabs and spaces
Diffstat (limited to 'sys/oss')
-rw-r--r-- | sys/oss/gstossaudio.c | 6 | ||||
-rw-r--r-- | sys/oss/gstosselement.c | 276 | ||||
-rw-r--r-- | sys/oss/gstossmixer.c | 119 | ||||
-rw-r--r-- | sys/oss/gstosssink.c | 155 | ||||
-rw-r--r-- | sys/oss/gstosssrc.c | 62 |
5 files changed, 326 insertions, 292 deletions
diff --git a/sys/oss/gstossaudio.c b/sys/oss/gstossaudio.c index ecbbd9bc..f34e78bc 100644 --- a/sys/oss/gstossaudio.c +++ b/sys/oss/gstossaudio.c @@ -38,11 +38,11 @@ plugin_init (GstPlugin * plugin) return FALSE; if (!gst_element_register (plugin, "ossmixer", GST_RANK_PRIMARY, - GST_TYPE_OSSELEMENT) || + GST_TYPE_OSSELEMENT) || !gst_element_register (plugin, "osssrc", GST_RANK_PRIMARY, - GST_TYPE_OSSSRC) || + GST_TYPE_OSSSRC) || !gst_element_register (plugin, "osssink", GST_RANK_PRIMARY, - GST_TYPE_OSSSINK)) { + GST_TYPE_OSSSINK)) { return FALSE; } diff --git a/sys/oss/gstosselement.c b/sys/oss/gstosselement.c index 56dd20da..ad609afc 100644 --- a/sys/oss/gstosselement.c +++ b/sys/oss/gstosselement.c @@ -105,13 +105,13 @@ gst_osselement_get_type (void) }; osselement_type = g_type_register_static (GST_TYPE_ELEMENT, - "GstOssElement", &osselement_info, 0); + "GstOssElement", &osselement_info, 0); g_type_add_interface_static (osselement_type, - GST_TYPE_IMPLEMENTS_INTERFACE, &ossiface_info); + GST_TYPE_IMPLEMENTS_INTERFACE, &ossiface_info); g_type_add_interface_static (osselement_type, - GST_TYPE_MIXER, &ossmixer_info); + GST_TYPE_MIXER, &ossmixer_info); g_type_add_interface_static (osselement_type, - GST_TYPE_PROPERTY_PROBE, &ossprobe_info); + GST_TYPE_PROPERTY_PROBE, &ossprobe_info); } return osselement_type; @@ -140,14 +140,14 @@ gst_osselement_class_init (GstOssElementClass * klass) g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_DEVICE, g_param_spec_string ("device", "Device", "OSS device (/dev/dspN usually)", - "default", G_PARAM_READWRITE)); + "default", G_PARAM_READWRITE)); g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_MIXERDEV, g_param_spec_string ("mixerdev", "Mixer device", - "OSS mixer device (/dev/mixerN usually)", - "default", G_PARAM_READWRITE)); + "OSS mixer device (/dev/mixerN usually)", + "default", G_PARAM_READWRITE)); g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_DEVICE_NAME, g_param_spec_string ("device_name", "Device name", "Name of the device", - NULL, G_PARAM_READABLE)); + NULL, G_PARAM_READABLE)); gobject_class->set_property = gst_osselement_set_property; gobject_class->get_property = gst_osselement_get_property; @@ -274,38 +274,38 @@ gst_osselement_class_probe_devices (GstOssElementClass * klass, gboolean check) gint fd; for (n = -1; n < MAX_OSS_DEVICES; n++) { - gchar *dsp = NULL; - gchar *mixer = NULL; - dev_t dsp_dev; - dev_t mixer_dev; - - gst_osselement_probe (dev_base[base][DSP], n, &dsp, &dsp_dev); - if (dsp == NULL) { - continue; - } - gst_osselement_probe (dev_base[base][MIXER], n, &mixer, &mixer_dev); - /* does the device exist (can we open them)? */ - - /* we just check the dsp. we assume the mixer always works. - * we don't need a mixer anyway (says OSS)... If we are a - * mixer element, we use the mixer anyway. */ - if ((fd = open (mixer ? mixer : - dsp, openmode | O_NONBLOCK)) > 0 || errno == EBUSY) { - GstOssDeviceCombination *combi; - - if (fd > 0) - close (fd); - - /* yay! \o/ */ - combi = g_new0 (GstOssDeviceCombination, 1); - combi->dsp = dsp; - combi->mixer = mixer; - device_combinations = device_combination_append (device_combinations, - combi); - } else { - g_free (dsp); - g_free (mixer); - } + gchar *dsp = NULL; + gchar *mixer = NULL; + dev_t dsp_dev; + dev_t mixer_dev; + + gst_osselement_probe (dev_base[base][DSP], n, &dsp, &dsp_dev); + if (dsp == NULL) { + continue; + } + gst_osselement_probe (dev_base[base][MIXER], n, &mixer, &mixer_dev); + /* does the device exist (can we open them)? */ + + /* we just check the dsp. we assume the mixer always works. + * we don't need a mixer anyway (says OSS)... If we are a + * mixer element, we use the mixer anyway. */ + if ((fd = open (mixer ? mixer : + dsp, openmode | O_NONBLOCK)) > 0 || errno == EBUSY) { + GstOssDeviceCombination *combi; + + if (fd > 0) + close (fd); + + /* yay! \o/ */ + combi = g_new0 (GstOssDeviceCombination, 1); + combi->dsp = dsp; + combi->mixer = mixer; + device_combinations = device_combination_append (device_combinations, + combi); + } else { + g_free (dsp); + g_free (mixer); + } } } @@ -463,30 +463,30 @@ gst_ossformat_get (gint law, gint endianness, gboolean sign, gint width, if (law == 0) { if (width == 16) { if (sign == TRUE) { - if (endianness == G_LITTLE_ENDIAN) { - *format = AFMT_S16_LE; - GST_DEBUG ("16 bit signed LE, no law (%d)", *format); - } else if (endianness == G_BIG_ENDIAN) { - *format = AFMT_S16_BE; - GST_DEBUG ("16 bit signed BE, no law (%d)", *format); - } + if (endianness == G_LITTLE_ENDIAN) { + *format = AFMT_S16_LE; + GST_DEBUG ("16 bit signed LE, no law (%d)", *format); + } else if (endianness == G_BIG_ENDIAN) { + *format = AFMT_S16_BE; + GST_DEBUG ("16 bit signed BE, no law (%d)", *format); + } } else { - if (endianness == G_LITTLE_ENDIAN) { - *format = AFMT_U16_LE; - GST_DEBUG ("16 bit unsigned LE, no law (%d)", *format); - } else if (endianness == G_BIG_ENDIAN) { - *format = AFMT_U16_BE; - GST_DEBUG ("16 bit unsigned BE, no law (%d)", *format); - } + if (endianness == G_LITTLE_ENDIAN) { + *format = AFMT_U16_LE; + GST_DEBUG ("16 bit unsigned LE, no law (%d)", *format); + } else if (endianness == G_BIG_ENDIAN) { + *format = AFMT_U16_BE; + GST_DEBUG ("16 bit unsigned BE, no law (%d)", *format); + } } *bps = 2; } else if (width == 8) { if (sign == TRUE) { - *format = AFMT_S8; - GST_DEBUG ("8 bit signed, no law (%d)", *format); + *format = AFMT_S8; + GST_DEBUG ("8 bit signed, no law (%d)", *format); } else { - *format = AFMT_U8; - GST_DEBUG ("8 bit unsigned, no law (%d)", *format); + *format = AFMT_U8; + GST_DEBUG ("8 bit unsigned, no law (%d)", *format); } *bps = 1; } @@ -523,7 +523,7 @@ gst_osselement_parse_caps (GstOssElement * oss, const GstCaps * caps) gst_structure_get_boolean (structure, "signed", &oss->sign); if (!gst_ossformat_get (oss->law, oss->endianness, oss->sign, - oss->width, oss->depth, &format, &bps)) { + oss->width, oss->depth, &format, &bps)) { GST_DEBUG ("could not get format"); return FALSE; } @@ -564,7 +564,7 @@ gst_osselement_merge_fixed_caps (GstOssElement * oss, GstCaps * caps) gst_structure_get_int (structure, "depth", &oss->depth); if (!gst_ossformat_get (oss->law, oss->endianness, oss->sign, - oss->width, oss->depth, &format, &bps)) { + oss->width, oss->depth, &format, &bps)) { return FALSE; } @@ -640,12 +640,12 @@ gst_osselement_sync_parms (GstOssElement * oss) target_channels != oss->channels || target_rate != oss->rate) { if (target_channels != oss->channels) g_warning - ("couldn't set the right number of channels (wanted %d, got %d), enjoy the tone difference", - target_channels, oss->channels); + ("couldn't set the right number of channels (wanted %d, got %d), enjoy the tone difference", + target_channels, oss->channels); if (target_rate != oss->rate) g_warning - ("couldn't set the right sample rate (wanted %d, got %d), enjoy the speed difference", - target_rate, oss->rate); + ("couldn't set the right sample rate (wanted %d, got %d), enjoy the speed difference", + target_rate, oss->rate); if (target_format != oss->format) g_warning ("couldn't set requested OSS format, enjoy the noise :)"); /* we could eventually return FALSE here, or just do some additional tests @@ -696,39 +696,39 @@ gst_osselement_open_audio (GstOssElement * oss) if (oss->fd < 0) { switch (errno) { case EBUSY: - GST_ELEMENT_ERROR (oss, RESOURCE, BUSY, - (_("OSS device \"%s\" is already in use by another program."), - oss->device), (NULL)); - break; + GST_ELEMENT_ERROR (oss, RESOURCE, BUSY, + (_("OSS device \"%s\" is already in use by another program."), + oss->device), (NULL)); + break; case EACCES: case ETXTBSY: - if (mode == GST_OSSELEMENT_WRITE) - GST_ELEMENT_ERROR (oss, RESOURCE, OPEN_WRITE, - (_("Could not access device \"%s\", check its permissions."), - oss->device), GST_ERROR_SYSTEM); - else - GST_ELEMENT_ERROR (oss, RESOURCE, OPEN_READ, - (_("Could not access device \"%s\", check its permissions."), - oss->device), GST_ERROR_SYSTEM); - break; + if (mode == GST_OSSELEMENT_WRITE) + GST_ELEMENT_ERROR (oss, RESOURCE, OPEN_WRITE, + (_("Could not access device \"%s\", check its permissions."), + oss->device), GST_ERROR_SYSTEM); + else + GST_ELEMENT_ERROR (oss, RESOURCE, OPEN_READ, + (_("Could not access device \"%s\", check its permissions."), + oss->device), GST_ERROR_SYSTEM); + break; case ENXIO: case ENODEV: case ENOENT: - GST_ELEMENT_ERROR (oss, RESOURCE, NOT_FOUND, - (_("Device \"%s\" does not exist."), oss->device), - GST_ERROR_SYSTEM); - break; + GST_ELEMENT_ERROR (oss, RESOURCE, NOT_FOUND, + (_("Device \"%s\" does not exist."), oss->device), + GST_ERROR_SYSTEM); + break; default: - /* FIXME: strerror is not threadsafe */ - if (mode == GST_OSSELEMENT_WRITE) - GST_ELEMENT_ERROR (oss, RESOURCE, OPEN_WRITE, - (_("Could not open device \"%s\" for writing."), oss->device), - GST_ERROR_SYSTEM); - else - GST_ELEMENT_ERROR (oss, RESOURCE, OPEN_READ, - (_("Could not open device \"%s\" for reading."), oss->device), - GST_ERROR_SYSTEM); - break; + /* FIXME: strerror is not threadsafe */ + if (mode == GST_OSSELEMENT_WRITE) + GST_ELEMENT_ERROR (oss, RESOURCE, OPEN_WRITE, + (_("Could not open device \"%s\" for writing."), oss->device), + GST_ERROR_SYSTEM); + else + GST_ELEMENT_ERROR (oss, RESOURCE, OPEN_READ, + (_("Could not open device \"%s\" for reading."), oss->device), + GST_ERROR_SYSTEM); + break; } return FALSE; } @@ -832,38 +832,38 @@ gst_osselement_convert (GstOssElement * oss, switch (src_format) { case GST_FORMAT_BYTES: switch (*dest_format) { - case GST_FORMAT_TIME: - *dest_value = src_value * GST_SECOND / oss->bps; - break; - case GST_FORMAT_DEFAULT: - *dest_value = src_value / (oss->width * oss->channels / 8); - break; - default: - res = FALSE; + case GST_FORMAT_TIME: + *dest_value = src_value * GST_SECOND / oss->bps; + break; + case GST_FORMAT_DEFAULT: + *dest_value = src_value / (oss->width * oss->channels / 8); + break; + default: + res = FALSE; } break; case GST_FORMAT_TIME: switch (*dest_format) { - case GST_FORMAT_BYTES: - *dest_value = src_value * oss->bps / GST_SECOND; - break; - case GST_FORMAT_DEFAULT: - *dest_value = src_value * oss->rate / GST_SECOND; - break; - default: - res = FALSE; + case GST_FORMAT_BYTES: + *dest_value = src_value * oss->bps / GST_SECOND; + break; + case GST_FORMAT_DEFAULT: + *dest_value = src_value * oss->rate / GST_SECOND; + break; + default: + res = FALSE; } break; case GST_FORMAT_DEFAULT: switch (*dest_format) { - case GST_FORMAT_TIME: - *dest_value = src_value * GST_SECOND / oss->rate; - break; - case GST_FORMAT_BYTES: - *dest_value = src_value * oss->width * oss->channels / 8; - break; - default: - res = FALSE; + case GST_FORMAT_TIME: + *dest_value = src_value * GST_SECOND / oss->rate; + break; + case GST_FORMAT_BYTES: + *dest_value = src_value * oss->width * oss->channels / 8; + break; + default: + res = FALSE; } break; default: @@ -884,34 +884,34 @@ gst_osselement_set_property (GObject * object, /* disallow changing the device while it is opened get_property("device") should return the right one */ if (gst_element_get_state (GST_ELEMENT (oss)) == GST_STATE_NULL) { - g_free (oss->device); - oss->device = g_strdup (g_value_get_string (value)); - - /* let's assume that if we have a device map for the mixer, - * we're allowed to do all that automagically here */ - if (GST_OSSELEMENT_GET_CLASS (oss)->device_combinations != NULL) { - GList *list = GST_OSSELEMENT_GET_CLASS (oss)->device_combinations; - - while (list) { - GstOssDeviceCombination *combi = list->data; - - if (!strcmp (combi->dsp, oss->device)) { - g_free (oss->mixer_dev); - oss->mixer_dev = g_strdup (combi->mixer); - break; - } - - list = list->next; - } - } + g_free (oss->device); + oss->device = g_strdup (g_value_get_string (value)); + + /* let's assume that if we have a device map for the mixer, + * we're allowed to do all that automagically here */ + if (GST_OSSELEMENT_GET_CLASS (oss)->device_combinations != NULL) { + GList *list = GST_OSSELEMENT_GET_CLASS (oss)->device_combinations; + + while (list) { + GstOssDeviceCombination *combi = list->data; + + if (!strcmp (combi->dsp, oss->device)) { + g_free (oss->mixer_dev); + oss->mixer_dev = g_strdup (combi->mixer); + break; + } + + list = list->next; + } + } } break; case ARG_MIXERDEV: /* disallow changing the device while it is opened get_property("mixerdev") should return the right one */ if (gst_element_get_state (GST_ELEMENT (oss)) == GST_STATE_NULL) { - g_free (oss->mixer_dev); - oss->mixer_dev = g_strdup (g_value_get_string (value)); + g_free (oss->mixer_dev); + oss->mixer_dev = g_strdup (g_value_get_string (value)); } break; default: @@ -949,7 +949,7 @@ gst_osselement_change_state (GstElement * element) switch (GST_STATE_TRANSITION (element)) { case GST_STATE_NULL_TO_READY: if (!gst_osselement_open_audio (oss)) { - return GST_STATE_FAILURE; + return GST_STATE_FAILURE; } GST_INFO ("osselement: opened sound device"); break; 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); } } diff --git a/sys/oss/gstosssink.c b/sys/oss/gstosssink.c index 053eba46..9d06b064 100644 --- a/sys/oss/gstosssink.c +++ b/sys/oss/gstosssink.c @@ -92,11 +92,11 @@ GST_STATIC_PAD_TEMPLATE ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, GST_STATIC_CAPS ("audio/x-raw-int, " - "endianness = (int) BYTE_ORDER, " - "signed = (boolean) { TRUE, FALSE }, " - "width = (int) { 8, 16 }, " - "depth = (int) { 8, 16 }, " - "rate = (int) [ 1000, 48000 ], " "channels = (int) [ 1, 2 ]") + "endianness = (int) BYTE_ORDER, " + "signed = (boolean) { TRUE, FALSE }, " + "width = (int) { 8, 16 }, " + "depth = (int) { 8, 16 }, " + "rate = (int) [ 1000, 48000 ], " "channels = (int) [ 1, 2 ]") ); static GstElementClass *parent_class = NULL; @@ -119,9 +119,10 @@ gst_osssink_get_type (void) 0, (GInstanceInitFunc) gst_osssink_init, }; + osssink_type = - g_type_register_static (GST_TYPE_OSSELEMENT, "GstOssSink", - &osssink_info, 0); + g_type_register_static (GST_TYPE_OSSELEMENT, "GstOssSink", + &osssink_info, 0); } return osssink_type; @@ -159,23 +160,23 @@ gst_osssink_class_init (GstOssSinkClass * klass) g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_MUTE, g_param_spec_boolean ("mute", "Mute", "Mute the audio", - FALSE, G_PARAM_READWRITE)); + FALSE, G_PARAM_READWRITE)); g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SYNC, g_param_spec_boolean ("sync", "Sync", - "If syncing on timestamps should be enabled", TRUE, - G_PARAM_READWRITE)); + "If syncing on timestamps should be enabled", TRUE, + G_PARAM_READWRITE)); g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FRAGMENT, g_param_spec_int ("fragment", "Fragment", - "The fragment as 0xMMMMSSSS (MMMM = total fragments, 2^SSSS = fragment size)", - 0, G_MAXINT, 6, G_PARAM_READWRITE)); + "The fragment as 0xMMMMSSSS (MMMM = total fragments, 2^SSSS = fragment size)", + 0, G_MAXINT, 6, G_PARAM_READWRITE)); g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_BUFFER_SIZE, g_param_spec_uint ("buffer_size", "Buffer size", - "Size of buffers in osssink's bufferpool (bytes)", 0, G_MAXINT, 4096, - G_PARAM_READWRITE)); + "Size of buffers in osssink's bufferpool (bytes)", 0, G_MAXINT, 4096, + G_PARAM_READWRITE)); g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_CHUNK_SIZE, g_param_spec_uint ("chunk_size", "Chunk size", - "Write data in chunk sized buffers", 0, G_MAXUINT, 4096, - G_PARAM_READWRITE)); + "Write data in chunk sized buffers", 0, G_MAXUINT, 4096, + G_PARAM_READWRITE)); gst_osssink_signals[SIGNAL_HANDOFF] = g_signal_new ("handoff", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, @@ -367,17 +368,17 @@ gst_osssink_chain (GstPad * pad, GstData * _data) switch (GST_EVENT_TYPE (event)) { case GST_EVENT_EOS: - ioctl (GST_OSSELEMENT (osssink)->fd, SNDCTL_DSP_SYNC, 0); - gst_audio_clock_set_active (GST_AUDIO_CLOCK (osssink->provided_clock), - FALSE); - gst_pad_event_default (pad, event); - return; + ioctl (GST_OSSELEMENT (osssink)->fd, SNDCTL_DSP_SYNC, 0); + gst_audio_clock_set_active (GST_AUDIO_CLOCK (osssink->provided_clock), + FALSE); + gst_pad_event_default (pad, event); + return; case GST_EVENT_DISCONTINUOUS: - osssink->resync = TRUE; - /* pass-through */ + osssink->resync = TRUE; + /* pass-through */ default: - gst_pad_event_default (pad, event); - return; + gst_pad_event_default (pad, event); + return; } g_assert_not_reached (); } @@ -385,7 +386,7 @@ gst_osssink_chain (GstPad * pad, GstData * _data) if (!GST_OSSELEMENT (osssink)->bps) { gst_buffer_unref (buf); GST_ELEMENT_ERROR (osssink, CORE, NEGOTIATION, (NULL), - ("format wasn't negotiated before chain function")); + ("format wasn't negotiated before chain function")); return; } @@ -409,8 +410,8 @@ gst_osssink_chain (GstPad * pad, GstData * _data) if (MAX (buftime, soundtime) - MIN (buftime, soundtime) > (GST_SECOND / 10)) { /* we need to adjust to the buffers here */ GST_INFO_OBJECT (osssink, - "need sync: real %" G_GUINT64_FORMAT ", buffer: %" G_GUINT64_FORMAT, - soundtime, buftime); + "need sync: real %" G_GUINT64_FORMAT ", buffer: %" G_GUINT64_FORMAT, + soundtime, buftime); if (soundtime > buftime) { /* do *not* throw frames out. It's useless. The next frame will come in * too late. And the next one. And so on. We don't want to lose sound. @@ -418,34 +419,34 @@ gst_osssink_chain (GstPad * pad, GstData * _data) * sending events upstream to drop buffers. */ } else { guint64 to_handle = - (((buftime - - soundtime) * GST_OSSELEMENT (osssink)->bps / GST_SECOND) / - ((GST_OSSELEMENT (osssink)->width / 8) * - GST_OSSELEMENT (osssink)->channels)) * - (GST_OSSELEMENT (osssink)->width / 8) * - GST_OSSELEMENT (osssink)->channels; + (((buftime - + soundtime) * GST_OSSELEMENT (osssink)->bps / GST_SECOND) / + ((GST_OSSELEMENT (osssink)->width / 8) * + GST_OSSELEMENT (osssink)->channels)) * + (GST_OSSELEMENT (osssink)->width / 8) * + GST_OSSELEMENT (osssink)->channels; if (!osssink->resync) { - guint8 *buf = g_new (guint8, to_handle); - - memset (buf, (GST_OSSELEMENT (osssink)->width == 8) ? 0 : 128, - to_handle); - while (to_handle > 0) { - gint done = write (GST_OSSELEMENT (osssink)->fd, buf, - MIN (to_handle, osssink->chunk_size)); - - if (done == -1 && errno != EINTR) { - break; - } else { - to_handle -= done; - osssink->handled += done; - } - } - g_free (buf); + guint8 *buf = g_new (guint8, to_handle); + + memset (buf, (GST_OSSELEMENT (osssink)->width == 8) ? 0 : 128, + to_handle); + while (to_handle > 0) { + gint done = write (GST_OSSELEMENT (osssink)->fd, buf, + MIN (to_handle, osssink->chunk_size)); + + if (done == -1 && errno != EINTR) { + break; + } else { + to_handle -= done; + osssink->handled += done; + } + } + g_free (buf); } else { - /* Timestamps at start-of-stream (MPEG) or after seek (hey, - * again MPEG!) can be borken, therefore this hacklet. */ - osssink->handled += to_handle; + /* Timestamps at start-of-stream (MPEG) or after seek (hey, + * again MPEG!) can be borken, therefore this hacklet. */ + osssink->handled += to_handle; } } } @@ -454,17 +455,17 @@ gst_osssink_chain (GstPad * pad, GstData * _data) if (!osssink->mute) { while (to_write > 0) { - gint done = write (GST_OSSELEMENT (osssink)->fd, data, - MIN (to_write, osssink->chunk_size)); - - if (done == -1) { - if (errno != EINTR) - break; - } else { - to_write -= done; - data += done; - osssink->handled += done; - } + gint done = write (GST_OSSELEMENT (osssink)->fd, data, + MIN (to_write, osssink->chunk_size)); + + if (done == -1) { + if (errno != EINTR) + break; + } else { + to_write -= done; + data += done; + osssink->handled += done; + } } } else { g_warning ("muting osssinks unimplemented wrt clocks!"); @@ -486,6 +487,7 @@ gst_osssink_get_formats (GstPad * pad) GST_FORMAT_BYTES, 0 }; + return formats; } @@ -509,6 +511,7 @@ gst_osssink_get_query_types (GstPad * pad) GST_QUERY_POSITION, 0, }; + return query_types; } @@ -524,22 +527,22 @@ gst_osssink_sink_query (GstPad * pad, GstQueryType type, GstFormat * format, switch (type) { case GST_QUERY_LATENCY: if (!gst_osssink_convert (pad, - GST_FORMAT_BYTES, gst_osssink_get_delay (osssink), - format, value)) { - res = FALSE; + GST_FORMAT_BYTES, gst_osssink_get_delay (osssink), + format, value)) { + res = FALSE; } break; case GST_QUERY_POSITION: if (!gst_osssink_convert (pad, - GST_FORMAT_TIME, gst_element_get_time (GST_ELEMENT (osssink)), - format, value)) { - res = FALSE; + GST_FORMAT_TIME, gst_element_get_time (GST_ELEMENT (osssink)), + format, value)) { + res = FALSE; } break; default: res = - gst_pad_query (gst_pad_get_peer (osssink->sinkpad), type, format, - value); + gst_pad_query (gst_pad_get_peer (osssink->sinkpad), type, format, + value); break; } @@ -631,17 +634,17 @@ gst_osssink_change_state (GstElement * element) break; case GST_STATE_PAUSED_TO_PLAYING: gst_audio_clock_set_active (GST_AUDIO_CLOCK (osssink->provided_clock), - TRUE); + TRUE); break; case GST_STATE_PLAYING_TO_PAUSED: if (GST_FLAG_IS_SET (element, GST_OSSSINK_OPEN)) - ioctl (GST_OSSELEMENT (osssink)->fd, SNDCTL_DSP_RESET, 0); + ioctl (GST_OSSELEMENT (osssink)->fd, SNDCTL_DSP_RESET, 0); gst_audio_clock_set_active (GST_AUDIO_CLOCK (osssink->provided_clock), - FALSE); + FALSE); break; case GST_STATE_PAUSED_TO_READY: if (GST_FLAG_IS_SET (element, GST_OSSSINK_OPEN)) - ioctl (GST_OSSELEMENT (osssink)->fd, SNDCTL_DSP_RESET, 0); + ioctl (GST_OSSELEMENT (osssink)->fd, SNDCTL_DSP_RESET, 0); gst_osselement_reset (GST_OSSELEMENT (osssink)); osssink->handled = 0; osssink->resync = TRUE; diff --git a/sys/oss/gstosssrc.c b/sys/oss/gstosssrc.c index 5803865e..b35dbfc2 100644 --- a/sys/oss/gstosssrc.c +++ b/sys/oss/gstosssrc.c @@ -62,11 +62,11 @@ static GstStaticPadTemplate osssrc_src_factory = GST_STATIC_PAD_TEMPLATE ("src", GST_PAD_SRC, GST_PAD_ALWAYS, GST_STATIC_CAPS ("audio/x-raw-int, " - "endianness = (int) BYTE_ORDER, " - "signed = (boolean) { TRUE, FALSE }, " - "width = (int) { 8, 16 }, " - "depth = (int) { 8, 16 }, " - "rate = (int) [ 1000, 48000 ], " "channels = (int) [ 1, 2 ]") + "endianness = (int) BYTE_ORDER, " + "signed = (boolean) { TRUE, FALSE }, " + "width = (int) { 8, 16 }, " + "depth = (int) { 8, 16 }, " + "rate = (int) [ 1000, 48000 ], " "channels = (int) [ 1, 2 ]") ); static void gst_osssrc_base_init (gpointer g_class); @@ -121,9 +121,10 @@ gst_osssrc_get_type (void) 0, (GInstanceInitFunc) gst_osssrc_init, }; + osssrc_type = - g_type_register_static (GST_TYPE_OSSELEMENT, "GstOssSrc", &osssrc_info, - 0); + g_type_register_static (GST_TYPE_OSSELEMENT, "GstOssSrc", &osssrc_info, + 0); } return osssrc_type; } @@ -150,12 +151,12 @@ gst_osssrc_class_init (GstOssSrcClass * klass) g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_BUFFERSIZE, g_param_spec_ulong ("buffersize", "Buffer Size", - "The size of the buffers with samples", 0, G_MAXULONG, 0, - G_PARAM_READWRITE)); + "The size of the buffers with samples", 0, G_MAXULONG, 0, + G_PARAM_READWRITE)); g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FRAGMENT, g_param_spec_int ("fragment", "Fragment", - "The fragment as 0xMMMMSSSS (MMMM = total fragments, 2^SSSS = fragment size)", - 0, G_MAXINT, 6, G_PARAM_READWRITE)); + "The fragment as 0xMMMMSSSS (MMMM = total fragments, 2^SSSS = fragment size)", + 0, G_MAXINT, 6, G_PARAM_READWRITE)); gobject_class->set_property = gst_osssrc_set_property; gobject_class->get_property = gst_osssrc_get_property; @@ -241,14 +242,14 @@ gst_osssrc_negotiate (GstPad * pad) /* set caps on src pad */ if (gst_pad_try_set_caps (src->srcpad, - gst_caps_new_simple ("audio/x-raw-int", - "endianness", G_TYPE_INT, GST_OSSELEMENT (src)->endianness, - "signed", G_TYPE_BOOLEAN, GST_OSSELEMENT (src)->sign, - "width", G_TYPE_INT, GST_OSSELEMENT (src)->width, - "depth", G_TYPE_INT, GST_OSSELEMENT (src)->depth, - "rate", G_TYPE_INT, GST_OSSELEMENT (src)->rate, - "channels", G_TYPE_INT, GST_OSSELEMENT (src)->channels, - NULL)) <= 0) { + gst_caps_new_simple ("audio/x-raw-int", + "endianness", G_TYPE_INT, GST_OSSELEMENT (src)->endianness, + "signed", G_TYPE_BOOLEAN, GST_OSSELEMENT (src)->sign, + "width", G_TYPE_INT, GST_OSSELEMENT (src)->width, + "depth", G_TYPE_INT, GST_OSSELEMENT (src)->depth, + "rate", G_TYPE_INT, GST_OSSELEMENT (src)->rate, + "channels", G_TYPE_INT, GST_OSSELEMENT (src)->channels, + NULL)) <= 0) { return FALSE; } return TRUE; @@ -319,7 +320,7 @@ gst_osssrc_get (GstPad * pad) if (GST_OSSELEMENT (src)->bps == 0) { gst_buffer_unref (buf); GST_ELEMENT_ERROR (src, CORE, NEGOTIATION, (NULL), - ("format wasn't negotiated before chain function")); + ("format wasn't negotiated before chain function")); return GST_DATA (gst_event_new (GST_EVENT_INTERRUPT)); } @@ -410,15 +411,15 @@ gst_osssrc_change_state (GstElement * element) break; case GST_STATE_PAUSED_TO_PLAYING: gst_audio_clock_set_active (GST_AUDIO_CLOCK (osssrc->provided_clock), - TRUE); + TRUE); break; case GST_STATE_PLAYING_TO_PAUSED: gst_audio_clock_set_active (GST_AUDIO_CLOCK (osssrc->provided_clock), - FALSE); + FALSE); break; case GST_STATE_PAUSED_TO_READY: if (GST_FLAG_IS_SET (element, GST_OSSSRC_OPEN)) - ioctl (GST_OSSELEMENT (osssrc)->fd, SNDCTL_DSP_RESET, 0); + ioctl (GST_OSSELEMENT (osssrc)->fd, SNDCTL_DSP_RESET, 0); break; default: break; @@ -439,6 +440,7 @@ gst_osssrc_get_formats (GstPad * pad) GST_FORMAT_BYTES, 0 }; + return formats; } @@ -462,6 +464,7 @@ gst_osssrc_get_event_masks (GstPad * pad) {GST_EVENT_SIZE, 0}, {0,} }; + return gst_osssrc_src_event_masks; } @@ -487,11 +490,11 @@ gst_osssrc_src_event (GstPad * pad, GstEvent * event) /* convert to bytes */ if (gst_osselement_convert (GST_OSSELEMENT (osssrc), - GST_EVENT_SIZE_FORMAT (event), - GST_EVENT_SIZE_VALUE (event), &format, &value)) { - osssrc->buffersize = GST_EVENT_SIZE_VALUE (event); - g_object_notify (G_OBJECT (osssrc), "buffersize"); - retval = TRUE; + GST_EVENT_SIZE_FORMAT (event), + GST_EVENT_SIZE_VALUE (event), &format, &value)) { + osssrc->buffersize = GST_EVENT_SIZE_VALUE (event); + g_object_notify (G_OBJECT (osssrc), "buffersize"); + retval = TRUE; } } default: @@ -516,6 +519,7 @@ gst_osssrc_get_query_types (GstPad * pad) GST_QUERY_POSITION, 0, }; + return query_types; } @@ -531,7 +535,7 @@ gst_osssrc_src_query (GstPad * pad, GstQueryType type, GstFormat * format, switch (type) { case GST_QUERY_POSITION: res = gst_osselement_convert (GST_OSSELEMENT (osssrc), - GST_FORMAT_BYTES, osssrc->curoffset, format, value); + GST_FORMAT_BYTES, osssrc->curoffset, format, value); break; default: break; |