mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-20 00:31:13 +00:00
Rename audiovoice to audiokaraoke and add it to the docs.
Original commit message from CVS: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/gst-plugins-good-plugins.args: * docs/plugins/gst-plugins-good-plugins.hierarchy: * docs/plugins/inspect/plugin-audiofx.xml: * gst/audiofx/Makefile.am: * gst/audiofx/audiofx.c: * gst/audiofx/audiokaraoke.c: * gst/audiofx/audiokaraoke.h: * gst/audiofx/audiovoice.c: * gst/audiofx/audiovoice.h: Rename audiovoice to audiokaraoke and add it to the docs.
This commit is contained in:
parent
9e26e8b6b4
commit
9c17a6006f
11 changed files with 155 additions and 59 deletions
16
ChangeLog
16
ChangeLog
|
@ -1,3 +1,19 @@
|
|||
2008-05-28 Stefan Kost <ensonic@users.sf.net>
|
||||
|
||||
* docs/plugins/Makefile.am:
|
||||
* docs/plugins/gst-plugins-good-plugins-docs.sgml:
|
||||
* docs/plugins/gst-plugins-good-plugins-sections.txt:
|
||||
* docs/plugins/gst-plugins-good-plugins.args:
|
||||
* docs/plugins/gst-plugins-good-plugins.hierarchy:
|
||||
* docs/plugins/inspect/plugin-audiofx.xml:
|
||||
* gst/audiofx/Makefile.am:
|
||||
* gst/audiofx/audiofx.c:
|
||||
* gst/audiofx/audiokaraoke.c:
|
||||
* gst/audiofx/audiokaraoke.h:
|
||||
* gst/audiofx/audiovoice.c:
|
||||
* gst/audiofx/audiovoice.h:
|
||||
Rename audiovoice to audiokaraoke and add it to the docs.
|
||||
|
||||
2008-05-28 Stefan Kost <ensonic@users.sf.net>
|
||||
|
||||
* REQUIREMENTS:
|
||||
|
|
|
@ -102,6 +102,7 @@ EXTRA_HFILES = \
|
|||
$(top_srcdir)/gst/audiofx/audioamplify.h \
|
||||
$(top_srcdir)/gst/audiofx/audiodynamic.h \
|
||||
$(top_srcdir)/gst/audiofx/audioinvert.h \
|
||||
$(top_srcdir)/gst/audiofx/audiokaraoke.h \
|
||||
$(top_srcdir)/gst/audiofx/audiopanorama.h \
|
||||
$(top_srcdir)/gst/audiofx/audiocheblimit.h \
|
||||
$(top_srcdir)/gst/audiofx/audiochebband.h \
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
<xi:include href="xml/element-audiodynamic.xml" />
|
||||
<xi:include href="xml/element-audioinvert.xml" />
|
||||
<xi:include href="xml/element-audiopanorama.xml" />
|
||||
<xi:include href="xml/element-audiokaraoke.xml" />
|
||||
<xi:include href="xml/element-autoaudiosink.xml" />
|
||||
<xi:include href="xml/element-autovideosink.xml" />
|
||||
<xi:include href="xml/element-avidemux.xml" />
|
||||
|
|
|
@ -135,6 +135,22 @@ GST_TYPE_AUDIO_INVERT
|
|||
gst_audio_invert_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>element-audiokaraoke</FILE>
|
||||
<TITLE>audiokaraoke</TITLE>
|
||||
GstAudioKaraoke
|
||||
<SUBSECTION Standard>
|
||||
GstAudioKaraokeClass
|
||||
GstAudioKaraokeProcessFunc
|
||||
GST_AUDIO_KARAOKE
|
||||
GST_AUDIO_KARAOKE_CLASS
|
||||
GST_AUDIO_KARAOKE_GET_CLASS
|
||||
GST_IS_AUDIO_KARAOKE
|
||||
GST_IS_AUDIO_KARAOKE_CLASS
|
||||
GST_TYPE_AUDIO_KARAOKE
|
||||
gst_audio_karaoke_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>element-audiopanorama</FILE>
|
||||
<TITLE>audiopanorama</TITLE>
|
||||
|
|
|
@ -19208,3 +19208,43 @@
|
|||
<DEFAULT>TRUE</DEFAULT>
|
||||
</ARG>
|
||||
|
||||
<ARG>
|
||||
<NAME>GstAudioKaraoke::filter-band</NAME>
|
||||
<TYPE>gfloat</TYPE>
|
||||
<RANGE>[0,441]</RANGE>
|
||||
<FLAGS>rw</FLAGS>
|
||||
<NICK>Filter Band</NICK>
|
||||
<BLURB>The Frequency band of the filter.</BLURB>
|
||||
<DEFAULT>220</DEFAULT>
|
||||
</ARG>
|
||||
|
||||
<ARG>
|
||||
<NAME>GstAudioKaraoke::filter-width</NAME>
|
||||
<TYPE>gfloat</TYPE>
|
||||
<RANGE>[0,100]</RANGE>
|
||||
<FLAGS>rw</FLAGS>
|
||||
<NICK>Filter Width</NICK>
|
||||
<BLURB>The Frequency width of the filter.</BLURB>
|
||||
<DEFAULT>100</DEFAULT>
|
||||
</ARG>
|
||||
|
||||
<ARG>
|
||||
<NAME>GstAudioKaraoke::level</NAME>
|
||||
<TYPE>gfloat</TYPE>
|
||||
<RANGE>[0,1]</RANGE>
|
||||
<FLAGS>rw</FLAGS>
|
||||
<NICK>Level</NICK>
|
||||
<BLURB>Level of the effect (1.0 = full).</BLURB>
|
||||
<DEFAULT>1</DEFAULT>
|
||||
</ARG>
|
||||
|
||||
<ARG>
|
||||
<NAME>GstAudioKaraoke::mono-level</NAME>
|
||||
<TYPE>gfloat</TYPE>
|
||||
<RANGE>[0,1]</RANGE>
|
||||
<FLAGS>rw</FLAGS>
|
||||
<NICK>Mono Level</NICK>
|
||||
<BLURB>Level of the mono channel (1.0 = full).</BLURB>
|
||||
<DEFAULT>1</DEFAULT>
|
||||
</ARG>
|
||||
|
||||
|
|
|
@ -45,6 +45,7 @@ GObject
|
|||
GstAudioPanorama
|
||||
GstAudioFilter
|
||||
GstAudioInvert
|
||||
GstAudioKaraoke
|
||||
GstAudioAmplify
|
||||
GstAudioDynamic
|
||||
GstAudioChebLimit
|
||||
|
|
|
@ -114,6 +114,27 @@
|
|||
</caps>
|
||||
</pads>
|
||||
</element>
|
||||
<element>
|
||||
<name>audiokaraoke</name>
|
||||
<longname>AudioKaraoke</longname>
|
||||
<class>Filter/Effect/Audio</class>
|
||||
<description>Removes voice from sound</description>
|
||||
<author>Wim Taymans <wim.taymans@gmail.com></author>
|
||||
<pads>
|
||||
<caps>
|
||||
<name>src</name>
|
||||
<direction>source</direction>
|
||||
<presence>always</presence>
|
||||
<details>audio/x-raw-int, depth=(int)16, width=(int)16, endianness=(int)1234, signed=(boolean)true, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]; audio/x-raw-float, width=(int)32, endianness=(int)1234, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]</details>
|
||||
</caps>
|
||||
<caps>
|
||||
<name>sink</name>
|
||||
<direction>sink</direction>
|
||||
<presence>always</presence>
|
||||
<details>audio/x-raw-int, depth=(int)16, width=(int)16, endianness=(int)1234, signed=(boolean)true, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]; audio/x-raw-float, width=(int)32, endianness=(int)1234, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]</details>
|
||||
</caps>
|
||||
</pads>
|
||||
</element>
|
||||
<element>
|
||||
<name>audiopanorama</name>
|
||||
<longname>Stereo positioning</longname>
|
||||
|
|
|
@ -8,7 +8,7 @@ libgstaudiofx_la_SOURCES = audiofx.c\
|
|||
audioinvert.c \
|
||||
audioamplify.c \
|
||||
audiodynamic.c \
|
||||
audiovoice.c \
|
||||
audiokaraoke.c \
|
||||
audiocheblimit.c \
|
||||
audiochebband.c \
|
||||
audiowsincband.c \
|
||||
|
@ -32,7 +32,7 @@ noinst_HEADERS = audiopanorama.h \
|
|||
audioinvert.h \
|
||||
audioamplify.h \
|
||||
audiodynamic.h \
|
||||
audiovoice.h \
|
||||
audiokaraoke.h \
|
||||
audiocheblimit.h \
|
||||
audiochebband.h \
|
||||
audiowsincband.h \
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
#include "audiopanorama.h"
|
||||
#include "audioinvert.h"
|
||||
#include "audiovoice.h"
|
||||
#include "audiokaraoke.h"
|
||||
#include "audioamplify.h"
|
||||
#include "audiodynamic.h"
|
||||
#include "audiocheblimit.h"
|
||||
|
@ -50,8 +50,8 @@ plugin_init (GstPlugin * plugin)
|
|||
GST_TYPE_AUDIO_PANORAMA) &&
|
||||
gst_element_register (plugin, "audioinvert", GST_RANK_NONE,
|
||||
GST_TYPE_AUDIO_INVERT) &&
|
||||
gst_element_register (plugin, "audiovoice", GST_RANK_NONE,
|
||||
GST_TYPE_AUDIO_VOICE) &&
|
||||
gst_element_register (plugin, "audiokaraoke", GST_RANK_NONE,
|
||||
GST_TYPE_AUDIO_KARAOKE) &&
|
||||
gst_element_register (plugin, "audioamplify", GST_RANK_NONE,
|
||||
GST_TYPE_AUDIO_AMPLIFY) &&
|
||||
gst_element_register (plugin, "audiodynamic", GST_RANK_NONE,
|
||||
|
|
|
@ -19,16 +19,16 @@
|
|||
*/
|
||||
|
||||
/**
|
||||
* SECTION:element-audiovoice
|
||||
* SECTION:element-audiokaraoke
|
||||
* @short_description: Voice removal element
|
||||
*
|
||||
* <refsect2>
|
||||
* Remove the voice from audio by removing the center channel.
|
||||
* Remove the voice from audio by filtering the center channel.
|
||||
* This plugin is useful for karaoke applications.
|
||||
* <title>Example launch line</title>
|
||||
* <para>
|
||||
* <programlisting>
|
||||
* gst-launch filesrc location="song.ogg" ! oggdemux ! vorbisdec ! audiovoice ! audioconvert ! alsasink
|
||||
* gst-launch filesrc location=song.ogg ! oggdemux ! vorbisdec ! audiokaraoke ! audioconvert ! alsasink
|
||||
* </programlisting>
|
||||
* </para>
|
||||
* </refsect2>
|
||||
|
@ -46,13 +46,13 @@
|
|||
#include <gst/audio/gstaudiofilter.h>
|
||||
#include <gst/controller/gstcontroller.h>
|
||||
|
||||
#include "audiovoice.h"
|
||||
#include "audiokaraoke.h"
|
||||
|
||||
#define GST_CAT_DEFAULT gst_audio_voice_debug
|
||||
#define GST_CAT_DEFAULT gst_audio_karaoke_debug
|
||||
GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
|
||||
|
||||
static const GstElementDetails element_details =
|
||||
GST_ELEMENT_DETAILS ("AudioVoice",
|
||||
GST_ELEMENT_DETAILS ("AudioKaraoke",
|
||||
"Filter/Effect/Audio",
|
||||
"Removes voice from sound",
|
||||
"Wim Taymans <wim.taymans@gmail.com>");
|
||||
|
@ -94,30 +94,30 @@ enum
|
|||
" channels=(int)[1,MAX]"
|
||||
|
||||
#define DEBUG_INIT(bla) \
|
||||
GST_DEBUG_CATEGORY_INIT (gst_audio_voice_debug, "audiovoice", 0, "audiovoice element");
|
||||
GST_DEBUG_CATEGORY_INIT (gst_audio_karaoke_debug, "audiokaraoke", 0, "audiokaraoke element");
|
||||
|
||||
GST_BOILERPLATE_FULL (GstAudioVoice, gst_audio_voice, GstAudioFilter,
|
||||
GST_BOILERPLATE_FULL (GstAudioKaraoke, gst_audio_karaoke, GstAudioFilter,
|
||||
GST_TYPE_AUDIO_FILTER, DEBUG_INIT);
|
||||
|
||||
static void gst_audio_voice_set_property (GObject * object, guint prop_id,
|
||||
static void gst_audio_karaoke_set_property (GObject * object, guint prop_id,
|
||||
const GValue * value, GParamSpec * pspec);
|
||||
static void gst_audio_voice_get_property (GObject * object, guint prop_id,
|
||||
static void gst_audio_karaoke_get_property (GObject * object, guint prop_id,
|
||||
GValue * value, GParamSpec * pspec);
|
||||
|
||||
static gboolean gst_audio_voice_setup (GstAudioFilter * filter,
|
||||
static gboolean gst_audio_karaoke_setup (GstAudioFilter * filter,
|
||||
GstRingBufferSpec * format);
|
||||
static GstFlowReturn gst_audio_voice_transform_ip (GstBaseTransform * base,
|
||||
static GstFlowReturn gst_audio_karaoke_transform_ip (GstBaseTransform * base,
|
||||
GstBuffer * buf);
|
||||
|
||||
static void gst_audio_voice_transform_int (GstAudioVoice * filter,
|
||||
static void gst_audio_karaoke_transform_int (GstAudioKaraoke * filter,
|
||||
gint16 * data, guint num_samples);
|
||||
static void gst_audio_voice_transform_float (GstAudioVoice * filter,
|
||||
static void gst_audio_karaoke_transform_float (GstAudioKaraoke * filter,
|
||||
gfloat * data, guint num_samples);
|
||||
|
||||
/* GObject vmethod implementations */
|
||||
|
||||
static void
|
||||
gst_audio_voice_base_init (gpointer klass)
|
||||
gst_audio_karaoke_base_init (gpointer klass)
|
||||
{
|
||||
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
|
||||
GstCaps *caps;
|
||||
|
@ -131,13 +131,13 @@ gst_audio_voice_base_init (gpointer klass)
|
|||
}
|
||||
|
||||
static void
|
||||
gst_audio_voice_class_init (GstAudioVoiceClass * klass)
|
||||
gst_audio_karaoke_class_init (GstAudioKaraokeClass * klass)
|
||||
{
|
||||
GObjectClass *gobject_class;
|
||||
|
||||
gobject_class = (GObjectClass *) klass;
|
||||
gobject_class->set_property = gst_audio_voice_set_property;
|
||||
gobject_class->get_property = gst_audio_voice_get_property;
|
||||
gobject_class->set_property = gst_audio_karaoke_set_property;
|
||||
gobject_class->get_property = gst_audio_karaoke_get_property;
|
||||
|
||||
g_object_class_install_property (gobject_class, PROP_LEVEL,
|
||||
g_param_spec_float ("level", "Level",
|
||||
|
@ -160,13 +160,13 @@ gst_audio_voice_class_init (GstAudioVoiceClass * klass)
|
|||
G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE));
|
||||
|
||||
GST_AUDIO_FILTER_CLASS (klass)->setup =
|
||||
GST_DEBUG_FUNCPTR (gst_audio_voice_setup);
|
||||
GST_DEBUG_FUNCPTR (gst_audio_karaoke_setup);
|
||||
GST_BASE_TRANSFORM_CLASS (klass)->transform_ip =
|
||||
GST_DEBUG_FUNCPTR (gst_audio_voice_transform_ip);
|
||||
GST_DEBUG_FUNCPTR (gst_audio_karaoke_transform_ip);
|
||||
}
|
||||
|
||||
static void
|
||||
gst_audio_voice_init (GstAudioVoice * filter, GstAudioVoiceClass * klass)
|
||||
gst_audio_karaoke_init (GstAudioKaraoke * filter, GstAudioKaraokeClass * klass)
|
||||
{
|
||||
gst_base_transform_set_in_place (GST_BASE_TRANSFORM (filter), TRUE);
|
||||
gst_base_transform_set_gap_aware (GST_BASE_TRANSFORM (filter), TRUE);
|
||||
|
@ -178,7 +178,7 @@ gst_audio_voice_init (GstAudioVoice * filter, GstAudioVoiceClass * klass)
|
|||
}
|
||||
|
||||
static void
|
||||
update_filter (GstAudioVoice * filter, gint rate)
|
||||
update_filter (GstAudioKaraoke * filter, gint rate)
|
||||
{
|
||||
gfloat A, B, C;
|
||||
|
||||
|
@ -197,12 +197,12 @@ update_filter (GstAudioVoice * filter, gint rate)
|
|||
}
|
||||
|
||||
static void
|
||||
gst_audio_voice_set_property (GObject * object, guint prop_id,
|
||||
gst_audio_karaoke_set_property (GObject * object, guint prop_id,
|
||||
const GValue * value, GParamSpec * pspec)
|
||||
{
|
||||
GstAudioVoice *filter;
|
||||
GstAudioKaraoke *filter;
|
||||
|
||||
filter = GST_AUDIO_VOICE (object);
|
||||
filter = GST_AUDIO_KARAOKE (object);
|
||||
|
||||
switch (prop_id) {
|
||||
case PROP_LEVEL:
|
||||
|
@ -226,12 +226,12 @@ gst_audio_voice_set_property (GObject * object, guint prop_id,
|
|||
}
|
||||
|
||||
static void
|
||||
gst_audio_voice_get_property (GObject * object, guint prop_id,
|
||||
gst_audio_karaoke_get_property (GObject * object, guint prop_id,
|
||||
GValue * value, GParamSpec * pspec)
|
||||
{
|
||||
GstAudioVoice *filter;
|
||||
GstAudioKaraoke *filter;
|
||||
|
||||
filter = GST_AUDIO_VOICE (object);
|
||||
filter = GST_AUDIO_KARAOKE (object);
|
||||
|
||||
switch (prop_id) {
|
||||
case PROP_LEVEL:
|
||||
|
@ -255,20 +255,20 @@ gst_audio_voice_get_property (GObject * object, guint prop_id,
|
|||
/* GstAudioFilter vmethod implementations */
|
||||
|
||||
static gboolean
|
||||
gst_audio_voice_setup (GstAudioFilter * base, GstRingBufferSpec * format)
|
||||
gst_audio_karaoke_setup (GstAudioFilter * base, GstRingBufferSpec * format)
|
||||
{
|
||||
GstAudioVoice *filter = GST_AUDIO_VOICE (base);
|
||||
GstAudioKaraoke *filter = GST_AUDIO_KARAOKE (base);
|
||||
gboolean ret = TRUE;
|
||||
|
||||
filter->channels = format->channels;
|
||||
filter->rate = format->rate;
|
||||
|
||||
if (format->type == GST_BUFTYPE_FLOAT && format->width == 32)
|
||||
filter->process = (GstAudioVoiceProcessFunc)
|
||||
gst_audio_voice_transform_float;
|
||||
filter->process = (GstAudioKaraokeProcessFunc)
|
||||
gst_audio_karaoke_transform_float;
|
||||
else if (format->type == GST_BUFTYPE_LINEAR && format->width == 16)
|
||||
filter->process = (GstAudioVoiceProcessFunc)
|
||||
gst_audio_voice_transform_int;
|
||||
filter->process = (GstAudioKaraokeProcessFunc)
|
||||
gst_audio_karaoke_transform_int;
|
||||
else
|
||||
ret = FALSE;
|
||||
|
||||
|
@ -278,7 +278,7 @@ gst_audio_voice_setup (GstAudioFilter * base, GstRingBufferSpec * format)
|
|||
}
|
||||
|
||||
static void
|
||||
gst_audio_voice_transform_int (GstAudioVoice * filter,
|
||||
gst_audio_karaoke_transform_int (GstAudioKaraoke * filter,
|
||||
gint16 * data, guint num_samples)
|
||||
{
|
||||
gint i, l, r, o, x;
|
||||
|
@ -311,7 +311,7 @@ gst_audio_voice_transform_int (GstAudioVoice * filter,
|
|||
}
|
||||
|
||||
static void
|
||||
gst_audio_voice_transform_float (GstAudioVoice * filter,
|
||||
gst_audio_karaoke_transform_float (GstAudioKaraoke * filter,
|
||||
gfloat * data, guint num_samples)
|
||||
{
|
||||
gint i;
|
||||
|
@ -340,9 +340,9 @@ gst_audio_voice_transform_float (GstAudioVoice * filter,
|
|||
|
||||
/* GstBaseTransform vmethod implementations */
|
||||
static GstFlowReturn
|
||||
gst_audio_voice_transform_ip (GstBaseTransform * base, GstBuffer * buf)
|
||||
gst_audio_karaoke_transform_ip (GstBaseTransform * base, GstBuffer * buf)
|
||||
{
|
||||
GstAudioVoice *filter = GST_AUDIO_VOICE (base);
|
||||
GstAudioKaraoke *filter = GST_AUDIO_KARAOKE (base);
|
||||
guint num_samples =
|
||||
GST_BUFFER_SIZE (buf) / (GST_AUDIO_FILTER (filter)->format.width / 8);
|
||||
|
|
@ -18,8 +18,8 @@
|
|||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef __GST_AUDIO_VOICE_H__
|
||||
#define __GST_AUDIO_VOICE_H__
|
||||
#ifndef __GST_AUDIO_KARAOKE_H__
|
||||
#define __GST_AUDIO_KARAOKE_H__
|
||||
|
||||
#include <gst/gst.h>
|
||||
#include <gst/base/gstbasetransform.h>
|
||||
|
@ -27,18 +27,18 @@
|
|||
#include <gst/audio/gstaudiofilter.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
#define GST_TYPE_AUDIO_VOICE (gst_audio_voice_get_type())
|
||||
#define GST_AUDIO_VOICE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIO_VOICE,GstAudioVoice))
|
||||
#define GST_IS_AUDIO_VOICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIO_VOICE))
|
||||
#define GST_AUDIO_VOICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass) ,GST_TYPE_AUDIO_VOICE,GstAudioVoiceClass))
|
||||
#define GST_IS_AUDIO_VOICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass) ,GST_TYPE_AUDIO_VOICE))
|
||||
#define GST_AUDIO_VOICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj) ,GST_TYPE_AUDIO_VOICE,GstAudioVoiceClass))
|
||||
typedef struct _GstAudioVoice GstAudioVoice;
|
||||
typedef struct _GstAudioVoiceClass GstAudioVoiceClass;
|
||||
#define GST_TYPE_AUDIO_KARAOKE (gst_audio_karaoke_get_type())
|
||||
#define GST_AUDIO_KARAOKE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIO_KARAOKE,GstAudioKaraoke))
|
||||
#define GST_IS_AUDIO_KARAOKE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIO_KARAOKE))
|
||||
#define GST_AUDIO_KARAOKE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass) ,GST_TYPE_AUDIO_KARAOKE,GstAudioKaraokeClass))
|
||||
#define GST_IS_AUDIO_KARAOKE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass) ,GST_TYPE_AUDIO_KARAOKE))
|
||||
#define GST_AUDIO_KARAOKE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj) ,GST_TYPE_AUDIO_KARAOKE,GstAudioKaraokeClass))
|
||||
typedef struct _GstAudioKaraoke GstAudioKaraoke;
|
||||
typedef struct _GstAudioKaraokeClass GstAudioKaraokeClass;
|
||||
|
||||
typedef void (*GstAudioVoiceProcessFunc) (GstAudioVoice *, guint8 *, guint);
|
||||
typedef void (*GstAudioKaraokeProcessFunc) (GstAudioKaraoke *, guint8 *, guint);
|
||||
|
||||
struct _GstAudioVoice
|
||||
struct _GstAudioKaraoke
|
||||
{
|
||||
GstAudioFilter audiofilter;
|
||||
|
||||
|
@ -56,15 +56,15 @@ struct _GstAudioVoice
|
|||
gfloat y1, y2;
|
||||
|
||||
/* < private > */
|
||||
GstAudioVoiceProcessFunc process;
|
||||
GstAudioKaraokeProcessFunc process;
|
||||
};
|
||||
|
||||
struct _GstAudioVoiceClass
|
||||
struct _GstAudioKaraokeClass
|
||||
{
|
||||
GstAudioFilterClass parent;
|
||||
};
|
||||
|
||||
GType gst_audio_voice_get_type (void);
|
||||
GType gst_audio_karaoke_get_type (void);
|
||||
|
||||
G_END_DECLS
|
||||
#endif /* __GST_AUDIO_VOICE_H__ */
|
||||
#endif /* __GST_AUDIO_KARAOKE_H__ */
|
Loading…
Reference in a new issue