borgify
Original commit message from CVS: borgify
This commit is contained in:
parent
373f4df293
commit
9db2e7681a
2
common
2
common
@ -1 +1 @@
|
|||||||
Subproject commit f9f5f063728688cf455a1512d492b632c43963d7
|
Subproject commit 54bb21c57bb86941d80c15590e0a121405173156
|
@ -28,7 +28,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
/* GstAudiofilter signals and args */
|
/* GstAudioFilter signals and args */
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
/* FILL ME */
|
/* FILL ME */
|
||||||
@ -52,47 +52,47 @@ static void gst_audio_filter_get_property (GObject * object, guint prop_id,
|
|||||||
GValue * value, GParamSpec * pspec);
|
GValue * value, GParamSpec * pspec);
|
||||||
|
|
||||||
static GstFlowReturn gst_audio_filter_chain (GstPad * pad, GstBuffer * buffer);
|
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;
|
static GstElementClass *parent_class = NULL;
|
||||||
|
|
||||||
GType
|
GType
|
||||||
gst_audio_filter_get_type (void)
|
gst_audio_filter_get_type (void)
|
||||||
{
|
{
|
||||||
static GType audiofilter_type = 0;
|
static GType audio_filter_type = 0;
|
||||||
|
|
||||||
if (!audiofilter_type) {
|
if (!audio_filter_type) {
|
||||||
static const GTypeInfo audiofilter_info = {
|
static const GTypeInfo audio_filter_info = {
|
||||||
sizeof (GstAudiofilterClass),
|
sizeof (GstAudioFilterClass),
|
||||||
gst_audio_filter_base_init,
|
gst_audio_filter_base_init,
|
||||||
NULL,
|
NULL,
|
||||||
gst_audio_filter_class_init,
|
gst_audio_filter_class_init,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
sizeof (GstAudiofilter),
|
sizeof (GstAudioFilter),
|
||||||
0,
|
0,
|
||||||
gst_audio_filter_init,
|
gst_audio_filter_init,
|
||||||
};
|
};
|
||||||
|
|
||||||
audiofilter_type = g_type_register_static (GST_TYPE_ELEMENT,
|
audio_filter_type = g_type_register_static (GST_TYPE_ELEMENT,
|
||||||
"GstAudiofilter", &audiofilter_info, G_TYPE_FLAG_ABSTRACT);
|
"GstAudioFilter", &audio_filter_info, G_TYPE_FLAG_ABSTRACT);
|
||||||
}
|
}
|
||||||
return audiofilter_type;
|
return audio_filter_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gst_audio_filter_base_init (gpointer g_class)
|
gst_audio_filter_base_init (gpointer g_class)
|
||||||
{
|
{
|
||||||
static GstElementDetails audiofilter_details = {
|
static GstElementDetails audio_filter_details = {
|
||||||
"Audio filter base class",
|
"Audio filter base class",
|
||||||
"Filter/Effect/Audio",
|
"Filter/Effect/Audio",
|
||||||
"Filters audio",
|
"Filters audio",
|
||||||
"David Schleef <ds@schleef.org>"
|
"David Schleef <ds@schleef.org>"
|
||||||
};
|
};
|
||||||
GstAudiofilterClass *klass = (GstAudiofilterClass *) g_class;
|
GstAudioFilterClass *klass = (GstAudioFilterClass *) g_class;
|
||||||
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
|
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
|
static void
|
||||||
@ -100,9 +100,9 @@ gst_audio_filter_class_init (gpointer g_class, gpointer class_data)
|
|||||||
{
|
{
|
||||||
GObjectClass *gobject_class;
|
GObjectClass *gobject_class;
|
||||||
GstElementClass *gstelement_class;
|
GstElementClass *gstelement_class;
|
||||||
GstAudiofilterClass *klass;
|
GstAudioFilterClass *klass;
|
||||||
|
|
||||||
klass = (GstAudiofilterClass *) g_class;
|
klass = (GstAudioFilterClass *) g_class;
|
||||||
gobject_class = (GObjectClass *) klass;
|
gobject_class = (GObjectClass *) klass;
|
||||||
gstelement_class = (GstElementClass *) klass;
|
gstelement_class = (GstElementClass *) klass;
|
||||||
|
|
||||||
@ -115,16 +115,17 @@ gst_audio_filter_class_init (gpointer g_class, gpointer class_data)
|
|||||||
static GstPadLinkReturn
|
static GstPadLinkReturn
|
||||||
gst_audio_filter_link (GstPad * pad, GstPad * peer)
|
gst_audio_filter_link (GstPad * pad, GstPad * peer)
|
||||||
{
|
{
|
||||||
GstAudiofilter *audiofilter;
|
GstAudioFilter *audiofilter;
|
||||||
|
|
||||||
//GstPadLinkReturn ret;
|
//GstPadLinkReturn ret;
|
||||||
//GstPadLinkReturn link_ret;
|
//GstPadLinkReturn link_ret;
|
||||||
//GstStructure *structure;
|
//GstStructure *structure;
|
||||||
GstAudiofilterClass *audiofilter_class;
|
GstAudioFilterClass *audio_filter_class;
|
||||||
|
|
||||||
GST_DEBUG ("gst_audio_filter_link");
|
GST_DEBUG ("gst_audio_filter_link");
|
||||||
audiofilter = GST_AUDIO_FILTER (gst_pad_get_parent (pad));
|
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
|
#if 0
|
||||||
ret = GST_PAD_LINK_DELAYED; /* intialise with dummy value */
|
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->bytes_per_sample = (audiofilter->width / 8) *
|
||||||
audiofilter->channels;
|
audiofilter->channels;
|
||||||
|
|
||||||
if (audiofilter_class->setup)
|
if (audio_filter_class->setup)
|
||||||
(audiofilter_class->setup) (audiofilter);
|
(audio_filter_class->setup) (audiofilter);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return GST_PAD_LINK_OK;
|
return GST_PAD_LINK_OK;
|
||||||
@ -168,7 +169,7 @@ gst_audio_filter_link (GstPad * pad, GstPad * peer)
|
|||||||
static void
|
static void
|
||||||
gst_audio_filter_init (GTypeInstance * instance, gpointer g_class)
|
gst_audio_filter_init (GTypeInstance * instance, gpointer g_class)
|
||||||
{
|
{
|
||||||
GstAudiofilter *audiofilter = GST_AUDIO_FILTER (instance);
|
GstAudioFilter *audiofilter = GST_AUDIO_FILTER (instance);
|
||||||
GstPadTemplate *pad_template;
|
GstPadTemplate *pad_template;
|
||||||
|
|
||||||
GST_DEBUG ("gst_audio_filter_init");
|
GST_DEBUG ("gst_audio_filter_init");
|
||||||
@ -197,9 +198,9 @@ static GstFlowReturn
|
|||||||
gst_audio_filter_chain (GstPad * pad, GstBuffer * buffer)
|
gst_audio_filter_chain (GstPad * pad, GstBuffer * buffer)
|
||||||
{
|
{
|
||||||
GstBuffer *inbuf = GST_BUFFER (buffer);
|
GstBuffer *inbuf = GST_BUFFER (buffer);
|
||||||
GstAudiofilter *audiofilter;
|
GstAudioFilter *audiofilter;
|
||||||
GstBuffer *outbuf;
|
GstBuffer *outbuf;
|
||||||
GstAudiofilterClass *audiofilter_class;
|
GstAudioFilterClass *audio_filter_class;
|
||||||
|
|
||||||
GST_DEBUG ("gst_audio_filter_chain");
|
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));
|
audiofilter = GST_AUDIO_FILTER (gst_pad_get_parent (pad));
|
||||||
//g_return_if_fail (audiofilter->inited);
|
//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_DEBUG ("gst_audio_filter_chain: got buffer of %d bytes in '%s'",
|
||||||
GST_BUFFER_SIZE (inbuf), GST_OBJECT_NAME (audiofilter));
|
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;
|
audiofilter->n_samples = audiofilter->size / audiofilter->bytes_per_sample;
|
||||||
|
|
||||||
if (gst_buffer_is_writable (buffer)) {
|
if (gst_buffer_is_writable (buffer)) {
|
||||||
if (audiofilter_class->filter_inplace) {
|
if (audio_filter_class->filter_inplace) {
|
||||||
(audiofilter_class->filter_inplace) (audiofilter, inbuf);
|
(audio_filter_class->filter_inplace) (audiofilter, inbuf);
|
||||||
outbuf = inbuf;
|
outbuf = inbuf;
|
||||||
} else {
|
} else {
|
||||||
outbuf = gst_buffer_new_and_alloc (GST_BUFFER_SIZE (inbuf));
|
outbuf = gst_buffer_new_and_alloc (GST_BUFFER_SIZE (inbuf));
|
||||||
GST_BUFFER_DURATION (outbuf) = GST_BUFFER_DURATION (inbuf);
|
GST_BUFFER_DURATION (outbuf) = GST_BUFFER_DURATION (inbuf);
|
||||||
GST_BUFFER_TIMESTAMP (outbuf) = GST_BUFFER_TIMESTAMP (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);
|
gst_buffer_unref (inbuf);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
outbuf = gst_buffer_new_and_alloc (GST_BUFFER_SIZE (inbuf));
|
outbuf = gst_buffer_new_and_alloc (GST_BUFFER_SIZE (inbuf));
|
||||||
GST_BUFFER_DURATION (outbuf) = GST_BUFFER_DURATION (inbuf);
|
GST_BUFFER_DURATION (outbuf) = GST_BUFFER_DURATION (inbuf);
|
||||||
GST_BUFFER_TIMESTAMP (outbuf) = GST_BUFFER_TIMESTAMP (inbuf);
|
GST_BUFFER_TIMESTAMP (outbuf) = GST_BUFFER_TIMESTAMP (inbuf);
|
||||||
if (audiofilter_class->filter) {
|
if (audio_filter_class->filter) {
|
||||||
(audiofilter_class->filter) (audiofilter, outbuf, inbuf);
|
(audio_filter_class->filter) (audiofilter, outbuf, inbuf);
|
||||||
} else {
|
} else {
|
||||||
memcpy (GST_BUFFER_DATA (outbuf), GST_BUFFER_DATA (inbuf),
|
memcpy (GST_BUFFER_DATA (outbuf), GST_BUFFER_DATA (inbuf),
|
||||||
GST_BUFFER_SIZE (inbuf));
|
GST_BUFFER_SIZE (inbuf));
|
||||||
|
|
||||||
(audiofilter_class->filter_inplace) (audiofilter, outbuf);
|
(audio_filter_class->filter_inplace) (audiofilter, outbuf);
|
||||||
}
|
}
|
||||||
gst_buffer_unref (inbuf);
|
gst_buffer_unref (inbuf);
|
||||||
}
|
}
|
||||||
@ -258,7 +260,7 @@ static void
|
|||||||
gst_audio_filter_set_property (GObject * object, guint prop_id,
|
gst_audio_filter_set_property (GObject * object, guint prop_id,
|
||||||
const GValue * value, GParamSpec * pspec)
|
const GValue * value, GParamSpec * pspec)
|
||||||
{
|
{
|
||||||
GstAudiofilter *src;
|
GstAudioFilter *src;
|
||||||
|
|
||||||
g_return_if_fail (GST_IS_AUDIO_FILTER (object));
|
g_return_if_fail (GST_IS_AUDIO_FILTER (object));
|
||||||
src = GST_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,
|
gst_audio_filter_get_property (GObject * object, guint prop_id, GValue * value,
|
||||||
GParamSpec * pspec)
|
GParamSpec * pspec)
|
||||||
{
|
{
|
||||||
GstAudiofilter *src;
|
GstAudioFilter *src;
|
||||||
|
|
||||||
g_return_if_fail (GST_IS_AUDIO_FILTER (object));
|
g_return_if_fail (GST_IS_AUDIO_FILTER (object));
|
||||||
src = GST_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
|
void
|
||||||
gst_audio_filter_class_add_pad_templates (GstAudiofilterClass *
|
gst_audio_filter_class_add_pad_templates (GstAudioFilterClass *
|
||||||
audiofilter_class, const GstCaps * caps)
|
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_element_class_add_pad_template (element_class,
|
||||||
gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS,
|
gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS,
|
||||||
|
@ -27,29 +27,29 @@
|
|||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
typedef struct _GstAudiofilter GstAudiofilter;
|
typedef struct _GstAudioFilter GstAudioFilter;
|
||||||
typedef struct _GstAudiofilterClass GstAudiofilterClass;
|
typedef struct _GstAudioFilterClass GstAudioFilterClass;
|
||||||
|
|
||||||
typedef void (*GstAudiofilterFilterFunc)(GstAudiofilter *filter,
|
typedef void (*GstAudioFilterFilterFunc)(GstAudioFilter *filter,
|
||||||
GstBuffer *outbuf, GstBuffer *inbuf);
|
GstBuffer *outbuf, GstBuffer *inbuf);
|
||||||
typedef void (*GstAudiofilterInplaceFilterFunc)(GstAudiofilter *filter,
|
typedef void (*GstAudioFilterInplaceFilterFunc)(GstAudioFilter *filter,
|
||||||
GstBuffer *buffer);
|
GstBuffer *buffer);
|
||||||
|
|
||||||
typedef void (*GstAudiofilterSetupFunc) (GstAudiofilter *filter);
|
typedef void (*GstAudioFilterSetupFunc) (GstAudioFilter *filter);
|
||||||
|
|
||||||
|
|
||||||
#define GST_TYPE_AUDIO_FILTER \
|
#define GST_TYPE_AUDIO_FILTER \
|
||||||
(gst_audio_filter_get_type())
|
(gst_audio_filter_get_type())
|
||||||
#define GST_AUDIO_FILTER(obj) \
|
#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) \
|
#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) \
|
#define GST_IS_AUDIO_FILTER(obj) \
|
||||||
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIO_FILTER))
|
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIO_FILTER))
|
||||||
#define GST_IS_AUDIO_FILTER_CLASS(obj) \
|
#define GST_IS_AUDIO_FILTER_CLASS(obj) \
|
||||||
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIO_FILTER))
|
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIO_FILTER))
|
||||||
|
|
||||||
struct _GstAudiofilter {
|
struct _GstAudioFilter {
|
||||||
GstElement element;
|
GstElement element;
|
||||||
|
|
||||||
GstPad *sinkpad,*srcpad;
|
GstPad *sinkpad,*srcpad;
|
||||||
@ -71,13 +71,13 @@ struct _GstAudiofilter {
|
|||||||
gpointer _gst_reserved[GST_PADDING];
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _GstAudiofilterClass {
|
struct _GstAudioFilterClass {
|
||||||
GstElementClass parent_class;
|
GstElementClass parent_class;
|
||||||
|
|
||||||
GstCaps *caps;
|
GstCaps *caps;
|
||||||
GstAudiofilterSetupFunc setup;
|
GstAudioFilterSetupFunc setup;
|
||||||
GstAudiofilterInplaceFilterFunc filter_inplace;
|
GstAudioFilterInplaceFilterFunc filter_inplace;
|
||||||
GstAudiofilterFilterFunc filter;
|
GstAudioFilterFilterFunc filter;
|
||||||
|
|
||||||
/*< private >*/
|
/*< private >*/
|
||||||
gpointer _gst_reserved[GST_PADDING];
|
gpointer _gst_reserved[GST_PADDING];
|
||||||
@ -85,7 +85,7 @@ struct _GstAudiofilterClass {
|
|||||||
|
|
||||||
GType gst_audio_filter_get_type(void);
|
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
|
G_END_DECLS
|
||||||
|
|
||||||
|
@ -34,29 +34,29 @@
|
|||||||
#include <gst/audio/gstaudiofilter.h>
|
#include <gst/audio/gstaudiofilter.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
typedef struct _GstAudiofilterTemplate GstAudiofilterTemplate;
|
typedef struct _GstAudioFilterTemplate GstAudioFilterTemplate;
|
||||||
typedef struct _GstAudiofilterTemplateClass GstAudiofilterTemplateClass;
|
typedef struct _GstAudioFilterTemplateClass GstAudioFilterTemplateClass;
|
||||||
|
|
||||||
#define GST_TYPE_AUDIO_FILTER_TEMPLATE \
|
#define GST_TYPE_AUDIO_FILTER_TEMPLATE \
|
||||||
(gst_audio_filter_template_get_type())
|
(gst_audio_filter_template_get_type())
|
||||||
#define GST_AUDIO_FILTER_TEMPLATE(obj) \
|
#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) \
|
#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) \
|
#define GST_IS_AUDIO_FILTER_TEMPLATE(obj) \
|
||||||
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIO_FILTER_TEMPLATE))
|
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIO_FILTER_TEMPLATE))
|
||||||
#define GST_IS_AUDIO_FILTER_TEMPLATE_CLASS(obj) \
|
#define GST_IS_AUDIO_FILTER_TEMPLATE_CLASS(obj) \
|
||||||
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIO_FILTER_TEMPLATE))
|
(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,
|
static void gst_audio_filter_template_get_property (GObject * object,
|
||||||
guint prop_id, GValue * value, GParamSpec * pspec);
|
guint prop_id, GValue * value, GParamSpec * pspec);
|
||||||
|
|
||||||
static void gst_audio_filter_template_setup (GstAudiofilter * audiofilter);
|
static void gst_audio_filter_template_setup (GstAudioFilter * audiofilter);
|
||||||
static void gst_audio_filter_template_filter (GstAudiofilter * audiofilter,
|
static void gst_audio_filter_template_filter (GstAudioFilter * audiofilter,
|
||||||
GstBuffer * outbuf, GstBuffer * inbuf);
|
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);
|
audiofilter, GstBuffer * buf);
|
||||||
|
|
||||||
GType
|
GType
|
||||||
gst_audio_filter_template_get_type (void)
|
gst_audio_filter_template_get_type (void)
|
||||||
{
|
{
|
||||||
static GType audiofilter_template_type = 0;
|
static GType audio_filter_template_type = 0;
|
||||||
|
|
||||||
if (!audiofilter_template_type) {
|
if (!audio_filter_template_type) {
|
||||||
static const GTypeInfo audiofilter_template_info = {
|
static const GTypeInfo audio_filter_template_info = {
|
||||||
sizeof (GstAudiofilterTemplateClass),
|
sizeof (GstAudioFilterTemplateClass),
|
||||||
gst_audio_filter_template_base_init,
|
gst_audio_filter_template_base_init,
|
||||||
NULL,
|
NULL,
|
||||||
gst_audio_filter_template_class_init,
|
gst_audio_filter_template_class_init,
|
||||||
NULL,
|
NULL,
|
||||||
gst_audio_filter_template_init,
|
gst_audio_filter_template_init,
|
||||||
sizeof (GstAudiofilterTemplate),
|
sizeof (GstAudioFilterTemplate),
|
||||||
0,
|
0,
|
||||||
NULL,
|
NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
audiofilter_template_type = g_type_register_static (GST_TYPE_AUDIO_FILTER,
|
audio_filter_template_type = g_type_register_static (GST_TYPE_AUDIO_FILTER,
|
||||||
"GstAudiofilterTemplate", &audiofilter_template_info, 0);
|
"GstAudioFilterTemplate", &audio_filter_template_info, 0);
|
||||||
}
|
}
|
||||||
return audiofilter_template_type;
|
return audio_filter_template_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gst_audio_filter_template_base_init (gpointer g_class)
|
gst_audio_filter_template_base_init (gpointer g_class)
|
||||||
{
|
{
|
||||||
static GstElementDetails audiofilter_template_details = {
|
static GstElementDetails audio_filter_template_details = {
|
||||||
"Audio filter template",
|
"Audio filter template",
|
||||||
"Filter/Effect/Audio",
|
"Filter/Effect/Audio",
|
||||||
"Filters audio",
|
"Filters audio",
|
||||||
"David Schleef <ds@schleef.org>"
|
"David Schleef <ds@schleef.org>"
|
||||||
};
|
};
|
||||||
GstAudiofilterTemplateClass *klass = (GstAudiofilterTemplateClass *) g_class;
|
GstAudioFilterTemplateClass *klass = (GstAudioFilterTemplateClass *) g_class;
|
||||||
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
|
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_audio_filter_class_add_pad_templates (GST_AUDIO_FILTER_CLASS (g_class),
|
||||||
gst_caps_from_string (GST_AUDIO_INT_STANDARD_PAD_TEMPLATE_CAPS));
|
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;
|
GObjectClass *gobject_class;
|
||||||
GstElementClass *gstelement_class;
|
GstElementClass *gstelement_class;
|
||||||
GstAudiofilterTemplateClass *klass;
|
GstAudioFilterTemplateClass *klass;
|
||||||
GstAudiofilterClass *audiofilter_class;
|
GstAudioFilterClass *audio_filter_class;
|
||||||
|
|
||||||
klass = (GstAudiofilterTemplateClass *) g_class;
|
klass = (GstAudioFilterTemplateClass *) g_class;
|
||||||
gobject_class = (GObjectClass *) klass;
|
gobject_class = (GObjectClass *) klass;
|
||||||
gstelement_class = (GstElementClass *) klass;
|
gstelement_class = (GstElementClass *) klass;
|
||||||
audiofilter_class = (GstAudiofilterClass *) g_class;
|
audio_filter_class = (GstAudioFilterClass *) g_class;
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
g_object_class_install_property (gobject_class, ARG_METHOD,
|
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->set_property = gst_audio_filter_template_set_property;
|
||||||
gobject_class->get_property = gst_audio_filter_template_get_property;
|
gobject_class->get_property = gst_audio_filter_template_get_property;
|
||||||
|
|
||||||
audiofilter_class->setup = gst_audio_filter_template_setup;
|
audio_filter_class->setup = gst_audio_filter_template_setup;
|
||||||
audiofilter_class->filter = gst_audio_filter_template_filter;
|
audio_filter_class->filter = gst_audio_filter_template_filter;
|
||||||
audiofilter_class->filter_inplace = gst_audio_filter_template_filter_inplace;
|
audio_filter_class->filter_inplace = gst_audio_filter_template_filter_inplace;
|
||||||
audiofilter_class->filter = NULL;
|
audio_filter_class->filter = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gst_audio_filter_template_init (GTypeInstance * instance, gpointer g_class)
|
gst_audio_filter_template_init (GTypeInstance * instance, gpointer g_class)
|
||||||
{
|
{
|
||||||
//GstAudiofilterTemplate *audiofilter_template = GST_AUDIO_FILTER_TEMPLATE (instance);
|
//GstAudioFilterTemplate *audio_filter_template = GST_AUDIO_FILTER_TEMPLATE (instance);
|
||||||
//GstAudiofilter *audiofilter = GST_AUDIO_FILTER (instance);
|
//GstAudioFilter *audiofilter = GST_AUDIO_FILTER (instance);
|
||||||
|
|
||||||
GST_DEBUG ("gst_audio_filter_template_init");
|
GST_DEBUG ("gst_audio_filter_template_init");
|
||||||
|
|
||||||
@ -177,7 +177,7 @@ static void
|
|||||||
gst_audio_filter_template_set_property (GObject * object, guint prop_id,
|
gst_audio_filter_template_set_property (GObject * object, guint prop_id,
|
||||||
const GValue * value, GParamSpec * pspec)
|
const GValue * value, GParamSpec * pspec)
|
||||||
{
|
{
|
||||||
GstAudiofilterTemplate *src;
|
GstAudioFilterTemplate *src;
|
||||||
|
|
||||||
g_return_if_fail (GST_IS_AUDIO_FILTER_TEMPLATE (object));
|
g_return_if_fail (GST_IS_AUDIO_FILTER_TEMPLATE (object));
|
||||||
src = GST_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,
|
gst_audio_filter_template_get_property (GObject * object, guint prop_id,
|
||||||
GValue * value, GParamSpec * pspec)
|
GValue * value, GParamSpec * pspec)
|
||||||
{
|
{
|
||||||
GstAudiofilterTemplate *src;
|
GstAudioFilterTemplate *src;
|
||||||
|
|
||||||
g_return_if_fail (GST_IS_AUDIO_FILTER_TEMPLATE (object));
|
g_return_if_fail (GST_IS_AUDIO_FILTER_TEMPLATE (object));
|
||||||
src = GST_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_PLUGIN_DEFINE (GST_VERSION_MAJOR,
|
||||||
GST_VERSION_MINOR,
|
GST_VERSION_MINOR,
|
||||||
"gstaudiofilter_template",
|
"gstaudio_filter_template",
|
||||||
"Audio filter template",
|
"Audio filter template",
|
||||||
plugin_init, VERSION, "LGPL", GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)
|
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));
|
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 */
|
/* 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. */
|
* with a minimum of memory copies. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gst_audio_filter_template_filter (GstAudiofilter * audiofilter,
|
gst_audio_filter_template_filter (GstAudioFilter * audiofilter,
|
||||||
GstBuffer * outbuf, GstBuffer * inbuf)
|
GstBuffer * outbuf, GstBuffer * inbuf)
|
||||||
{
|
{
|
||||||
GstAudiofilterTemplate *audiofilter_template;
|
GstAudioFilterTemplate *audio_filter_template;
|
||||||
|
|
||||||
g_return_if_fail (GST_IS_AUDIO_FILTER_TEMPLATE (audiofilter));
|
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
|
/* do something interesting here. This simply copies the source
|
||||||
* to the destination. */
|
* to the destination. */
|
||||||
@ -251,13 +251,13 @@ gst_audio_filter_template_filter (GstAudiofilter * audiofilter,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gst_audio_filter_template_filter_inplace (GstAudiofilter * audiofilter,
|
gst_audio_filter_template_filter_inplace (GstAudioFilter * audiofilter,
|
||||||
GstBuffer * buf)
|
GstBuffer * buf)
|
||||||
{
|
{
|
||||||
GstAudiofilterTemplate *audiofilter_template;
|
GstAudioFilterTemplate *audio_filter_template;
|
||||||
|
|
||||||
g_return_if_fail (GST_IS_AUDIO_FILTER_TEMPLATE (audiofilter));
|
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
|
/* do something interesting here. This simply copies the source
|
||||||
* to the destination. */
|
* to the destination. */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user