mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-20 04:56:24 +00:00
sys/sunaudio/gstsunaudio.c: Apply patch from and cleaning up code a bit. Also ran indent-gst.
Original commit message from CVS: Reviewed by: David Schleef <ds@schleef.org> * sys/sunaudio/gstsunaudio.c: (plugin_init): Apply patch from Bala, registering sunaudiosrc (oops!), and cleaning up code a bit. Also ran indent-gst. * sys/sunaudio/gstsunaudiosrc.c: (gst_sunaudiosrc_init), (gst_sunaudiosrc_change_state), (gst_sunaudiosrc_get), (gst_sunaudiosrc_setparams):
This commit is contained in:
parent
b30b813a35
commit
7de6c44f44
3 changed files with 18 additions and 53 deletions
11
ChangeLog
11
ChangeLog
|
@ -1,3 +1,14 @@
|
||||||
|
2004-12-15 Balamurali Viswanathan <balamurali.viswanathan@wipro.com>
|
||||||
|
|
||||||
|
Reviewed by: David Schleef <ds@schleef.org>
|
||||||
|
|
||||||
|
* sys/sunaudio/gstsunaudio.c: (plugin_init): Apply patch from
|
||||||
|
Bala, registering sunaudiosrc (oops!), and cleaning up code a
|
||||||
|
bit. Also ran indent-gst.
|
||||||
|
* sys/sunaudio/gstsunaudiosrc.c: (gst_sunaudiosrc_init),
|
||||||
|
(gst_sunaudiosrc_change_state), (gst_sunaudiosrc_get),
|
||||||
|
(gst_sunaudiosrc_setparams):
|
||||||
|
|
||||||
2004-12-14 David Schleef <ds@schleef.org>
|
2004-12-14 David Schleef <ds@schleef.org>
|
||||||
|
|
||||||
* gst/festival/gstfestival.c: (gst_festival_chain): Set the
|
* gst/festival/gstfestival.c: (gst_festival_chain): Set the
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
#include <sys/audioio.h>
|
#include <sys/audioio.h>
|
||||||
#include "gstsunelement.h"
|
#include "gstsunelement.h"
|
||||||
#include "gstsunmixer.h"
|
#include "gstsunmixer.h"
|
||||||
|
#include "gstsunaudiosrc.h"
|
||||||
|
|
||||||
|
|
||||||
#define GST_TYPE_SUNAUDIOSINK \
|
#define GST_TYPE_SUNAUDIOSINK \
|
||||||
|
@ -441,7 +442,9 @@ plugin_init (GstPlugin * plugin)
|
||||||
if (!gst_element_register (plugin, "sunaudiosink", GST_RANK_NONE,
|
if (!gst_element_register (plugin, "sunaudiosink", GST_RANK_NONE,
|
||||||
GST_TYPE_SUNAUDIOSINK) ||
|
GST_TYPE_SUNAUDIOSINK) ||
|
||||||
!gst_element_register (plugin, "sunaudiomixer", GST_RANK_NONE,
|
!gst_element_register (plugin, "sunaudiomixer", GST_RANK_NONE,
|
||||||
GST_TYPE_SUNAUDIOELEMENT))
|
GST_TYPE_SUNAUDIOELEMENT) ||
|
||||||
|
!gst_element_register (plugin, "sunaudiosrc", GST_RANK_NONE,
|
||||||
|
GST_TYPE_SUNAUDIOSRC))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
|
@ -46,7 +46,6 @@ enum
|
||||||
ARG_BUFFER_SIZE
|
ARG_BUFFER_SIZE
|
||||||
};
|
};
|
||||||
|
|
||||||
/*Pending Bala check this template */
|
|
||||||
static GstStaticPadTemplate gst_sunaudiosrc_src_factory =
|
static GstStaticPadTemplate gst_sunaudiosrc_src_factory =
|
||||||
GST_STATIC_PAD_TEMPLATE ("src",
|
GST_STATIC_PAD_TEMPLATE ("src",
|
||||||
GST_PAD_SRC,
|
GST_PAD_SRC,
|
||||||
|
@ -77,9 +76,6 @@ static GstCaps *gst_sunaudiosrc_getcaps (GstPad * pad);
|
||||||
static GstPadLinkReturn gst_sunaudiosrc_pad_link (GstPad * pad,
|
static GstPadLinkReturn gst_sunaudiosrc_pad_link (GstPad * pad,
|
||||||
const GstCaps * caps);
|
const GstCaps * caps);
|
||||||
|
|
||||||
static gboolean gst_sunaudiosrc_open (GstSunAudioSrc * sunaudiosrc);
|
|
||||||
static void gst_sunaudiosrc_close (GstSunAudioSrc * sunaudiosrc);
|
|
||||||
|
|
||||||
static GstElementClass *parent_class = NULL;
|
static GstElementClass *parent_class = NULL;
|
||||||
|
|
||||||
GType
|
GType
|
||||||
|
@ -147,8 +143,7 @@ gst_sunaudiosrc_init (GstSunAudioSrc * sunaudiosrc)
|
||||||
{
|
{
|
||||||
const char *audiodev;
|
const char *audiodev;
|
||||||
|
|
||||||
sunaudiosrc->srcpad =
|
sunaudiosrc->srcpad = gst_pad_new_from_template (gst_static_pad_template_get
|
||||||
gst_pad_new_from_template (gst_static_pad_template_get
|
|
||||||
(&gst_sunaudiosrc_src_factory), "src");
|
(&gst_sunaudiosrc_src_factory), "src");
|
||||||
|
|
||||||
gst_pad_set_get_function (sunaudiosrc->srcpad, gst_sunaudiosrc_get);
|
gst_pad_set_get_function (sunaudiosrc->srcpad, gst_sunaudiosrc_get);
|
||||||
|
@ -215,46 +210,6 @@ gst_sunaudiosrc_get_property (GObject * object, guint prop_id,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
|
||||||
gst_sunaudiosrc_open (GstSunAudioSrc * sunaudiosrc)
|
|
||||||
{
|
|
||||||
int fd, ret;
|
|
||||||
|
|
||||||
fd = open ("/dev/audio", O_RDONLY);
|
|
||||||
if (fd == -1) {
|
|
||||||
/* FIXME error */
|
|
||||||
return FALSE;
|
|
||||||
} else {
|
|
||||||
sunaudiosrc->fd = fd;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = ioctl (fd, AUDIO_GETDEV, &sunaudiosrc->dev);
|
|
||||||
if (ret == -1) {
|
|
||||||
GST_ELEMENT_ERROR (sunaudiosrc, RESOURCE, SETTINGS, (NULL), ("%s",
|
|
||||||
strerror (errno)));
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
GST_INFO ("name %s", sunaudiosrc->dev.name);
|
|
||||||
GST_INFO ("version %s", sunaudiosrc->dev.version);
|
|
||||||
GST_INFO ("config %s", sunaudiosrc->dev.config);
|
|
||||||
|
|
||||||
ret = ioctl (fd, AUDIO_GETINFO, &sunaudiosrc->info);
|
|
||||||
if (ret == -1) {
|
|
||||||
GST_ELEMENT_ERROR (sunaudiosrc, RESOURCE, SETTINGS, (NULL), ("%s",
|
|
||||||
strerror (errno)));
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
gst_sunaudiosrc_close (GstSunAudioSrc * sunaudiosrc)
|
|
||||||
{
|
|
||||||
close (sunaudiosrc->fd);
|
|
||||||
}
|
|
||||||
|
|
||||||
static GstElementStateReturn
|
static GstElementStateReturn
|
||||||
gst_sunaudiosrc_change_state (GstElement * element)
|
gst_sunaudiosrc_change_state (GstElement * element)
|
||||||
{
|
{
|
||||||
|
@ -262,9 +217,6 @@ gst_sunaudiosrc_change_state (GstElement * element)
|
||||||
|
|
||||||
switch (GST_STATE_TRANSITION (element)) {
|
switch (GST_STATE_TRANSITION (element)) {
|
||||||
case GST_STATE_NULL_TO_READY:
|
case GST_STATE_NULL_TO_READY:
|
||||||
//if (!gst_sunaudiosrc_open (sunaudiosrc)) {
|
|
||||||
//return GST_STATE_FAILURE;
|
|
||||||
//}
|
|
||||||
break;
|
break;
|
||||||
case GST_STATE_READY_TO_PAUSED:
|
case GST_STATE_READY_TO_PAUSED:
|
||||||
break;
|
break;
|
||||||
|
@ -275,7 +227,6 @@ gst_sunaudiosrc_change_state (GstElement * element)
|
||||||
case GST_STATE_PAUSED_TO_READY:
|
case GST_STATE_PAUSED_TO_READY:
|
||||||
break;
|
break;
|
||||||
case GST_STATE_READY_TO_NULL:
|
case GST_STATE_READY_TO_NULL:
|
||||||
gst_sunaudiosrc_close (sunaudiosrc);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -341,7 +292,7 @@ gst_sunaudiosrc_get (GstPad * pad)
|
||||||
return GST_DATA (gst_event_new (GST_EVENT_INTERRUPT));
|
return GST_DATA (gst_event_new (GST_EVENT_INTERRUPT));
|
||||||
}
|
}
|
||||||
|
|
||||||
readsamples = readbytes * sunaudiosrc->rate / 1; /* Pending bps */
|
readsamples = readbytes * sunaudiosrc->rate;
|
||||||
|
|
||||||
GST_BUFFER_SIZE (buf) = readbytes;
|
GST_BUFFER_SIZE (buf) = readbytes;
|
||||||
GST_BUFFER_OFFSET (buf) = sunaudiosrc->curoffset;
|
GST_BUFFER_OFFSET (buf) = sunaudiosrc->curoffset;
|
||||||
|
@ -406,7 +357,7 @@ gst_sunaudiosrc_setparams (GstSunAudioSrc * sunaudiosrc)
|
||||||
ainfo.record.encoding = AUDIO_ENCODING_LINEAR;
|
ainfo.record.encoding = AUDIO_ENCODING_LINEAR;
|
||||||
ainfo.record.port = AUDIO_MICROPHONE;
|
ainfo.record.port = AUDIO_MICROPHONE;
|
||||||
ainfo.record.buffer_size = sunaudiosrc->buffer_size;
|
ainfo.record.buffer_size = sunaudiosrc->buffer_size;
|
||||||
//ainfo.output_muted = 0;
|
/* ainfo.output_muted = 0; */
|
||||||
|
|
||||||
ret = ioctl (GST_SUNAUDIOELEMENT (sunaudiosrc)->fd, AUDIO_SETINFO, &ainfo);
|
ret = ioctl (GST_SUNAUDIOELEMENT (sunaudiosrc)->fd, AUDIO_SETINFO, &ainfo);
|
||||||
if (ret == -1) {
|
if (ret == -1) {
|
||||||
|
|
Loading…
Reference in a new issue