audio: mark symbols explicitly for export with GST_EXPORT

This commit is contained in:
Tim-Philipp Müller 2017-05-16 00:45:41 +01:00
parent d6a12c0a8f
commit d7dd381f78
24 changed files with 255 additions and 4 deletions

2
common

@ -1 +1 @@
Subproject commit 48a5d85ebf4a0bad1c997c83100f710fe2154fbf
Subproject commit 29046b89d80bbca22eb222c18820fb40a4ac5bde

View file

@ -19,6 +19,7 @@ glib_enum_headers= \
glib_enum_define = GST_AUDIO
glib_gen_prefix = gst_audio
glib_gen_basename = audio
glib_gen_decl_banner=GST_EXPORT
built_sources = audio-enumtypes.c
built_headers = audio-enumtypes.h

View file

@ -46,22 +46,29 @@ typedef enum {
GST_AUDIO_CHANNEL_MIXER_FLAGS_UNPOSITIONED_OUT = (1 << 3)
} GstAudioChannelMixerFlags;
GST_EXPORT
GstAudioChannelMixer * gst_audio_channel_mixer_new (GstAudioChannelMixerFlags flags,
GstAudioFormat format,
gint in_channels,
GstAudioChannelPosition *in_position,
gint out_channels,
GstAudioChannelPosition *out_position);
GST_EXPORT
void gst_audio_channel_mixer_free (GstAudioChannelMixer *mix);
/*
* Checks for passthrough (= identity matrix).
*/
GST_EXPORT
gboolean gst_audio_channel_mixer_is_passthrough (GstAudioChannelMixer *mix);
/*
* Do actual mixing.
*/
GST_EXPORT
void gst_audio_channel_mixer_samples (GstAudioChannelMixer * mix,
const gpointer in[],
gpointer out[],

View file

@ -131,37 +131,47 @@ typedef enum {
#define GST_AUDIO_CHANNEL_POSITION_MASK(pos) (G_GUINT64_CONSTANT(1)<< GST_AUDIO_CHANNEL_POSITION_ ## pos)
GST_EXPORT
gboolean gst_audio_buffer_reorder_channels (GstBuffer * buffer,
GstAudioFormat format,
gint channels,
const GstAudioChannelPosition * from,
const GstAudioChannelPosition * to);
GST_EXPORT
gboolean gst_audio_reorder_channels (gpointer data, gsize size,
GstAudioFormat format,
gint channels,
const GstAudioChannelPosition * from,
const GstAudioChannelPosition * to);
GST_EXPORT
gboolean gst_audio_channel_positions_to_valid_order (GstAudioChannelPosition *position,
gint channels);
GST_EXPORT
gboolean gst_audio_check_valid_channel_positions (const GstAudioChannelPosition *position,
gint channels, gboolean force_order);
GST_EXPORT
gboolean gst_audio_channel_positions_to_mask (const GstAudioChannelPosition *position,
gint channels, gboolean force_order,
guint64 *channel_mask);
GST_EXPORT
gboolean gst_audio_channel_positions_from_mask (gint channels, guint64 channel_mask,
GstAudioChannelPosition * position);
GST_EXPORT
gboolean gst_audio_get_channel_reorder_map (gint channels,
const GstAudioChannelPosition * from,
const GstAudioChannelPosition * to,
gint *reorder_map);
GST_EXPORT
guint64 gst_audio_channel_get_fallback_mask (gint channels);
GST_EXPORT
gchar* gst_audio_channel_positions_to_string (const GstAudioChannelPosition * position,
gint channels);

View file

@ -81,33 +81,45 @@ typedef enum {
GST_AUDIO_CONVERTER_FLAG_VARIABLE_RATE = (1 << 1)
} GstAudioConverterFlags;
GST_EXPORT
GstAudioConverter * gst_audio_converter_new (GstAudioConverterFlags flags,
GstAudioInfo *in_info,
GstAudioInfo *out_info,
GstStructure *config);
GST_EXPORT
void gst_audio_converter_free (GstAudioConverter * convert);
GST_EXPORT
void gst_audio_converter_reset (GstAudioConverter * convert);
GST_EXPORT
gboolean gst_audio_converter_update_config (GstAudioConverter * convert,
gint in_rate, gint out_rate,
GstStructure *config);
GST_EXPORT
const GstStructure * gst_audio_converter_get_config (GstAudioConverter * convert,
gint *in_rate, gint *out_rate);
GST_EXPORT
gsize gst_audio_converter_get_out_frames (GstAudioConverter *convert,
gsize in_frames);
GST_EXPORT
gsize gst_audio_converter_get_in_frames (GstAudioConverter *convert,
gsize out_frames);
GST_EXPORT
gsize gst_audio_converter_get_max_latency (GstAudioConverter *convert);
GST_EXPORT
gboolean gst_audio_converter_samples (GstAudioConverter * convert,
GstAudioConverterFlags flags,
gpointer in[], gsize in_frames,
gpointer out[], gsize out_frames);
GST_EXPORT
gboolean gst_audio_converter_supports_inplace (GstAudioConverter *convert);
#endif /* __GST_AUDIO_CONVERTER_H__ */

View file

@ -250,6 +250,7 @@ struct _GstAudioFormatInfo {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_audio_format_info_get_type (void);
#define GST_AUDIO_FORMAT_INFO_FORMAT(info) ((info)->format)
@ -267,15 +268,20 @@ GType gst_audio_format_info_get_type (void);
#define GST_AUDIO_FORMAT_INFO_DEPTH(info) ((info)->depth)
GST_EXPORT
GstAudioFormat gst_audio_format_build_integer (gboolean sign, gint endianness,
gint width, gint depth) G_GNUC_CONST;
GST_EXPORT
GstAudioFormat gst_audio_format_from_string (const gchar *format) G_GNUC_CONST;
GST_EXPORT
const gchar * gst_audio_format_to_string (GstAudioFormat format) G_GNUC_CONST;
const GstAudioFormatInfo *
gst_audio_format_get_info (GstAudioFormat format) G_GNUC_CONST;
GST_EXPORT
void gst_audio_format_fill_silence (const GstAudioFormatInfo *info,
gpointer dest, gsize length);

View file

@ -85,6 +85,7 @@ struct _GstAudioInfo {
};
#define GST_TYPE_AUDIO_INFO (gst_audio_info_get_type ())
GST_EXPORT
GType gst_audio_info_get_type (void);
#define GST_AUDIO_INFO_IS_VALID(i) ((i)->finfo != NULL && (i)->rate > 0 && (i)->channels > 0 && (i)->bpf > 0)
@ -112,22 +113,35 @@ GType gst_audio_info_get_type (void);
#define GST_AUDIO_INFO_BPF(info) ((info)->bpf)
#define GST_AUDIO_INFO_POSITION(info,c) ((info)->position[c])
GST_EXPORT
GstAudioInfo * gst_audio_info_new (void);
GST_EXPORT
void gst_audio_info_init (GstAudioInfo *info);
GST_EXPORT
GstAudioInfo * gst_audio_info_copy (const GstAudioInfo *info);
GST_EXPORT
void gst_audio_info_free (GstAudioInfo *info);
GST_EXPORT
void gst_audio_info_set_format (GstAudioInfo *info, GstAudioFormat format,
gint rate, gint channels,
const GstAudioChannelPosition *position);
GST_EXPORT
gboolean gst_audio_info_from_caps (GstAudioInfo *info, const GstCaps *caps);
GST_EXPORT
GstCaps * gst_audio_info_to_caps (const GstAudioInfo *info);
GST_EXPORT
gboolean gst_audio_info_convert (const GstAudioInfo * info,
GstFormat src_fmt, gint64 src_val,
GstFormat dest_fmt, gint64 * dest_val);
GST_EXPORT
gboolean gst_audio_info_is_equal (const GstAudioInfo *info,
const GstAudioInfo *other);

View file

@ -81,6 +81,7 @@ typedef enum
typedef struct _GstAudioQuantize GstAudioQuantize;
GST_EXPORT
GstAudioQuantize * gst_audio_quantize_new (GstAudioDitherMethod dither,
GstAudioNoiseShapingMethod ns,
GstAudioQuantizeFlags flags,
@ -88,10 +89,13 @@ GstAudioQuantize * gst_audio_quantize_new (GstAudioDitherMethod dither,
guint channels,
guint quantizer);
GST_EXPORT
void gst_audio_quantize_free (GstAudioQuantize * quant);
GST_EXPORT
void gst_audio_quantize_reset (GstAudioQuantize * quant);
GST_EXPORT
void gst_audio_quantize_samples (GstAudioQuantize * quant,
const gpointer in[],
gpointer out[], guint samples);

View file

@ -201,31 +201,42 @@ typedef enum {
#define GST_AUDIO_RESAMPLER_QUALITY_MAX 10
#define GST_AUDIO_RESAMPLER_QUALITY_DEFAULT 4
GST_EXPORT
void gst_audio_resampler_options_set_quality (GstAudioResamplerMethod method,
guint quality,
gint in_rate, gint out_rate,
GstStructure *options);
GST_EXPORT
GstAudioResampler * gst_audio_resampler_new (GstAudioResamplerMethod method,
GstAudioResamplerFlags flags,
GstAudioFormat format, gint channels,
gint in_rate, gint out_rate,
GstStructure *options);
GST_EXPORT
void gst_audio_resampler_free (GstAudioResampler *resampler);
GST_EXPORT
void gst_audio_resampler_reset (GstAudioResampler *resampler);
GST_EXPORT
gboolean gst_audio_resampler_update (GstAudioResampler *resampler,
gint in_rate, gint out_rate,
GstStructure *options);
GST_EXPORT
gsize gst_audio_resampler_get_out_frames (GstAudioResampler *resampler,
gsize in_frames);
GST_EXPORT
gsize gst_audio_resampler_get_in_frames (GstAudioResampler *resampler,
gsize out_frames);
GST_EXPORT
gsize gst_audio_resampler_get_max_latency (GstAudioResampler *resampler);
GST_EXPORT
void gst_audio_resampler_resample (GstAudioResampler * resampler,
gpointer in[], gsize in_frames,
gpointer out[], gsize out_frames);

View file

@ -88,6 +88,7 @@ G_BEGIN_DECLS
* handling
*/
GST_EXPORT
GstBuffer * gst_audio_buffer_clip (GstBuffer *buffer,
const GstSegment *segment,
gint rate, gint bpf);

View file

@ -8,11 +8,11 @@
import sys, os, shutil, subprocess
h_array = ['--fhead',
"#ifndef __GST_AUDIO_ENUM_TYPES_H__\n#define __GST_AUDIO_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n",
"#ifndef __GST_AUDIO_ENUM_TYPES_H__\n#define __GST_AUDIO_ENUM_TYPES_H__\n\n#include <gst/gst.h>\n\nG_BEGIN_DECLS\n",
'--fprod',
"\n/* enumerations from \"@filename@\" */\n",
'--vhead',
'GType @enum_name@_get_type (void);\n#define GST_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n',
'GST_EXPORT GType @enum_name@_get_type (void);\n#define GST_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n',
'--ftail',
'G_END_DECLS\n\n#endif /* __GST_AUDIO_ENUM_TYPES_H__ */',
]

View file

@ -220,39 +220,54 @@ struct _GstAudioBaseSinkClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_audio_base_sink_get_type(void);
GST_EXPORT
GstAudioRingBuffer *
gst_audio_base_sink_create_ringbuffer (GstAudioBaseSink *sink);
GST_EXPORT
void gst_audio_base_sink_set_provide_clock (GstAudioBaseSink *sink, gboolean provide);
GST_EXPORT
gboolean gst_audio_base_sink_get_provide_clock (GstAudioBaseSink *sink);
GST_EXPORT
void gst_audio_base_sink_set_slave_method (GstAudioBaseSink *sink,
GstAudioBaseSinkSlaveMethod method);
GST_EXPORT
GstAudioBaseSinkSlaveMethod
gst_audio_base_sink_get_slave_method (GstAudioBaseSink *sink);
GST_EXPORT
void gst_audio_base_sink_set_drift_tolerance (GstAudioBaseSink *sink,
gint64 drift_tolerance);
GST_EXPORT
gint64 gst_audio_base_sink_get_drift_tolerance (GstAudioBaseSink *sink);
GST_EXPORT
void gst_audio_base_sink_set_alignment_threshold (GstAudioBaseSink * sink,
GstClockTime alignment_threshold);
GST_EXPORT
GstClockTime
gst_audio_base_sink_get_alignment_threshold (GstAudioBaseSink * sink);
GST_EXPORT
void gst_audio_base_sink_set_discont_wait (GstAudioBaseSink * sink,
GstClockTime discont_wait);
GST_EXPORT
GstClockTime
gst_audio_base_sink_get_discont_wait (GstAudioBaseSink * sink);
GST_EXPORT
void
gst_audio_base_sink_set_custom_slaving_callback (GstAudioBaseSink * sink,
GstAudioBaseSinkCustomSlavingCallback callback,
gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
void gst_audio_base_sink_report_device_failure (GstAudioBaseSink * sink);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -132,16 +132,23 @@ struct _GstAudioBaseSrcClass {
gpointer _gst_reserved[GST_PADDING];
};
GType gst_audio_base_src_get_type(void);
GST_EXPORT
GType gst_audio_base_src_get_type(void);
GST_EXPORT
GstAudioRingBuffer *
gst_audio_base_src_create_ringbuffer (GstAudioBaseSrc *src);
GST_EXPORT
void gst_audio_base_src_set_provide_clock (GstAudioBaseSrc *src, gboolean provide);
GST_EXPORT
gboolean gst_audio_base_src_get_provide_clock (GstAudioBaseSrc *src);
GST_EXPORT
void gst_audio_base_src_set_slave_method (GstAudioBaseSrc *src,
GstAudioBaseSrcSlaveMethod method);
GST_EXPORT
GstAudioBaseSrcSlaveMethod
gst_audio_base_src_get_slave_method (GstAudioBaseSrc *src);

View file

@ -131,8 +131,10 @@ struct _GstAudioCdSrcClass {
gpointer _gst_reserved[GST_PADDING_LARGE];
};
GST_EXPORT
GType gst_audio_cd_src_get_type (void);
GST_EXPORT
gboolean gst_audio_cd_src_add_track (GstAudioCdSrc * src,
GstAudioCdSrcTrack * track);

View file

@ -89,14 +89,23 @@ struct _GstAudioClockClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_audio_clock_get_type (void);
GST_EXPORT
GstClock* gst_audio_clock_new (const gchar *name, GstAudioClockGetTimeFunc func,
gpointer user_data, GDestroyNotify destroy_notify);
GST_EXPORT
void gst_audio_clock_reset (GstAudioClock *clock, GstClockTime time);
GST_EXPORT
GstClockTime gst_audio_clock_get_time (GstAudioClock * clock);
GST_EXPORT
GstClockTime gst_audio_clock_adjust (GstAudioClock * clock, GstClockTime time);
GST_EXPORT
void gst_audio_clock_invalidate (GstAudioClock * clock);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -102,6 +102,8 @@ typedef struct _GstAudioDecoderClass GstAudioDecoderClass;
typedef struct _GstAudioDecoderPrivate GstAudioDecoderPrivate;
/* do not use this one, use macro below */
GST_EXPORT
GstFlowReturn _gst_audio_decoder_error (GstAudioDecoder *dec, gint weight,
GQuark domain, gint code,
gchar *txt, gchar *debug,
@ -312,90 +314,124 @@ struct _GstAudioDecoderClass
gpointer _gst_reserved[GST_PADDING_LARGE - 4];
};
GST_EXPORT
GType gst_audio_decoder_get_type (void);
GST_EXPORT
gboolean gst_audio_decoder_set_output_format (GstAudioDecoder * dec,
const GstAudioInfo * info);
GST_EXPORT
GstCaps * gst_audio_decoder_proxy_getcaps (GstAudioDecoder * decoder,
GstCaps * caps,
GstCaps * filter);
GST_EXPORT
gboolean gst_audio_decoder_negotiate (GstAudioDecoder * dec);
GST_EXPORT
GstFlowReturn gst_audio_decoder_finish_frame (GstAudioDecoder * dec,
GstBuffer * buf, gint frames);
GST_EXPORT
GstBuffer * gst_audio_decoder_allocate_output_buffer (GstAudioDecoder * dec,
gsize size);
/* context parameters */
GST_EXPORT
GstAudioInfo * gst_audio_decoder_get_audio_info (GstAudioDecoder * dec);
GST_EXPORT
void gst_audio_decoder_set_plc_aware (GstAudioDecoder * dec,
gboolean plc);
GST_EXPORT
gint gst_audio_decoder_get_plc_aware (GstAudioDecoder * dec);
GST_EXPORT
void gst_audio_decoder_set_estimate_rate (GstAudioDecoder * dec,
gboolean enabled);
GST_EXPORT
gint gst_audio_decoder_get_estimate_rate (GstAudioDecoder * dec);
GST_EXPORT
gint gst_audio_decoder_get_delay (GstAudioDecoder * dec);
GST_EXPORT
void gst_audio_decoder_set_max_errors (GstAudioDecoder * dec,
gint num);
GST_EXPORT
gint gst_audio_decoder_get_max_errors (GstAudioDecoder * dec);
GST_EXPORT
void gst_audio_decoder_set_latency (GstAudioDecoder * dec,
GstClockTime min,
GstClockTime max);
GST_EXPORT
void gst_audio_decoder_get_latency (GstAudioDecoder * dec,
GstClockTime * min,
GstClockTime * max);
GST_EXPORT
void gst_audio_decoder_get_parse_state (GstAudioDecoder * dec,
gboolean * sync,
gboolean * eos);
GST_EXPORT
void gst_audio_decoder_set_allocation_caps (GstAudioDecoder * dec,
GstCaps * allocation_caps);
/* object properties */
GST_EXPORT
void gst_audio_decoder_set_plc (GstAudioDecoder * dec,
gboolean enabled);
GST_EXPORT
gboolean gst_audio_decoder_get_plc (GstAudioDecoder * dec);
GST_EXPORT
void gst_audio_decoder_set_min_latency (GstAudioDecoder * dec,
GstClockTime num);
GST_EXPORT
GstClockTime gst_audio_decoder_get_min_latency (GstAudioDecoder * dec);
GST_EXPORT
void gst_audio_decoder_set_tolerance (GstAudioDecoder * dec,
GstClockTime tolerance);
GST_EXPORT
GstClockTime gst_audio_decoder_get_tolerance (GstAudioDecoder * dec);
GST_EXPORT
void gst_audio_decoder_set_drainable (GstAudioDecoder * dec,
gboolean enabled);
GST_EXPORT
gboolean gst_audio_decoder_get_drainable (GstAudioDecoder * dec);
GST_EXPORT
void gst_audio_decoder_set_needs_format (GstAudioDecoder * dec,
gboolean enabled);
GST_EXPORT
gboolean gst_audio_decoder_get_needs_format (GstAudioDecoder * dec);
GST_EXPORT
void gst_audio_decoder_get_allocator (GstAudioDecoder * dec,
GstAllocator ** allocator,
GstAllocationParams * params);
GST_EXPORT
void gst_audio_decoder_merge_tags (GstAudioDecoder * dec,
const GstTagList * tags, GstTagMergeMode mode);
GST_EXPORT
void gst_audio_decoder_set_use_default_pad_acceptcaps (GstAudioDecoder * decoder,
gboolean use);

View file

@ -247,93 +247,127 @@ struct _GstAudioEncoderClass {
gpointer _gst_reserved[GST_PADDING_LARGE-3];
};
GST_EXPORT
GType gst_audio_encoder_get_type (void);
GST_EXPORT
GstFlowReturn gst_audio_encoder_finish_frame (GstAudioEncoder * enc,
GstBuffer * buffer,
gint samples);
GST_EXPORT
GstCaps * gst_audio_encoder_proxy_getcaps (GstAudioEncoder * enc,
GstCaps * caps,
GstCaps * filter);
GST_EXPORT
gboolean gst_audio_encoder_set_output_format (GstAudioEncoder * enc,
GstCaps * caps);
GST_EXPORT
gboolean gst_audio_encoder_negotiate (GstAudioEncoder * enc);
GST_EXPORT
GstBuffer * gst_audio_encoder_allocate_output_buffer (GstAudioEncoder * enc,
gsize size);
/* context parameters */
GST_EXPORT
GstAudioInfo * gst_audio_encoder_get_audio_info (GstAudioEncoder * enc);
GST_EXPORT
gint gst_audio_encoder_get_frame_samples_min (GstAudioEncoder * enc);
GST_EXPORT
void gst_audio_encoder_set_frame_samples_min (GstAudioEncoder * enc, gint num);
GST_EXPORT
gint gst_audio_encoder_get_frame_samples_max (GstAudioEncoder * enc);
GST_EXPORT
void gst_audio_encoder_set_frame_samples_max (GstAudioEncoder * enc, gint num);
GST_EXPORT
gint gst_audio_encoder_get_frame_max (GstAudioEncoder * enc);
GST_EXPORT
void gst_audio_encoder_set_frame_max (GstAudioEncoder * enc, gint num);
GST_EXPORT
gint gst_audio_encoder_get_lookahead (GstAudioEncoder * enc);
GST_EXPORT
void gst_audio_encoder_set_lookahead (GstAudioEncoder * enc, gint num);
GST_EXPORT
void gst_audio_encoder_get_latency (GstAudioEncoder * enc,
GstClockTime * min,
GstClockTime * max);
GST_EXPORT
void gst_audio_encoder_set_latency (GstAudioEncoder * enc,
GstClockTime min,
GstClockTime max);
GST_EXPORT
void gst_audio_encoder_set_headers (GstAudioEncoder * enc,
GList * headers);
GST_EXPORT
void gst_audio_encoder_set_allocation_caps (GstAudioEncoder * enc,
GstCaps * allocation_caps);
/* object properties */
GST_EXPORT
void gst_audio_encoder_set_mark_granule (GstAudioEncoder * enc,
gboolean enabled);
GST_EXPORT
gboolean gst_audio_encoder_get_mark_granule (GstAudioEncoder * enc);
GST_EXPORT
void gst_audio_encoder_set_perfect_timestamp (GstAudioEncoder * enc,
gboolean enabled);
GST_EXPORT
gboolean gst_audio_encoder_get_perfect_timestamp (GstAudioEncoder * enc);
GST_EXPORT
void gst_audio_encoder_set_hard_resync (GstAudioEncoder * enc,
gboolean enabled);
GST_EXPORT
gboolean gst_audio_encoder_get_hard_resync (GstAudioEncoder * enc);
GST_EXPORT
void gst_audio_encoder_set_tolerance (GstAudioEncoder * enc,
GstClockTime tolerance);
GST_EXPORT
GstClockTime gst_audio_encoder_get_tolerance (GstAudioEncoder * enc);
GST_EXPORT
void gst_audio_encoder_set_hard_min (GstAudioEncoder * enc,
gboolean enabled);
GST_EXPORT
gboolean gst_audio_encoder_get_hard_min (GstAudioEncoder * enc);
GST_EXPORT
void gst_audio_encoder_set_drainable (GstAudioEncoder * enc,
gboolean enabled);
GST_EXPORT
gboolean gst_audio_encoder_get_drainable (GstAudioEncoder * enc);
GST_EXPORT
void gst_audio_encoder_get_allocator (GstAudioEncoder * enc,
GstAllocator ** allocator,
GstAllocationParams * params);
GST_EXPORT
void gst_audio_encoder_merge_tags (GstAudioEncoder * enc,
const GstTagList * tags, GstTagMergeMode mode);

View file

@ -92,8 +92,10 @@ struct _GstAudioFilterClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_audio_filter_get_type (void);
GST_EXPORT
void gst_audio_filter_class_add_pad_templates (GstAudioFilterClass * klass,
GstCaps * allowed_caps);

View file

@ -24,7 +24,10 @@
#include <gst/audio/gstaudioringbuffer.h>
GST_EXPORT
guint gst_audio_iec61937_frame_size (const GstAudioRingBufferSpec * spec);
GST_EXPORT
gboolean gst_audio_iec61937_payload (const guint8 * src, guint src_n,
guint8 * dst, guint dst_n,
const GstAudioRingBufferSpec * spec,

View file

@ -56,14 +56,19 @@ struct _GstAudioDownmixMeta {
gfloat **matrix;
};
GST_EXPORT
GType gst_audio_downmix_meta_api_get_type (void);
GST_EXPORT
const GstMetaInfo * gst_audio_downmix_meta_get_info (void);
#define gst_buffer_get_audio_downmix_meta(b) ((GstAudioDownmixMeta*)gst_buffer_get_meta((b), GST_AUDIO_DOWNMIX_META_API_TYPE))
GST_EXPORT
GstAudioDownmixMeta * gst_buffer_get_audio_downmix_meta_for_channels (GstBuffer *buffer,
const GstAudioChannelPosition *to_position,
gint to_channels);
GST_EXPORT
GstAudioDownmixMeta * gst_buffer_add_audio_downmix_meta (GstBuffer *buffer,
const GstAudioChannelPosition *from_position,
gint from_channels,
@ -106,11 +111,15 @@ struct _GstAudioClippingMeta {
guint64 end;
};
GST_EXPORT
GType gst_audio_clipping_meta_api_get_type (void);
GST_EXPORT
const GstMetaInfo * gst_audio_clipping_meta_get_info (void);
#define gst_buffer_get_audio_clipping_meta(b) ((GstAudioClippingMeta*)gst_buffer_get_meta((b), GST_AUDIO_CLIPPING_META_API_TYPE))
GST_EXPORT
GstAudioClippingMeta * gst_buffer_add_audio_clipping_meta (GstBuffer *buffer,
GstFormat format,
guint64 start,

View file

@ -265,72 +265,122 @@ struct _GstAudioRingBufferClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_audio_ring_buffer_get_type(void);
/* callback stuff */
GST_EXPORT
void gst_audio_ring_buffer_set_callback (GstAudioRingBuffer *buf,
GstAudioRingBufferCallback cb,
gpointer user_data);
GST_EXPORT
void gst_audio_ring_buffer_set_callback_full (GstAudioRingBuffer *buf,
GstAudioRingBufferCallback cb,
gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
gboolean gst_audio_ring_buffer_parse_caps (GstAudioRingBufferSpec *spec, GstCaps *caps);
GST_EXPORT
void gst_audio_ring_buffer_debug_spec_caps (GstAudioRingBufferSpec *spec);
GST_EXPORT
void gst_audio_ring_buffer_debug_spec_buff (GstAudioRingBufferSpec *spec);
GST_EXPORT
gboolean gst_audio_ring_buffer_convert (GstAudioRingBuffer * buf, GstFormat src_fmt,
gint64 src_val, GstFormat dest_fmt,
gint64 * dest_val);
/* device state */
GST_EXPORT
gboolean gst_audio_ring_buffer_open_device (GstAudioRingBuffer *buf);
GST_EXPORT
gboolean gst_audio_ring_buffer_close_device (GstAudioRingBuffer *buf);
GST_EXPORT
gboolean gst_audio_ring_buffer_device_is_open (GstAudioRingBuffer *buf);
/* allocate resources */
GST_EXPORT
gboolean gst_audio_ring_buffer_acquire (GstAudioRingBuffer *buf, GstAudioRingBufferSpec *spec);
GST_EXPORT
gboolean gst_audio_ring_buffer_release (GstAudioRingBuffer *buf);
GST_EXPORT
gboolean gst_audio_ring_buffer_is_acquired (GstAudioRingBuffer *buf);
/* set the device channel positions */
GST_EXPORT
void gst_audio_ring_buffer_set_channel_positions (GstAudioRingBuffer *buf, const GstAudioChannelPosition *position);
/* activating */
GST_EXPORT
gboolean gst_audio_ring_buffer_activate (GstAudioRingBuffer *buf, gboolean active);
GST_EXPORT
gboolean gst_audio_ring_buffer_is_active (GstAudioRingBuffer *buf);
/* flushing */
GST_EXPORT
void gst_audio_ring_buffer_set_flushing (GstAudioRingBuffer *buf, gboolean flushing);
GST_EXPORT
gboolean gst_audio_ring_buffer_is_flushing (GstAudioRingBuffer *buf);
/* playback/pause */
GST_EXPORT
gboolean gst_audio_ring_buffer_start (GstAudioRingBuffer *buf);
GST_EXPORT
gboolean gst_audio_ring_buffer_pause (GstAudioRingBuffer *buf);
GST_EXPORT
gboolean gst_audio_ring_buffer_stop (GstAudioRingBuffer *buf);
/* get status */
GST_EXPORT
guint gst_audio_ring_buffer_delay (GstAudioRingBuffer *buf);
GST_EXPORT
guint64 gst_audio_ring_buffer_samples_done (GstAudioRingBuffer *buf);
GST_EXPORT
void gst_audio_ring_buffer_set_sample (GstAudioRingBuffer *buf, guint64 sample);
/* clear all segments */
GST_EXPORT
void gst_audio_ring_buffer_clear_all (GstAudioRingBuffer *buf);
/* commit samples */
GST_EXPORT
guint gst_audio_ring_buffer_commit (GstAudioRingBuffer * buf, guint64 *sample,
guint8 * data, gint in_samples,
gint out_samples, gint * accum);
/* read samples */
GST_EXPORT
guint gst_audio_ring_buffer_read (GstAudioRingBuffer *buf, guint64 sample,
guint8 *data, guint len, GstClockTime *timestamp);
/* Set timestamp on buffer */
GST_EXPORT
void gst_audio_ring_buffer_set_timestamp (GstAudioRingBuffer * buf, gint readseg, GstClockTime
timestamp);
@ -338,11 +388,18 @@ void gst_audio_ring_buffer_set_timestamp (GstAudioRingBuffer * buf,
/* not yet implemented
gboolean gst_audio_ring_buffer_prepare_write (GstAudioRingBuffer *buf, gint *segment, guint8 **writeptr, gint *len);
*/
GST_EXPORT
gboolean gst_audio_ring_buffer_prepare_read (GstAudioRingBuffer *buf, gint *segment,
guint8 **readptr, gint *len);
GST_EXPORT
void gst_audio_ring_buffer_clear (GstAudioRingBuffer *buf, gint segment);
GST_EXPORT
void gst_audio_ring_buffer_advance (GstAudioRingBuffer *buf, guint advance);
GST_EXPORT
void gst_audio_ring_buffer_may_start (GstAudioRingBuffer *buf, gboolean allowed);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -97,6 +97,7 @@ struct _GstAudioSinkClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_audio_sink_get_type(void);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -96,6 +96,7 @@ struct _GstAudioSrcClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GType gst_audio_src_get_type(void);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -58,17 +58,26 @@ typedef enum {
GST_STREAM_VOLUME_FORMAT_DB
} GstStreamVolumeFormat;
GST_EXPORT
GType gst_stream_volume_get_type (void);
GST_EXPORT
void gst_stream_volume_set_volume (GstStreamVolume *volume,
GstStreamVolumeFormat format,
gdouble val);
GST_EXPORT
gdouble gst_stream_volume_get_volume (GstStreamVolume *volume,
GstStreamVolumeFormat format);
GST_EXPORT
void gst_stream_volume_set_mute (GstStreamVolume *volume,
gboolean mute);
GST_EXPORT
gboolean gst_stream_volume_get_mute (GstStreamVolume *volume);
GST_EXPORT
gdouble gst_stream_volume_convert_volume (GstStreamVolumeFormat from,
GstStreamVolumeFormat to,
gdouble val) G_GNUC_CONST;