Original commit message from CVS:
borgify
This commit is contained in:
Thomas Vander Stichele 2005-12-01 14:29:09 +00:00
parent 373f4df293
commit 9db2e7681a
4 changed files with 96 additions and 94 deletions

2
common

@ -1 +1 @@
Subproject commit f9f5f063728688cf455a1512d492b632c43963d7
Subproject commit 54bb21c57bb86941d80c15590e0a121405173156

View file

@ -28,7 +28,7 @@
#include <string.h>
/* GstAudiofilter signals and args */
/* GstAudioFilter signals and args */
enum
{
/* FILL ME */
@ -52,47 +52,47 @@ static void gst_audio_filter_get_property (GObject * object, guint prop_id,
GValue * value, GParamSpec * pspec);
static GstFlowReturn gst_audio_filter_chain (GstPad * pad, GstBuffer * buffer);
GstCaps *gst_audio_filter_class_get_capslist (GstAudiofilterClass * klass);
GstCaps *gst_audio_filter_class_get_capslist (GstAudioFilterClass * klass);
static GstElementClass *parent_class = NULL;
GType
gst_audio_filter_get_type (void)
{
static GType audiofilter_type = 0;
static GType audio_filter_type = 0;
if (!audiofilter_type) {
static const GTypeInfo audiofilter_info = {
sizeof (GstAudiofilterClass),
if (!audio_filter_type) {
static const GTypeInfo audio_filter_info = {
sizeof (GstAudioFilterClass),
gst_audio_filter_base_init,
NULL,
gst_audio_filter_class_init,
NULL,
NULL,
sizeof (GstAudiofilter),
sizeof (GstAudioFilter),
0,
gst_audio_filter_init,
};
audiofilter_type = g_type_register_static (GST_TYPE_ELEMENT,
"GstAudiofilter", &audiofilter_info, G_TYPE_FLAG_ABSTRACT);
audio_filter_type = g_type_register_static (GST_TYPE_ELEMENT,
"GstAudioFilter", &audio_filter_info, G_TYPE_FLAG_ABSTRACT);
}
return audiofilter_type;
return audio_filter_type;
}
static void
gst_audio_filter_base_init (gpointer g_class)
{
static GstElementDetails audiofilter_details = {
static GstElementDetails audio_filter_details = {
"Audio filter base class",
"Filter/Effect/Audio",
"Filters audio",
"David Schleef <ds@schleef.org>"
};
GstAudiofilterClass *klass = (GstAudiofilterClass *) g_class;
GstAudioFilterClass *klass = (GstAudioFilterClass *) g_class;
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_set_details (element_class, &audiofilter_details);
gst_element_class_set_details (element_class, &audio_filter_details);
}
static void
@ -100,9 +100,9 @@ gst_audio_filter_class_init (gpointer g_class, gpointer class_data)
{
GObjectClass *gobject_class;
GstElementClass *gstelement_class;
GstAudiofilterClass *klass;
GstAudioFilterClass *klass;
klass = (GstAudiofilterClass *) g_class;
klass = (GstAudioFilterClass *) g_class;
gobject_class = (GObjectClass *) klass;
gstelement_class = (GstElementClass *) klass;
@ -115,16 +115,17 @@ gst_audio_filter_class_init (gpointer g_class, gpointer class_data)
static GstPadLinkReturn
gst_audio_filter_link (GstPad * pad, GstPad * peer)
{
GstAudiofilter *audiofilter;
GstAudioFilter *audiofilter;
//GstPadLinkReturn ret;
//GstPadLinkReturn link_ret;
//GstStructure *structure;
GstAudiofilterClass *audiofilter_class;
GstAudioFilterClass *audio_filter_class;
GST_DEBUG ("gst_audio_filter_link");
audiofilter = GST_AUDIO_FILTER (gst_pad_get_parent (pad));
audiofilter_class = GST_AUDIO_FILTER_CLASS (G_OBJECT_GET_CLASS (audiofilter));
audio_filter_class =
GST_AUDIO_FILTER_CLASS (G_OBJECT_GET_CLASS (audiofilter));
#if 0
ret = GST_PAD_LINK_DELAYED; /* intialise with dummy value */
@ -158,8 +159,8 @@ gst_audio_filter_link (GstPad * pad, GstPad * peer)
audiofilter->bytes_per_sample = (audiofilter->width / 8) *
audiofilter->channels;
if (audiofilter_class->setup)
(audiofilter_class->setup) (audiofilter);
if (audio_filter_class->setup)
(audio_filter_class->setup) (audiofilter);
#endif
return GST_PAD_LINK_OK;
@ -168,7 +169,7 @@ gst_audio_filter_link (GstPad * pad, GstPad * peer)
static void
gst_audio_filter_init (GTypeInstance * instance, gpointer g_class)
{
GstAudiofilter *audiofilter = GST_AUDIO_FILTER (instance);
GstAudioFilter *audiofilter = GST_AUDIO_FILTER (instance);
GstPadTemplate *pad_template;
GST_DEBUG ("gst_audio_filter_init");
@ -197,9 +198,9 @@ static GstFlowReturn
gst_audio_filter_chain (GstPad * pad, GstBuffer * buffer)
{
GstBuffer *inbuf = GST_BUFFER (buffer);
GstAudiofilter *audiofilter;
GstAudioFilter *audiofilter;
GstBuffer *outbuf;
GstAudiofilterClass *audiofilter_class;
GstAudioFilterClass *audio_filter_class;
GST_DEBUG ("gst_audio_filter_chain");
@ -209,7 +210,8 @@ gst_audio_filter_chain (GstPad * pad, GstBuffer * buffer)
audiofilter = GST_AUDIO_FILTER (gst_pad_get_parent (pad));
//g_return_if_fail (audiofilter->inited);
audiofilter_class = GST_AUDIO_FILTER_CLASS (G_OBJECT_GET_CLASS (audiofilter));
audio_filter_class =
GST_AUDIO_FILTER_CLASS (G_OBJECT_GET_CLASS (audiofilter));
GST_DEBUG ("gst_audio_filter_chain: got buffer of %d bytes in '%s'",
GST_BUFFER_SIZE (inbuf), GST_OBJECT_NAME (audiofilter));
@ -223,28 +225,28 @@ gst_audio_filter_chain (GstPad * pad, GstBuffer * buffer)
audiofilter->n_samples = audiofilter->size / audiofilter->bytes_per_sample;
if (gst_buffer_is_writable (buffer)) {
if (audiofilter_class->filter_inplace) {
(audiofilter_class->filter_inplace) (audiofilter, inbuf);
if (audio_filter_class->filter_inplace) {
(audio_filter_class->filter_inplace) (audiofilter, inbuf);
outbuf = inbuf;
} else {
outbuf = gst_buffer_new_and_alloc (GST_BUFFER_SIZE (inbuf));
GST_BUFFER_DURATION (outbuf) = GST_BUFFER_DURATION (inbuf);
GST_BUFFER_TIMESTAMP (outbuf) = GST_BUFFER_TIMESTAMP (inbuf);
(audiofilter_class->filter) (audiofilter, outbuf, inbuf);
(audio_filter_class->filter) (audiofilter, outbuf, inbuf);
gst_buffer_unref (inbuf);
}
} else {
outbuf = gst_buffer_new_and_alloc (GST_BUFFER_SIZE (inbuf));
GST_BUFFER_DURATION (outbuf) = GST_BUFFER_DURATION (inbuf);
GST_BUFFER_TIMESTAMP (outbuf) = GST_BUFFER_TIMESTAMP (inbuf);
if (audiofilter_class->filter) {
(audiofilter_class->filter) (audiofilter, outbuf, inbuf);
if (audio_filter_class->filter) {
(audio_filter_class->filter) (audiofilter, outbuf, inbuf);
} else {
memcpy (GST_BUFFER_DATA (outbuf), GST_BUFFER_DATA (inbuf),
GST_BUFFER_SIZE (inbuf));
(audiofilter_class->filter_inplace) (audiofilter, outbuf);
(audio_filter_class->filter_inplace) (audiofilter, outbuf);
}
gst_buffer_unref (inbuf);
}
@ -258,7 +260,7 @@ static void
gst_audio_filter_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec)
{
GstAudiofilter *src;
GstAudioFilter *src;
g_return_if_fail (GST_IS_AUDIO_FILTER (object));
src = GST_AUDIO_FILTER (object);
@ -274,7 +276,7 @@ static void
gst_audio_filter_get_property (GObject * object, guint prop_id, GValue * value,
GParamSpec * pspec)
{
GstAudiofilter *src;
GstAudioFilter *src;
g_return_if_fail (GST_IS_AUDIO_FILTER (object));
src = GST_AUDIO_FILTER (object);
@ -287,12 +289,12 @@ gst_audio_filter_get_property (GObject * object, guint prop_id, GValue * value,
}
void
gst_audio_filter_class_add_pad_templates (GstAudiofilterClass *
audiofilter_class, const GstCaps * caps)
gst_audio_filter_class_add_pad_templates (GstAudioFilterClass *
audio_filter_class, const GstCaps * caps)
{
GstElementClass *element_class = GST_ELEMENT_CLASS (audiofilter_class);
GstElementClass *element_class = GST_ELEMENT_CLASS (audio_filter_class);
audiofilter_class->caps = gst_caps_copy (caps);
audio_filter_class->caps = gst_caps_copy (caps);
gst_element_class_add_pad_template (element_class,
gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS,

View file

@ -27,29 +27,29 @@
G_BEGIN_DECLS
typedef struct _GstAudiofilter GstAudiofilter;
typedef struct _GstAudiofilterClass GstAudiofilterClass;
typedef struct _GstAudioFilter GstAudioFilter;
typedef struct _GstAudioFilterClass GstAudioFilterClass;
typedef void (*GstAudiofilterFilterFunc)(GstAudiofilter *filter,
typedef void (*GstAudioFilterFilterFunc)(GstAudioFilter *filter,
GstBuffer *outbuf, GstBuffer *inbuf);
typedef void (*GstAudiofilterInplaceFilterFunc)(GstAudiofilter *filter,
typedef void (*GstAudioFilterInplaceFilterFunc)(GstAudioFilter *filter,
GstBuffer *buffer);
typedef void (*GstAudiofilterSetupFunc) (GstAudiofilter *filter);
typedef void (*GstAudioFilterSetupFunc) (GstAudioFilter *filter);
#define GST_TYPE_AUDIO_FILTER \
(gst_audio_filter_get_type())
#define GST_AUDIO_FILTER(obj) \
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIO_FILTER,GstAudiofilter))
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIO_FILTER,GstAudioFilter))
#define GST_AUDIO_FILTER_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIO_FILTER,GstAudiofilterClass))
(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIO_FILTER,GstAudioFilterClass))
#define GST_IS_AUDIO_FILTER(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIO_FILTER))
#define GST_IS_AUDIO_FILTER_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIO_FILTER))
struct _GstAudiofilter {
struct _GstAudioFilter {
GstElement element;
GstPad *sinkpad,*srcpad;
@ -71,13 +71,13 @@ struct _GstAudiofilter {
gpointer _gst_reserved[GST_PADDING];
};
struct _GstAudiofilterClass {
struct _GstAudioFilterClass {
GstElementClass parent_class;
GstCaps *caps;
GstAudiofilterSetupFunc setup;
GstAudiofilterInplaceFilterFunc filter_inplace;
GstAudiofilterFilterFunc filter;
GstAudioFilterSetupFunc setup;
GstAudioFilterInplaceFilterFunc filter_inplace;
GstAudioFilterFilterFunc filter;
/*< private >*/
gpointer _gst_reserved[GST_PADDING];
@ -85,7 +85,7 @@ struct _GstAudiofilterClass {
GType gst_audio_filter_get_type(void);
void gst_audio_filter_class_add_pad_templates (GstAudiofilterClass *audiofilterclass, const GstCaps *caps);
void gst_audio_filter_class_add_pad_templates (GstAudioFilterClass *audiofilterclass, const GstCaps *caps);
G_END_DECLS

View file

@ -34,29 +34,29 @@
#include <gst/audio/gstaudiofilter.h>
#include <string.h>
typedef struct _GstAudiofilterTemplate GstAudiofilterTemplate;
typedef struct _GstAudiofilterTemplateClass GstAudiofilterTemplateClass;
typedef struct _GstAudioFilterTemplate GstAudioFilterTemplate;
typedef struct _GstAudioFilterTemplateClass GstAudioFilterTemplateClass;
#define GST_TYPE_AUDIO_FILTER_TEMPLATE \
(gst_audio_filter_template_get_type())
#define GST_AUDIO_FILTER_TEMPLATE(obj) \
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIO_FILTER_TEMPLATE,GstAudiofilterTemplate))
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIO_FILTER_TEMPLATE,GstAudioFilterTemplate))
#define GST_AUDIO_FILTER_TEMPLATE_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIO_FILTER_TEMPLATE,GstAudiofilterTemplateClass))
(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIO_FILTER_TEMPLATE,GstAudioFilterTemplateClass))
#define GST_IS_AUDIO_FILTER_TEMPLATE(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIO_FILTER_TEMPLATE))
#define GST_IS_AUDIO_FILTER_TEMPLATE_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIO_FILTER_TEMPLATE))
struct _GstAudiofilterTemplate
struct _GstAudioFilterTemplate
{
GstAudiofilter audiofilter;
GstAudioFilter audiofilter;
};
struct _GstAudiofilterTemplateClass
struct _GstAudioFilterTemplateClass
{
GstAudiofilterClass parent_class;
GstAudioFilterClass parent_class;
};
@ -84,49 +84,49 @@ static void gst_audio_filter_template_set_property (GObject * object,
static void gst_audio_filter_template_get_property (GObject * object,
guint prop_id, GValue * value, GParamSpec * pspec);
static void gst_audio_filter_template_setup (GstAudiofilter * audiofilter);
static void gst_audio_filter_template_filter (GstAudiofilter * audiofilter,
static void gst_audio_filter_template_setup (GstAudioFilter * audiofilter);
static void gst_audio_filter_template_filter (GstAudioFilter * audiofilter,
GstBuffer * outbuf, GstBuffer * inbuf);
static void gst_audio_filter_template_filter_inplace (GstAudiofilter *
static void gst_audio_filter_template_filter_inplace (GstAudioFilter *
audiofilter, GstBuffer * buf);
GType
gst_audio_filter_template_get_type (void)
{
static GType audiofilter_template_type = 0;
static GType audio_filter_template_type = 0;
if (!audiofilter_template_type) {
static const GTypeInfo audiofilter_template_info = {
sizeof (GstAudiofilterTemplateClass),
if (!audio_filter_template_type) {
static const GTypeInfo audio_filter_template_info = {
sizeof (GstAudioFilterTemplateClass),
gst_audio_filter_template_base_init,
NULL,
gst_audio_filter_template_class_init,
NULL,
gst_audio_filter_template_init,
sizeof (GstAudiofilterTemplate),
sizeof (GstAudioFilterTemplate),
0,
NULL,
};
audiofilter_template_type = g_type_register_static (GST_TYPE_AUDIO_FILTER,
"GstAudiofilterTemplate", &audiofilter_template_info, 0);
audio_filter_template_type = g_type_register_static (GST_TYPE_AUDIO_FILTER,
"GstAudioFilterTemplate", &audio_filter_template_info, 0);
}
return audiofilter_template_type;
return audio_filter_template_type;
}
static void
gst_audio_filter_template_base_init (gpointer g_class)
{
static GstElementDetails audiofilter_template_details = {
static GstElementDetails audio_filter_template_details = {
"Audio filter template",
"Filter/Effect/Audio",
"Filters audio",
"David Schleef <ds@schleef.org>"
};
GstAudiofilterTemplateClass *klass = (GstAudiofilterTemplateClass *) g_class;
GstAudioFilterTemplateClass *klass = (GstAudioFilterTemplateClass *) g_class;
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
gst_element_class_set_details (element_class, &audiofilter_template_details);
gst_element_class_set_details (element_class, &audio_filter_template_details);
gst_audio_filter_class_add_pad_templates (GST_AUDIO_FILTER_CLASS (g_class),
gst_caps_from_string (GST_AUDIO_INT_STANDARD_PAD_TEMPLATE_CAPS));
@ -137,13 +137,13 @@ gst_audio_filter_template_class_init (gpointer g_class, gpointer class_data)
{
GObjectClass *gobject_class;
GstElementClass *gstelement_class;
GstAudiofilterTemplateClass *klass;
GstAudiofilterClass *audiofilter_class;
GstAudioFilterTemplateClass *klass;
GstAudioFilterClass *audio_filter_class;
klass = (GstAudiofilterTemplateClass *) g_class;
klass = (GstAudioFilterTemplateClass *) g_class;
gobject_class = (GObjectClass *) klass;
gstelement_class = (GstElementClass *) klass;
audiofilter_class = (GstAudiofilterClass *) g_class;
audio_filter_class = (GstAudioFilterClass *) g_class;
#if 0
g_object_class_install_property (gobject_class, ARG_METHOD,
@ -155,17 +155,17 @@ gst_audio_filter_template_class_init (gpointer g_class, gpointer class_data)
gobject_class->set_property = gst_audio_filter_template_set_property;
gobject_class->get_property = gst_audio_filter_template_get_property;
audiofilter_class->setup = gst_audio_filter_template_setup;
audiofilter_class->filter = gst_audio_filter_template_filter;
audiofilter_class->filter_inplace = gst_audio_filter_template_filter_inplace;
audiofilter_class->filter = NULL;
audio_filter_class->setup = gst_audio_filter_template_setup;
audio_filter_class->filter = gst_audio_filter_template_filter;
audio_filter_class->filter_inplace = gst_audio_filter_template_filter_inplace;
audio_filter_class->filter = NULL;
}
static void
gst_audio_filter_template_init (GTypeInstance * instance, gpointer g_class)
{
//GstAudiofilterTemplate *audiofilter_template = GST_AUDIO_FILTER_TEMPLATE (instance);
//GstAudiofilter *audiofilter = GST_AUDIO_FILTER (instance);
//GstAudioFilterTemplate *audio_filter_template = GST_AUDIO_FILTER_TEMPLATE (instance);
//GstAudioFilter *audiofilter = GST_AUDIO_FILTER (instance);
GST_DEBUG ("gst_audio_filter_template_init");
@ -177,7 +177,7 @@ static void
gst_audio_filter_template_set_property (GObject * object, guint prop_id,
const GValue * value, GParamSpec * pspec)
{
GstAudiofilterTemplate *src;
GstAudioFilterTemplate *src;
g_return_if_fail (GST_IS_AUDIO_FILTER_TEMPLATE (object));
src = GST_AUDIO_FILTER_TEMPLATE (object);
@ -193,7 +193,7 @@ static void
gst_audio_filter_template_get_property (GObject * object, guint prop_id,
GValue * value, GParamSpec * pspec)
{
GstAudiofilterTemplate *src;
GstAudioFilterTemplate *src;
g_return_if_fail (GST_IS_AUDIO_FILTER_TEMPLATE (object));
src = GST_AUDIO_FILTER_TEMPLATE (object);
@ -214,16 +214,16 @@ plugin_init (GstPlugin * plugin)
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
GST_VERSION_MINOR,
"gstaudiofilter_template",
"gstaudio_filter_template",
"Audio filter template",
plugin_init, VERSION, "LGPL", GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)
static void gst_audio_filter_template_setup (GstAudiofilter * audiofilter)
static void gst_audio_filter_template_setup (GstAudioFilter * audiofilter)
{
GstAudiofilterTemplate *audiofilter_template;
GstAudioFilterTemplate *audio_filter_template;
g_return_if_fail (GST_IS_AUDIO_FILTER_TEMPLATE (audiofilter));
audiofilter_template = GST_AUDIO_FILTER_TEMPLATE (audiofilter);
audio_filter_template = GST_AUDIO_FILTER_TEMPLATE (audiofilter);
/* if any setup needs to be done, do it here */
@ -236,13 +236,13 @@ GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
* with a minimum of memory copies. */
static void
gst_audio_filter_template_filter (GstAudiofilter * audiofilter,
gst_audio_filter_template_filter (GstAudioFilter * audiofilter,
GstBuffer * outbuf, GstBuffer * inbuf)
{
GstAudiofilterTemplate *audiofilter_template;
GstAudioFilterTemplate *audio_filter_template;
g_return_if_fail (GST_IS_AUDIO_FILTER_TEMPLATE (audiofilter));
audiofilter_template = GST_AUDIO_FILTER_TEMPLATE (audiofilter);
audio_filter_template = GST_AUDIO_FILTER_TEMPLATE (audiofilter);
/* do something interesting here. This simply copies the source
* to the destination. */
@ -251,13 +251,13 @@ gst_audio_filter_template_filter (GstAudiofilter * audiofilter,
}
static void
gst_audio_filter_template_filter_inplace (GstAudiofilter * audiofilter,
gst_audio_filter_template_filter_inplace (GstAudioFilter * audiofilter,
GstBuffer * buf)
{
GstAudiofilterTemplate *audiofilter_template;
GstAudioFilterTemplate *audio_filter_template;
g_return_if_fail (GST_IS_AUDIO_FILTER_TEMPLATE (audiofilter));
audiofilter_template = GST_AUDIO_FILTER_TEMPLATE (audiofilter);
audio_filter_template = GST_AUDIO_FILTER_TEMPLATE (audiofilter);
/* do something interesting here. This simply copies the source
* to the destination. */