mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-06 06:22:29 +00:00
audiofx: allow per feature registration
Split plugin into features including dynamic types which can be indiviually registered during a static build. More details here: https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199 https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
This commit is contained in:
parent
80f8780e92
commit
d8fa279161
29 changed files with 73 additions and 27 deletions
|
@ -103,6 +103,8 @@ gst_audio_amplify_clipping_method_get_type (void)
|
|||
" layout=(string) {interleaved, non-interleaved}"
|
||||
|
||||
G_DEFINE_TYPE (GstAudioAmplify, gst_audio_amplify, GST_TYPE_AUDIO_FILTER);
|
||||
GST_ELEMENT_REGISTER_DEFINE (audioamplify, "audioamplify",
|
||||
GST_RANK_NONE, GST_TYPE_AUDIO_AMPLIFY);
|
||||
|
||||
static gboolean gst_audio_amplify_set_process_function (GstAudioAmplify *
|
||||
filter, gint clipping, GstAudioFormat format);
|
||||
|
|
|
@ -58,5 +58,7 @@ struct _GstAudioAmplifyClass
|
|||
|
||||
GType gst_audio_amplify_get_type (void);
|
||||
|
||||
GST_ELEMENT_REGISTER_DECLARE (audioamplify);
|
||||
|
||||
G_END_DECLS
|
||||
#endif /* __GST_AUDIO_AMPLIFY_H__ */
|
||||
|
|
|
@ -100,6 +100,8 @@ enum
|
|||
#define gst_audio_cheb_band_parent_class parent_class
|
||||
G_DEFINE_TYPE (GstAudioChebBand, gst_audio_cheb_band,
|
||||
GST_TYPE_AUDIO_FX_BASE_IIR_FILTER);
|
||||
GST_ELEMENT_REGISTER_DEFINE (audiochebband, "audiochebband",
|
||||
GST_RANK_NONE, GST_TYPE_AUDIO_CHEB_BAND);
|
||||
|
||||
static void gst_audio_cheb_band_set_property (GObject * object,
|
||||
guint prop_id, const GValue * value, GParamSpec * pspec);
|
||||
|
|
|
@ -60,5 +60,7 @@ struct _GstAudioChebBandClass
|
|||
|
||||
GType gst_audio_cheb_band_get_type (void);
|
||||
|
||||
GST_ELEMENT_REGISTER_DECLARE (audiochebband);
|
||||
|
||||
G_END_DECLS
|
||||
#endif /* __GST_AUDIO_CHEB_BAND_H__ */
|
||||
|
|
|
@ -95,6 +95,8 @@ enum
|
|||
#define gst_audio_cheb_limit_parent_class parent_class
|
||||
G_DEFINE_TYPE (GstAudioChebLimit,
|
||||
gst_audio_cheb_limit, GST_TYPE_AUDIO_FX_BASE_IIR_FILTER);
|
||||
GST_ELEMENT_REGISTER_DEFINE (audiocheblimit, "audiocheblimit",
|
||||
GST_RANK_NONE, GST_TYPE_AUDIO_CHEB_LIMIT);
|
||||
|
||||
static void gst_audio_cheb_limit_set_property (GObject * object,
|
||||
guint prop_id, const GValue * value, GParamSpec * pspec);
|
||||
|
|
|
@ -61,6 +61,8 @@ struct _GstAudioChebLimitClass
|
|||
|
||||
GType gst_audio_cheb_limit_get_type (void);
|
||||
|
||||
GST_ELEMENT_REGISTER_DECLARE (audiocheblimit);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GST_AUDIO_CHEB_LIMIT_H__ */
|
||||
|
|
|
@ -76,6 +76,8 @@ enum
|
|||
" layout=(string) {interleaved, non-interleaved}"
|
||||
|
||||
G_DEFINE_TYPE (GstAudioDynamic, gst_audio_dynamic, GST_TYPE_AUDIO_FILTER);
|
||||
GST_ELEMENT_REGISTER_DEFINE (audiodynamic, "audiodynamic",
|
||||
GST_RANK_NONE, GST_TYPE_AUDIO_DYNAMIC);
|
||||
|
||||
static void gst_audio_dynamic_set_property (GObject * object, guint prop_id,
|
||||
const GValue * value, GParamSpec * pspec);
|
||||
|
|
|
@ -58,6 +58,8 @@ struct _GstAudioDynamicClass
|
|||
|
||||
GType gst_audio_dynamic_get_type (void);
|
||||
|
||||
GST_ELEMENT_REGISTER_DECLARE (audiodynamic);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GST_AUDIO_DYNAMIC_H__ */
|
||||
|
|
|
@ -85,6 +85,8 @@ enum
|
|||
|
||||
#define gst_audio_echo_parent_class parent_class
|
||||
G_DEFINE_TYPE (GstAudioEcho, gst_audio_echo, GST_TYPE_AUDIO_FILTER);
|
||||
GST_ELEMENT_REGISTER_DEFINE (audioecho, "audioecho",
|
||||
GST_RANK_NONE, GST_TYPE_AUDIO_ECHO);
|
||||
|
||||
static void gst_audio_echo_set_property (GObject * object, guint prop_id,
|
||||
const GValue * value, GParamSpec * pspec);
|
||||
|
|
|
@ -68,6 +68,8 @@ struct _GstAudioEchoClass
|
|||
|
||||
GType gst_audio_echo_get_type (void);
|
||||
|
||||
GST_ELEMENT_REGISTER_DECLARE (audioecho);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GST_AUDIO_ECHO_H__ */
|
||||
|
|
|
@ -84,6 +84,8 @@ static guint gst_audio_fir_filter_signals[LAST_SIGNAL] = { 0, };
|
|||
#define gst_audio_fir_filter_parent_class parent_class
|
||||
G_DEFINE_TYPE (GstAudioFIRFilter, gst_audio_fir_filter,
|
||||
GST_TYPE_AUDIO_FX_BASE_FIR_FILTER);
|
||||
GST_ELEMENT_REGISTER_DEFINE (audiofirfilter, "audiofirfilter",
|
||||
GST_RANK_NONE, GST_TYPE_AUDIO_FIR_FILTER);
|
||||
|
||||
static void gst_audio_fir_filter_set_property (GObject * object, guint prop_id,
|
||||
const GValue * value, GParamSpec * pspec);
|
||||
|
|
|
@ -66,6 +66,8 @@ struct _GstAudioFIRFilterClass {
|
|||
|
||||
GType gst_audio_fir_filter_get_type (void);
|
||||
|
||||
GST_ELEMENT_REGISTER_DECLARE (audiofirfilter);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GST_AUDIO_FIR_FILTER_H__ */
|
||||
|
|
|
@ -47,33 +47,24 @@
|
|||
static gboolean
|
||||
plugin_init (GstPlugin * plugin)
|
||||
{
|
||||
return (gst_element_register (plugin, "audiopanorama", GST_RANK_NONE,
|
||||
GST_TYPE_AUDIO_PANORAMA) &&
|
||||
gst_element_register (plugin, "audioinvert", GST_RANK_NONE,
|
||||
GST_TYPE_AUDIO_INVERT) &&
|
||||
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,
|
||||
GST_TYPE_AUDIO_DYNAMIC) &&
|
||||
gst_element_register (plugin, "audiocheblimit", GST_RANK_NONE,
|
||||
GST_TYPE_AUDIO_CHEB_LIMIT) &&
|
||||
gst_element_register (plugin, "audiochebband", GST_RANK_NONE,
|
||||
GST_TYPE_AUDIO_CHEB_BAND) &&
|
||||
gst_element_register (plugin, "audioiirfilter", GST_RANK_NONE,
|
||||
GST_TYPE_AUDIO_IIR_FILTER) &&
|
||||
gst_element_register (plugin, "audiowsinclimit", GST_RANK_NONE,
|
||||
GST_TYPE_AUDIO_WSINC_LIMIT) &&
|
||||
gst_element_register (plugin, "audiowsincband", GST_RANK_NONE,
|
||||
GST_TYPE_AUDIO_WSINC_BAND) &&
|
||||
gst_element_register (plugin, "audiofirfilter", GST_RANK_NONE,
|
||||
GST_TYPE_AUDIO_FIR_FILTER) &&
|
||||
gst_element_register (plugin, "audioecho", GST_RANK_NONE,
|
||||
GST_TYPE_AUDIO_ECHO) &&
|
||||
gst_element_register (plugin, "scaletempo", GST_RANK_NONE,
|
||||
GST_TYPE_SCALETEMPO) &&
|
||||
gst_element_register (plugin, "stereo", GST_RANK_NONE, GST_TYPE_STEREO));
|
||||
gboolean ret = FALSE;
|
||||
|
||||
ret |= GST_ELEMENT_REGISTER (audiopanorama, plugin);
|
||||
ret |= GST_ELEMENT_REGISTER (audioinvert, plugin);
|
||||
ret |= GST_ELEMENT_REGISTER (audiokaraoke, plugin);
|
||||
ret |= GST_ELEMENT_REGISTER (audioamplify, plugin);
|
||||
ret |= GST_ELEMENT_REGISTER (audiodynamic, plugin);
|
||||
ret |= GST_ELEMENT_REGISTER (audiocheblimit, plugin);
|
||||
ret |= GST_ELEMENT_REGISTER (audiochebband, plugin);
|
||||
ret |= GST_ELEMENT_REGISTER (audioiirfilter, plugin);
|
||||
ret |= GST_ELEMENT_REGISTER (audiowsinclimit, plugin);
|
||||
ret |= GST_ELEMENT_REGISTER (audiowsincband, plugin);
|
||||
ret |= GST_ELEMENT_REGISTER (audiofirfilter, plugin);
|
||||
ret |= GST_ELEMENT_REGISTER (audioecho, plugin);
|
||||
ret |= GST_ELEMENT_REGISTER (scaletempo, plugin);
|
||||
ret |= GST_ELEMENT_REGISTER (stereo, plugin);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
|
||||
|
|
|
@ -80,6 +80,8 @@ static guint gst_audio_iir_filter_signals[LAST_SIGNAL] = { 0, };
|
|||
#define gst_audio_iir_filter_parent_class parent_class
|
||||
G_DEFINE_TYPE (GstAudioIIRFilter, gst_audio_iir_filter,
|
||||
GST_TYPE_AUDIO_FX_BASE_IIR_FILTER);
|
||||
GST_ELEMENT_REGISTER_DEFINE (audioiirfilter, "audioiirfilter",
|
||||
GST_RANK_NONE, GST_TYPE_AUDIO_IIR_FILTER);
|
||||
|
||||
static void gst_audio_iir_filter_set_property (GObject * object, guint prop_id,
|
||||
const GValue * value, GParamSpec * pspec);
|
||||
|
|
|
@ -65,6 +65,8 @@ struct _GstAudioIIRFilterClass {
|
|||
|
||||
GType gst_audio_iir_filter_get_type (void);
|
||||
|
||||
GST_ELEMENT_REGISTER_DECLARE (audioiirfilter);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GST_AUDIO_IIR_FILTER_H__ */
|
||||
|
|
|
@ -71,6 +71,8 @@ enum
|
|||
" layout=(string) {interleaved, non-interleaved}"
|
||||
|
||||
G_DEFINE_TYPE (GstAudioInvert, gst_audio_invert, GST_TYPE_AUDIO_FILTER);
|
||||
GST_ELEMENT_REGISTER_DEFINE (audioinvert, "audioinvert",
|
||||
GST_RANK_NONE, GST_TYPE_AUDIO_INVERT);
|
||||
|
||||
static void gst_audio_invert_set_property (GObject * object, guint prop_id,
|
||||
const GValue * value, GParamSpec * pspec);
|
||||
|
|
|
@ -56,5 +56,7 @@ struct _GstAudioInvertClass
|
|||
|
||||
GType gst_audio_invert_get_type (void);
|
||||
|
||||
GST_ELEMENT_REGISTER_DECLARE (audioinvert);
|
||||
|
||||
G_END_DECLS
|
||||
#endif /* __GST_AUDIO_INVERT_H__ */
|
||||
|
|
|
@ -78,6 +78,8 @@ enum
|
|||
" layout=(string) interleaved"
|
||||
|
||||
G_DEFINE_TYPE (GstAudioKaraoke, gst_audio_karaoke, GST_TYPE_AUDIO_FILTER);
|
||||
GST_ELEMENT_REGISTER_DEFINE (audiokaraoke, "audiokaraoke",
|
||||
GST_RANK_NONE, GST_TYPE_AUDIO_KARAOKE);
|
||||
|
||||
static void gst_audio_karaoke_set_property (GObject * object, guint prop_id,
|
||||
const GValue * value, GParamSpec * pspec);
|
||||
|
|
|
@ -63,5 +63,7 @@ struct _GstAudioKaraokeClass
|
|||
|
||||
GType gst_audio_karaoke_get_type (void);
|
||||
|
||||
GST_ELEMENT_REGISTER_DECLARE (audiokaraoke);
|
||||
|
||||
G_END_DECLS
|
||||
#endif /* __GST_AUDIO_KARAOKE_H__ */
|
||||
|
|
|
@ -103,6 +103,8 @@ static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
|
|||
);
|
||||
|
||||
G_DEFINE_TYPE (GstAudioPanorama, gst_audio_panorama, GST_TYPE_BASE_TRANSFORM);
|
||||
GST_ELEMENT_REGISTER_DEFINE (audiopanorama, "audiopanorama",
|
||||
GST_RANK_NONE, GST_TYPE_AUDIO_PANORAMA);
|
||||
|
||||
static void gst_audio_panorama_set_property (GObject * object, guint prop_id,
|
||||
const GValue * value, GParamSpec * pspec);
|
||||
|
|
|
@ -63,6 +63,8 @@ struct _GstAudioPanoramaClass {
|
|||
|
||||
GType gst_audio_panorama_get_type (void);
|
||||
|
||||
GST_ELEMENT_REGISTER_DECLARE (audiopanorama);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GST_AUDIO_PANORAMA_H__ */
|
||||
|
|
|
@ -142,6 +142,8 @@ gst_gst_audio_wsincband_window_get_type (void)
|
|||
#define gst_audio_wsincband_parent_class parent_class
|
||||
G_DEFINE_TYPE (GstAudioWSincBand, gst_audio_wsincband,
|
||||
GST_TYPE_AUDIO_FX_BASE_FIR_FILTER);
|
||||
GST_ELEMENT_REGISTER_DEFINE (audiowsincband, "audiowsincband",
|
||||
GST_RANK_NONE, GST_TYPE_AUDIO_WSINC_BAND);
|
||||
|
||||
static void gst_audio_wsincband_set_property (GObject * object, guint prop_id,
|
||||
const GValue * value, GParamSpec * pspec);
|
||||
|
|
|
@ -75,6 +75,8 @@ struct _GstAudioWSincBandClass {
|
|||
|
||||
GType gst_audio_wsincband_get_type (void);
|
||||
|
||||
GST_ELEMENT_REGISTER_DECLARE (audiowsincband);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GST_AUDIO_WSINC_BAND_H__ */
|
||||
|
|
|
@ -141,6 +141,8 @@ gst_audio_wsinclimit_window_get_type (void)
|
|||
#define gst_audio_wsinclimit_parent_class parent_class
|
||||
G_DEFINE_TYPE (GstAudioWSincLimit, gst_audio_wsinclimit,
|
||||
GST_TYPE_AUDIO_FX_BASE_FIR_FILTER);
|
||||
GST_ELEMENT_REGISTER_DEFINE (audiowsinclimit, "audiowsinclimit",
|
||||
GST_RANK_NONE, GST_TYPE_AUDIO_WSINC_LIMIT);
|
||||
|
||||
static void gst_audio_wsinclimit_set_property (GObject * object, guint prop_id,
|
||||
const GValue * value, GParamSpec * pspec);
|
||||
|
|
|
@ -75,6 +75,8 @@ struct _GstAudioWSincLimitClass {
|
|||
|
||||
GType gst_audio_wsinclimit_get_type (void);
|
||||
|
||||
GST_ELEMENT_REGISTER_DECLARE (audiowsinclimit);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GST_AUDIO_WSINC_LIMIT_H__ */
|
||||
|
|
|
@ -112,6 +112,8 @@ static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
|
|||
#define gst_scaletempo_parent_class parent_class
|
||||
G_DEFINE_TYPE_WITH_CODE (GstScaletempo, gst_scaletempo,
|
||||
GST_TYPE_BASE_TRANSFORM, DEBUG_INIT (0));
|
||||
GST_ELEMENT_REGISTER_DEFINE (scaletempo, "scaletempo",
|
||||
GST_RANK_NONE, GST_TYPE_SCALETEMPO);
|
||||
|
||||
#define CREATE_BEST_OVERLAP_OFFSET_FLOAT_FUNC(type) \
|
||||
static guint \
|
||||
|
|
|
@ -95,5 +95,7 @@ struct _GstScaletempoClass
|
|||
|
||||
GType gst_scaletempo_get_type (void);
|
||||
|
||||
GST_ELEMENT_REGISTER_DECLARE (scaletempo);
|
||||
|
||||
G_END_DECLS
|
||||
#endif /* __GST_SCALETEMPO_H__ */
|
||||
|
|
|
@ -73,6 +73,7 @@ static GstFlowReturn gst_stereo_transform_ip (GstBaseTransform * base,
|
|||
GstBuffer * outbuf);
|
||||
|
||||
G_DEFINE_TYPE (GstStereo, gst_stereo, GST_TYPE_AUDIO_FILTER);
|
||||
GST_ELEMENT_REGISTER_DEFINE (stereo, "stereo", GST_RANK_NONE, GST_TYPE_STEREO);
|
||||
|
||||
static void
|
||||
gst_stereo_class_init (GstStereoClass * klass)
|
||||
|
|
|
@ -52,4 +52,6 @@ struct _GstStereoClass {
|
|||
|
||||
GType gst_stereo_get_type(void);
|
||||
|
||||
GST_ELEMENT_REGISTER_DECLARE (stereo);
|
||||
|
||||
#endif /* __GST_STEREO_H__ */
|
||||
|
|
Loading…
Reference in a new issue