+2005-12-06 Thomas Vander Stichele <thomas at apestaart dot org>
+
+ * ext/alsa/gstalsamixer.h:
+ * ext/alsa/gstalsamixerelement.h:
+ * ext/alsa/gstalsamixeroptions.h:
+ * ext/alsa/gstalsamixertrack.h:
+ * ext/alsa/gstalsasink.c:
+ * ext/alsa/gstalsasink.h:
+ * ext/alsa/gstalsasrc.c:
+ * ext/alsa/gstalsasrc.h:
+ * ext/cdparanoia/gstcdparanoia.h:
+ * ext/gnomevfs/gstgnomevfsuri.h:
+ * ext/ogg/gstoggdemux.c:
+ * ext/ogg/gstoggmux.c:
+ * ext/pango/gsttextoverlay.h:
+ * ext/theora/theoradec.c:
+ * ext/theora/theoraenc.c:
+ * ext/vorbis/vorbisdec.h:
+ * ext/vorbis/vorbisenc.c:
+ * ext/vorbis/vorbisenc.h:
+ * ext/vorbis/vorbisparse.h:
+ * gst-libs/gst/audio/gstaudioclock.h:
+ * gst-libs/gst/audio/gstaudiosink.c:
+ * gst-libs/gst/audio/gstaudiosink.h:
+ * gst-libs/gst/audio/gstaudiosrc.c:
+ * gst-libs/gst/audio/gstaudiosrc.h:
+ * gst-libs/gst/audio/gstbaseaudiosink.c:
+ * gst-libs/gst/audio/gstbaseaudiosink.h:
+ * gst-libs/gst/audio/gstbaseaudiosrc.c:
+ * gst-libs/gst/audio/gstbaseaudiosrc.h:
+ * gst-libs/gst/audio/gstringbuffer.h:
+ * gst-libs/gst/audio/multichannel.h:
+ * gst-libs/gst/floatcast/floatcast.h:
+ * gst-libs/gst/interfaces/colorbalance.c:
+ * gst-libs/gst/interfaces/colorbalance.h:
+ * gst-libs/gst/interfaces/colorbalancechannel.h:
+ * gst-libs/gst/interfaces/mixer.h:
+ * gst-libs/gst/interfaces/mixeroptions.h:
+ * gst-libs/gst/interfaces/mixertrack.h:
+ * gst-libs/gst/interfaces/navigation.h:
+ * gst-libs/gst/interfaces/propertyprobe.h:
+ * gst-libs/gst/interfaces/tuner.h:
+ * gst-libs/gst/interfaces/tunerchannel.h:
+ * gst-libs/gst/interfaces/tunernorm.h:
+ * gst-libs/gst/interfaces/xoverlay.h:
+ * gst-libs/gst/netbuffer/gstnetbuffer.h:
+ * gst-libs/gst/riff/riff-ids.h:
+ * gst-libs/gst/riff/riff-media.h:
+ * gst-libs/gst/riff/riff-read.h:
+ * gst-libs/gst/rtp/gstbasertpdepayload.h:
+ * gst-libs/gst/rtp/gstbasertppayload.c:
+ * gst-libs/gst/rtp/gstbasertppayload.h:
+ * gst-libs/gst/rtp/gstrtpbuffer.c:
+ * gst-libs/gst/rtp/gstrtpbuffer.h:
+ * gst-libs/gst/tag/gsttageditingprivate.h:
+ * gst-libs/gst/tag/gstvorbistag.c:
+ (gst_tag_list_from_vorbiscomment_buffer):
+ * gst-libs/gst/tag/tag.h:
+ * gst-libs/gst/video/video.h:
+ * gst/adder/gstadder.c:
+ * gst/adder/gstadder.h:
+ * gst/audioconvert/audioconvert.c:
+ * gst/audioconvert/audioconvert.h:
+ * gst/audioconvert/gstaudioconvert.c:
+ * gst/audioconvert/gstchannelmix.c:
+ * gst/audioconvert/gstchannelmix.h:
+ * gst/audiorate/gstaudiorate.c:
+ * gst/audioresample/buffer.h:
+ * gst/audioresample/functable.h:
+ * gst/audioresample/gstaudioresample.c:
+ * gst/audioresample/resample.h:
+ * gst/ffmpegcolorspace/avcodec.h:
+ * gst/ffmpegcolorspace/gstffmpegcodecmap.c:
+ * gst/ffmpegcolorspace/gstffmpegcodecmap.h:
+ * gst/ffmpegcolorspace/imgconvert.c:
+ * gst/ffmpegcolorspace/imgconvert_template.h:
+ * gst/playback/gstdecodebin.c:
+ * gst/playback/gstplaybasebin.h:
+ * gst/playback/gstplaybin.c:
+ * gst/playback/gststreaminfo.h:
+ * gst/tcp/gstfdset.c:
+ * gst/tcp/gstfdset.h:
+ * gst/tcp/gstmultifdsink.c:
+ * gst/tcp/gstmultifdsink.h:
+ * gst/tcp/gsttcp.h:
+ * gst/tcp/gsttcpclientsrc.c:
+ * gst/tcp/gsttcpclientsrc.h:
+ * gst/tcp/gsttcpplugin.h:
+ * gst/tcp/gsttcpserversink.c:
+ * gst/tcp/gsttcpserversrc.c:
+ * gst/typefind/gsttypefindfunctions.c:
+ * gst/videorate/gstvideorate.c:
+ * gst/videotestsrc/gstvideotestsrc.h:
+ * gst/videotestsrc/videotestsrc.h:
+ * sys/v4l/gstv4lcolorbalance.h:
+ * sys/v4l/gstv4ltuner.h:
+ * sys/v4l/gstv4lxoverlay.h:
+ * sys/v4l/v4l_calls.h:
+ * sys/v4l/videodev_mjpeg.h:
+ * tests/check/elements/audioconvert.c:
+ * tests/check/elements/audioresample.c:
+ * tests/check/elements/audiotestsrc.c:
+ * tests/check/elements/videotestsrc.c:
+ * tests/check/elements/volume.c:
+ * tests/examples/seek/scrubby.c:
+ * tests/examples/seek/seek.c:
+ expand tabs
+
=== release 0.10.0 ===
2005-12-05 <thomas (at) apestaart (dot) org>
G_BEGIN_DECLS
-#define GST_ALSA_MIXER(obj) ((GstAlsaMixer*)(obj))
+#define GST_ALSA_MIXER(obj) ((GstAlsaMixer*)(obj))
typedef enum {
struct _GstAlsaMixer {
- GList * tracklist; /* list of available tracks */
+ GList * tracklist; /* list of available tracks */
- snd_mixer_t * handle;
+ snd_mixer_t * handle;
- gchar * device;
- gchar * cardname;
+ gchar * device;
+ gchar * cardname;
GstAlsaMixerDirection dir;
};
-GstAlsaMixer* gst_alsa_mixer_new (const gchar *device,
+GstAlsaMixer* gst_alsa_mixer_new (const gchar *device,
GstAlsaMixerDirection dir);
-void gst_alsa_mixer_free (GstAlsaMixer *mixer);
+void gst_alsa_mixer_free (GstAlsaMixer *mixer);
-const GList* gst_alsa_mixer_list_tracks (GstAlsaMixer * mixer);
-void gst_alsa_mixer_set_volume (GstAlsaMixer * mixer,
+const GList* gst_alsa_mixer_list_tracks (GstAlsaMixer * mixer);
+void gst_alsa_mixer_set_volume (GstAlsaMixer * mixer,
GstMixerTrack * track,
gint * volumes);
-void gst_alsa_mixer_get_volume (GstAlsaMixer * mixer,
+void gst_alsa_mixer_get_volume (GstAlsaMixer * mixer,
GstMixerTrack * track,
gint * volumes);
-void gst_alsa_mixer_set_record (GstAlsaMixer * mixer,
+void gst_alsa_mixer_set_record (GstAlsaMixer * mixer,
GstMixerTrack * track,
gboolean record);
-void gst_alsa_mixer_set_mute (GstAlsaMixer * mixer,
+void gst_alsa_mixer_set_mute (GstAlsaMixer * mixer,
GstMixerTrack * track,
gboolean mute);
-void gst_alsa_mixer_set_option (GstAlsaMixer * mixer,
+void gst_alsa_mixer_set_option (GstAlsaMixer * mixer,
GstMixerOptions * opts,
gchar * value);
-const gchar* gst_alsa_mixer_get_option (GstAlsaMixer * mixer,
+const gchar* gst_alsa_mixer_get_option (GstAlsaMixer * mixer,
GstMixerOptions * opts);
G_BEGIN_DECLS
-#define GST_ALSA_MIXER_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_ALSA_MIXER_ELEMENT,GstAlsaMixerElement))
-#define GST_ALSA_MIXER_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_ALSA_MIXER_ELEMENT,GstAlsaMixerElementClass))
-#define GST_IS_ALSA_MIXER_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ALSA_MIXER_ELEMENT))
-#define GST_IS_ALSA_MIXER_ELEMENT_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ALSA_MIXER_ELEMENT))
-#define GST_TYPE_ALSA_MIXER_ELEMENT (gst_alsa_mixer_element_get_type())
+#define GST_ALSA_MIXER_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_ALSA_MIXER_ELEMENT,GstAlsaMixerElement))
+#define GST_ALSA_MIXER_ELEMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_ALSA_MIXER_ELEMENT,GstAlsaMixerElementClass))
+#define GST_IS_ALSA_MIXER_ELEMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ALSA_MIXER_ELEMENT))
+#define GST_IS_ALSA_MIXER_ELEMENT_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ALSA_MIXER_ELEMENT))
+#define GST_TYPE_ALSA_MIXER_ELEMENT (gst_alsa_mixer_element_get_type())
typedef struct _GstAlsaMixerElement GstAlsaMixerElement;
struct _GstAlsaMixerElement {
- GstElement parent;
+ GstElement parent;
- GstAlsaMixer *mixer;
+ GstAlsaMixer *mixer;
};
struct _GstAlsaMixerElementClass {
- GstElementClass parent;
+ GstElementClass parent;
};
-GType gst_alsa_mixer_element_get_type (void);
+GType gst_alsa_mixer_element_get_type (void);
G_END_DECLS
G_BEGIN_DECLS
-#define GST_ALSA_MIXER_OPTIONS_TYPE (gst_alsa_mixer_options_get_type ())
-#define GST_ALSA_MIXER_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_ALSA_MIXER_OPTIONS,GstAlsaMixerOptions))
-#define GST_ALSA_MIXER_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_ALSA_MIXER_OPTIONS,GstAlsaMixerOptionsClass))
-#define GST_IS_ALSA_MIXER_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ALSA_MIXER_OPTIONS))
-#define GST_IS_ALSA_MIXER_OPTIONS_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ALSA_MIXER_OPTIONS))
-#define GST_TYPE_ALSA_MIXER_OPTIONS (gst_alsa_mixer_options_get_type())
+#define GST_ALSA_MIXER_OPTIONS_TYPE (gst_alsa_mixer_options_get_type ())
+#define GST_ALSA_MIXER_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_ALSA_MIXER_OPTIONS,GstAlsaMixerOptions))
+#define GST_ALSA_MIXER_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_ALSA_MIXER_OPTIONS,GstAlsaMixerOptionsClass))
+#define GST_IS_ALSA_MIXER_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ALSA_MIXER_OPTIONS))
+#define GST_IS_ALSA_MIXER_OPTIONS_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ALSA_MIXER_OPTIONS))
+#define GST_TYPE_ALSA_MIXER_OPTIONS (gst_alsa_mixer_options_get_type())
typedef struct _GstAlsaMixerOptions GstAlsaMixerOptions;
struct _GstAlsaMixerOptions {
- GstMixerOptions parent;
- snd_mixer_elem_t *element; /* the ALSA mixer element for this track */
- gint track_num;
+ GstMixerOptions parent;
+ snd_mixer_elem_t *element; /* the ALSA mixer element for this track */
+ gint track_num;
};
struct _GstAlsaMixerOptionsClass {
};
-GType gst_alsa_mixer_options_get_type (void);
-GstMixerOptions *gst_alsa_mixer_options_new (snd_mixer_elem_t * element,
- gint track_num);
+GType gst_alsa_mixer_options_get_type (void);
+GstMixerOptions *gst_alsa_mixer_options_new (snd_mixer_elem_t * element,
+ gint track_num);
G_END_DECLS
G_BEGIN_DECLS
-#define GST_ALSA_MIXER_TRACK_TYPE (gst_alsa_mixer_track_get_type ())
-#define GST_ALSA_MIXER_TRACK(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_ALSA_MIXER_TRACK,GstAlsaMixerTrack))
-#define GST_ALSA_MIXER_TRACK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_ALSA_MIXER_TRACK,GstAlsaMixerTrackClass))
-#define GST_IS_ALSA_MIXER_TRACK(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ALSA_MIXER_TRACK))
-#define GST_IS_ALSA_MIXER_TRACK_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ALSA_MIXER_TRACK))
-#define GST_TYPE_ALSA_MIXER_TRACK (gst_alsa_mixer_track_get_type())
+#define GST_ALSA_MIXER_TRACK_TYPE (gst_alsa_mixer_track_get_type ())
+#define GST_ALSA_MIXER_TRACK(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_ALSA_MIXER_TRACK,GstAlsaMixerTrack))
+#define GST_ALSA_MIXER_TRACK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_ALSA_MIXER_TRACK,GstAlsaMixerTrackClass))
+#define GST_IS_ALSA_MIXER_TRACK(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ALSA_MIXER_TRACK))
+#define GST_IS_ALSA_MIXER_TRACK_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ALSA_MIXER_TRACK))
+#define GST_TYPE_ALSA_MIXER_TRACK (gst_alsa_mixer_track_get_type())
typedef struct _GstAlsaMixerTrack GstAlsaMixerTrack;
typedef struct _GstAlsaMixerTrackClass GstAlsaMixerTrackClass;
#define GST_ALSA_MIXER_TRACK_CAPTURE (1<<0)
#define GST_ALSA_MIXER_TRACK_PLAYBACK (1<<1)
-#define GST_ALSA_MAX_CHANNELS 32 /* tracks can have up to 32 channels */
+#define GST_ALSA_MAX_CHANNELS 32 /* tracks can have up to 32 channels */
struct _GstAlsaMixerTrack {
- GstMixerTrack parent;
- snd_mixer_elem_t *element; /* the ALSA mixer element for this track */
- gint track_num;
- gint alsa_flags;
- gint volumes[GST_ALSA_MAX_CHANNELS];
+ GstMixerTrack parent;
+ snd_mixer_elem_t *element; /* the ALSA mixer element for this track */
+ gint track_num;
+ gint alsa_flags;
+ gint volumes[GST_ALSA_MAX_CHANNELS];
};
struct _GstAlsaMixerTrackClass {
GstMixerTrackClass parent;
};
-GType gst_alsa_mixer_track_get_type (void);
-GstMixerTrack * gst_alsa_mixer_track_new (snd_mixer_elem_t * element,
- gint num,
- gint track_num,
- gint channels,
- gint flags,
- gint alsa_flags);
+GType gst_alsa_mixer_track_get_type (void);
+GstMixerTrack * gst_alsa_mixer_track_new (snd_mixer_elem_t * element,
+ gint num,
+ gint track_num,
+ gint channels,
+ gint flags,
+ gint alsa_flags);
G_END_DECLS
}
#define CHECK(call, error) \
-G_STMT_START { \
-if ((err = call) < 0) \
- goto error; \
+G_STMT_START { \
+if ((err = call) < 0) \
+ goto error; \
} G_STMT_END;
static int
struct _GstAlsaSink {
GstAudioSink sink;
- gchar *device;
+ gchar *device;
- snd_pcm_t *handle;
- snd_pcm_hw_params_t *hwparams;
- snd_pcm_sw_params_t *swparams;
+ snd_pcm_t *handle;
+ snd_pcm_hw_params_t *hwparams;
+ snd_pcm_sw_params_t *swparams;
snd_pcm_access_t access;
snd_pcm_format_t format;
}
#define CHECK(call, error) \
-G_STMT_START { \
-if ((err = call) < 0) \
- goto error; \
+G_STMT_START { \
+if ((err = call) < 0) \
+ goto error; \
} G_STMT_END;
static int
typedef struct _GstAlsaSrcClass GstAlsaSrcClass;
struct _GstAlsaSrc {
- GstAudioSrc src;
+ GstAudioSrc src;
- gchar *device;
+ gchar *device;
- snd_pcm_t *handle;
- snd_pcm_hw_params_t *hwparams;
- snd_pcm_sw_params_t *swparams;
+ snd_pcm_t *handle;
+ snd_pcm_hw_params_t *hwparams;
+ snd_pcm_sw_params_t *swparams;
- snd_pcm_access_t access;
- snd_pcm_format_t format;
- guint rate;
- guint channels;
- gint bytes_per_sample;
+ snd_pcm_access_t access;
+ snd_pcm_format_t format;
+ guint rate;
+ guint channels;
+ gint bytes_per_sample;
- guint buffer_time;
- guint period_time;
- snd_pcm_uframes_t buffer_size;
- snd_pcm_uframes_t period_size;
+ guint buffer_time;
+ guint period_time;
+ snd_pcm_uframes_t buffer_size;
+ snd_pcm_uframes_t period_size;
- GstAlsaMixer *mixer;
+ GstAlsaMixer *mixer;
};
struct _GstAlsaSrcClass {
/* NOTE: per-element flags start with 16 for now */
typedef enum {
- CDPARANOIA_OPEN = (GST_ELEMENT_FLAG_LAST << 0),
+ CDPARANOIA_OPEN = (GST_ELEMENT_FLAG_LAST << 0),
- CDPARANOIA_FLAG_LAST = (GST_ELEMENT_FLAG_LAST << 2),
+ CDPARANOIA_FLAG_LAST = (GST_ELEMENT_FLAG_LAST << 2),
} CDParanoiaFlags;
typedef struct _CDParanoia CDParanoia;
GstElementClass parent_class;
/* signal callbacks */
- void (*smilie_change) (CDParanoia *cdparanoia, gchar *smilie);
- void (*transport_error) (CDParanoia *cdparanoia, gint offset);
- void (*uncorrected_error) (CDParanoia *cdparanoia, gint offset);
+ void (*smilie_change) (CDParanoia *cdparanoia, gchar *smilie);
+ void (*transport_error) (CDParanoia *cdparanoia, gint offset);
+ void (*uncorrected_error) (CDParanoia *cdparanoia, gint offset);
};
GType cdparanoia_get_type(void);
G_BEGIN_DECLS
-gchar **gst_gnomevfs_get_supported_uris (void);
+gchar **gst_gnomevfs_get_supported_uris (void);
G_END_DECLS
PARENTCLASS parent_class;
};
-#define GST_CHAIN_LOCK(ogg) g_mutex_lock((ogg)->chain_lock)
-#define GST_CHAIN_UNLOCK(ogg) g_mutex_unlock((ogg)->chain_lock)
+#define GST_CHAIN_LOCK(ogg) g_mutex_lock((ogg)->chain_lock)
+#define GST_CHAIN_UNLOCK(ogg) g_mutex_unlock((ogg)->chain_lock)
struct _GstOggDemux
{
};
/* set to 0.5 seconds by default */
-#define DEFAULT_MAX_DELAY G_GINT64_CONSTANT(500000000)
-#define DEFAULT_MAX_PAGE_DELAY G_GINT64_CONSTANT(500000000)
+#define DEFAULT_MAX_DELAY G_GINT64_CONSTANT(500000000)
+#define DEFAULT_MAX_PAGE_DELAY G_GINT64_CONSTANT(500000000)
enum
{
ARG_0,
gint bitmap_buffer_size;
gint baseline_y;
- gboolean need_render;
+ gboolean need_render;
gint shading_value; /* for timeoverlay subclass */
};
GstElementClass parent_class;
};
-#define THEORA_DEF_CROP TRUE
+#define THEORA_DEF_CROP TRUE
enum
{
ARG_0,
#define ROUND_UP_4(x) (((x) + 3) & ~3)
#define ROUND_UP_8(x) (((x) + 7) & ~7)
-#define THEORA_DEF_CENTER TRUE
-#define THEORA_DEF_BORDER BORDER_BLACK
-#define THEORA_DEF_BITRATE 0
-#define THEORA_DEF_QUALITY 16
-#define THEORA_DEF_QUICK TRUE
-#define THEORA_DEF_KEYFRAME_AUTO TRUE
-#define THEORA_DEF_KEYFRAME_FREQ 64
-#define THEORA_DEF_KEYFRAME_FREQ_FORCE 64
-#define THEORA_DEF_KEYFRAME_THRESHOLD 80
-#define THEORA_DEF_KEYFRAME_MINDISTANCE 8
-#define THEORA_DEF_NOISE_SENSITIVITY 1
-#define THEORA_DEF_SHARPNESS 0
+#define THEORA_DEF_CENTER TRUE
+#define THEORA_DEF_BORDER BORDER_BLACK
+#define THEORA_DEF_BITRATE 0
+#define THEORA_DEF_QUALITY 16
+#define THEORA_DEF_QUICK TRUE
+#define THEORA_DEF_KEYFRAME_AUTO TRUE
+#define THEORA_DEF_KEYFRAME_FREQ 64
+#define THEORA_DEF_KEYFRAME_FREQ_FORCE 64
+#define THEORA_DEF_KEYFRAME_THRESHOLD 80
+#define THEORA_DEF_KEYFRAME_MINDISTANCE 8
+#define THEORA_DEF_NOISE_SENSITIVITY 1
+#define THEORA_DEF_SHARPNESS 0
enum
{
typedef struct _GstVorbisDecClass GstVorbisDecClass;
struct _GstVorbisDec {
- GstElement element;
+ GstElement element;
- GstPad * sinkpad;
- GstPad * srcpad;
+ GstPad * sinkpad;
+ GstPad * srcpad;
- vorbis_dsp_state vd;
- vorbis_info vi;
- vorbis_comment vc;
- vorbis_block vb;
- guint packetno;
- guint64 granulepos;
+ vorbis_dsp_state vd;
+ vorbis_info vi;
+ vorbis_comment vc;
+ vorbis_block vb;
+ guint packetno;
+ guint64 granulepos;
- gboolean initialized;
+ gboolean initialized;
- GList *queued;
+ GList *queued;
gdouble segment_rate;
gint64 segment_start;
}
#endif
-#define MAX_BITRATE_DEFAULT -1
-#define BITRATE_DEFAULT -1
-#define MIN_BITRATE_DEFAULT -1
-#define QUALITY_DEFAULT 0.3
-#define LOWEST_BITRATE 6000 /* lowest allowed for a 8 kHz stream */
-#define HIGHEST_BITRATE 250001 /* highest allowed for a 44 kHz stream */
+#define MAX_BITRATE_DEFAULT -1
+#define BITRATE_DEFAULT -1
+#define MIN_BITRATE_DEFAULT -1
+#define QUALITY_DEFAULT 0.3
+#define LOWEST_BITRATE 6000 /* lowest allowed for a 8 kHz stream */
+#define HIGHEST_BITRATE 250001 /* highest allowed for a 44 kHz stream */
static void gst_vorbisenc_base_init (gpointer g_class);
static void gst_vorbisenc_class_init (GstVorbisEncClass * klass);
typedef struct _GstVorbisEncClass GstVorbisEncClass;
struct _GstVorbisEnc {
- GstElement element;
+ GstElement element;
GstPad *sinkpad;
GstPad *srcpad;
vorbis_info vi; /* struct that stores all the static vorbis bitstream
- settings */
+ settings */
vorbis_comment vc; /* struct that stores all the user comments */
vorbis_dsp_state vd; /* central working state for the packet->PCM decoder */
gint min_bitrate;
gint max_bitrate;
gfloat quality;
- gboolean quality_set;
+ gboolean quality_set;
gint channels;
gint frequency;
- guint64 samples_in;
- guint64 bytes_out;
+ guint64 samples_in;
+ guint64 bytes_out;
GstClockTime prev_ts;
- GstTagList * tags;
+ GstTagList * tags;
gboolean setup;
gboolean header_sent;
- gchar *last_message;
+ gchar *last_message;
};
struct _GstVorbisEncClass {
typedef struct _GstVorbisParseClass GstVorbisParseClass;
struct _GstVorbisParse {
- GstElement element;
+ GstElement element;
- GstPad * sinkpad;
- GstPad * srcpad;
+ GstPad * sinkpad;
+ GstPad * srcpad;
- guint packetno;
- gboolean streamheader_sent;
- GList * streamheader;
+ guint packetno;
+ gboolean streamheader_sent;
+ GList * streamheader;
};
struct _GstVorbisParseClass {
gpointer _gst_reserved[GST_PADDING];
};
-GType gst_audio_clock_get_type (void);
-GstClock* gst_audio_clock_new (gchar *name, GstAudioClockGetTimeFunc func,
+GType gst_audio_clock_get_type (void);
+GstClock* gst_audio_clock_new (gchar *name, GstAudioClockGetTimeFunc func,
gpointer user_data);
G_END_DECLS
GST_DEBUG_CATEGORY_STATIC (gst_audio_sink_debug);
#define GST_CAT_DEFAULT gst_audio_sink_debug
-#define GST_TYPE_AUDIORING_BUFFER \
- (gst_audioringbuffer_get_type())
-#define GST_AUDIORING_BUFFER(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIORING_BUFFER,GstAudioRingBuffer))
+#define GST_TYPE_AUDIORING_BUFFER \
+ (gst_audioringbuffer_get_type())
+#define GST_AUDIORING_BUFFER(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIORING_BUFFER,GstAudioRingBuffer))
#define GST_AUDIORING_BUFFER_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIORING_BUFFER,GstAudioRingBufferClass))
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIORING_BUFFER,GstAudioRingBufferClass))
#define GST_AUDIORING_BUFFER_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_AUDIORING_BUFFER, GstAudioRingBufferClass))
-#define GST_IS_AUDIORING_BUFFER(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIORING_BUFFER))
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_AUDIORING_BUFFER, GstAudioRingBufferClass))
+#define GST_IS_AUDIORING_BUFFER(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIORING_BUFFER))
#define GST_IS_AUDIORING_BUFFER_CLASS(obj)\
- (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIORING_BUFFER))
+ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIORING_BUFFER))
typedef struct _GstAudioRingBuffer GstAudioRingBuffer;
typedef struct _GstAudioRingBufferClass GstAudioRingBufferClass;
G_BEGIN_DECLS
-#define GST_TYPE_AUDIO_SINK (gst_audio_sink_get_type())
-#define GST_AUDIO_SINK(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIO_SINK,GstAudioSink))
-#define GST_AUDIO_SINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIO_SINK,GstAudioSinkClass))
-#define GST_AUDIO_SINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),GST_TYPE_AUDIO_SINK,GstAudioSinkClass))
-#define GST_IS_AUDIO_SINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIO_SINK))
-#define GST_IS_AUDIO_SINK_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIO_SINK))
+#define GST_TYPE_AUDIO_SINK (gst_audio_sink_get_type())
+#define GST_AUDIO_SINK(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIO_SINK,GstAudioSink))
+#define GST_AUDIO_SINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIO_SINK,GstAudioSinkClass))
+#define GST_AUDIO_SINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),GST_TYPE_AUDIO_SINK,GstAudioSinkClass))
+#define GST_IS_AUDIO_SINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIO_SINK))
+#define GST_IS_AUDIO_SINK_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIO_SINK))
typedef struct _GstAudioSink GstAudioSink;
typedef struct _GstAudioSinkClass GstAudioSinkClass;
struct _GstAudioSink {
- GstBaseAudioSink element;
+ GstBaseAudioSink element;
/*< private >*/ /* with LOCK */
GThread *thread;
GST_DEBUG_CATEGORY_STATIC (gst_audio_src_debug);
#define GST_CAT_DEFAULT gst_audio_src_debug
-#define GST_TYPE_AUDIORING_BUFFER \
- (gst_audioringbuffer_get_type())
-#define GST_AUDIORING_BUFFER(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIORING_BUFFER,GstAudioRingBuffer))
+#define GST_TYPE_AUDIORING_BUFFER \
+ (gst_audioringbuffer_get_type())
+#define GST_AUDIORING_BUFFER(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIORING_BUFFER,GstAudioRingBuffer))
#define GST_AUDIORING_BUFFER_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIORING_BUFFER,GstAudioRingBufferClass))
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIORING_BUFFER,GstAudioRingBufferClass))
#define GST_AUDIORING_BUFFER_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_AUDIORING_BUFFER, GstAudioRingBufferClass))
-#define GST_IS_AUDIORING_BUFFER(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIORING_BUFFER))
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_AUDIORING_BUFFER, GstAudioRingBufferClass))
+#define GST_IS_AUDIORING_BUFFER(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIORING_BUFFER))
#define GST_IS_AUDIORING_BUFFER_CLASS(obj)\
- (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIORING_BUFFER))
+ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIORING_BUFFER))
typedef struct _GstAudioRingBuffer GstAudioRingBuffer;
typedef struct _GstAudioRingBufferClass GstAudioRingBufferClass;
G_BEGIN_DECLS
-#define GST_TYPE_AUDIO_SRC (gst_audio_src_get_type())
-#define GST_AUDIO_SRC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIO_SRC,GstAudioSrc))
-#define GST_AUDIO_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIO_SRC,GstAudioSrcClass))
-#define GST_AUDIO_SRC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),GST_TYPE_AUDIO_SRC,GstAudioSrcClass))
-#define GST_IS_AUDIO_SRC(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIO_SRC))
-#define GST_IS_AUDIO_SRC_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIO_SRC))
+#define GST_TYPE_AUDIO_SRC (gst_audio_src_get_type())
+#define GST_AUDIO_SRC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AUDIO_SRC,GstAudioSrc))
+#define GST_AUDIO_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIO_SRC,GstAudioSrcClass))
+#define GST_AUDIO_SRC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),GST_TYPE_AUDIO_SRC,GstAudioSrcClass))
+#define GST_IS_AUDIO_SRC(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIO_SRC))
+#define GST_IS_AUDIO_SRC_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIO_SRC))
typedef struct _GstAudioSrc GstAudioSrc;
typedef struct _GstAudioSrcClass GstAudioSrcClass;
struct _GstAudioSrc {
- GstBaseAudioSrc element;
+ GstBaseAudioSrc element;
/*< private >*/ /* with LOCK */
GThread *thread;
/* we tollerate a 10th of a second diff before we start resyncing. This
* should be enough to compensate for various rounding errors in the timestamp
* and sample offset position. */
-#define DIFF_TOLERANCE 10
+#define DIFF_TOLERANCE 10
-#define DEFAULT_BUFFER_TIME 500 * GST_USECOND
-#define DEFAULT_LATENCY_TIME 10 * GST_USECOND
-#define DEFAULT_PROVIDE_CLOCK TRUE
+#define DEFAULT_BUFFER_TIME 500 * GST_USECOND
+#define DEFAULT_LATENCY_TIME 10 * GST_USECOND
+#define DEFAULT_PROVIDE_CLOCK TRUE
enum
{
G_BEGIN_DECLS
-#define GST_TYPE_BASE_AUDIO_SINK (gst_base_audio_sink_get_type())
-#define GST_BASE_AUDIO_SINK(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASE_AUDIO_SINK,GstBaseAudioSink))
-#define GST_BASE_AUDIO_SINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASE_AUDIO_SINK,GstBaseAudioSinkClass))
-#define GST_BASE_AUDIO_SINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_BASE_AUDIO_SINK, GstBaseAudioSinkClass))
-#define GST_IS_BASE_AUDIO_SINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_AUDIO_SINK))
-#define GST_IS_BASE_AUDIO_SINK_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASE_AUDIO_SINK))
+#define GST_TYPE_BASE_AUDIO_SINK (gst_base_audio_sink_get_type())
+#define GST_BASE_AUDIO_SINK(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASE_AUDIO_SINK,GstBaseAudioSink))
+#define GST_BASE_AUDIO_SINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASE_AUDIO_SINK,GstBaseAudioSinkClass))
+#define GST_BASE_AUDIO_SINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_BASE_AUDIO_SINK, GstBaseAudioSinkClass))
+#define GST_IS_BASE_AUDIO_SINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_AUDIO_SINK))
+#define GST_IS_BASE_AUDIO_SINK_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASE_AUDIO_SINK))
-#define GST_BASE_AUDIO_SINK_CLOCK(obj) (GST_BASE_AUDIO_SINK (obj)->clock)
-#define GST_BASE_AUDIO_SINK_PAD(obj) (GST_BASE_SINK (obj)->sinkpad)
+#define GST_BASE_AUDIO_SINK_CLOCK(obj) (GST_BASE_AUDIO_SINK (obj)->clock)
+#define GST_BASE_AUDIO_SINK_PAD(obj) (GST_BASE_SINK (obj)->sinkpad)
typedef struct _GstBaseAudioSink GstBaseAudioSink;
typedef struct _GstBaseAudioSinkClass GstBaseAudioSinkClass;
struct _GstBaseAudioSink {
- GstBaseSink element;
+ GstBaseSink element;
/*< protected >*/ /* with LOCK */
/* our ringbuffer */
GstClockTime latency_time;
/* the next sample to write */
- guint64 next_sample;
+ guint64 next_sample;
/* clock */
gboolean provide_clock;
- GstClock *provided_clock;
+ GstClock *provided_clock;
/*< private >*/
gpointer _gst_reserved[GST_PADDING];
LAST_SIGNAL
};
-#define DEFAULT_BUFFER_TIME 500 * GST_USECOND
-#define DEFAULT_LATENCY_TIME 10 * GST_USECOND
+#define DEFAULT_BUFFER_TIME 500 * GST_USECOND
+#define DEFAULT_LATENCY_TIME 10 * GST_USECOND
enum
{
PROP_0,
G_BEGIN_DECLS
-#define GST_TYPE_BASE_AUDIO_SRC (gst_base_audio_src_get_type())
-#define GST_BASE_AUDIO_SRC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASE_AUDIO_SRC,GstBaseAudioSrc))
-#define GST_BASE_AUDIO_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASE_AUDIO_SRC,GstBaseAudioSrcClass))
-#define GST_BASE_AUDIO_SRC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_BASE_AUDIO_SRC, GstBaseAudioSrcClass))
-#define GST_IS_BASE_AUDIO_SRC(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_AUDIO_SRC))
-#define GST_IS_BASE_AUDIO_SRC_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASE_AUDIO_SRC))
+#define GST_TYPE_BASE_AUDIO_SRC (gst_base_audio_src_get_type())
+#define GST_BASE_AUDIO_SRC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASE_AUDIO_SRC,GstBaseAudioSrc))
+#define GST_BASE_AUDIO_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASE_AUDIO_SRC,GstBaseAudioSrcClass))
+#define GST_BASE_AUDIO_SRC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_BASE_AUDIO_SRC, GstBaseAudioSrcClass))
+#define GST_IS_BASE_AUDIO_SRC(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_AUDIO_SRC))
+#define GST_IS_BASE_AUDIO_SRC_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASE_AUDIO_SRC))
-#define GST_BASE_AUDIO_SRC_CLOCK(obj) (GST_BASE_AUDIO_SRC (obj)->clock)
-#define GST_BASE_AUDIO_SRC_PAD(obj) (GST_BASE_SRC (obj)->srcpad)
+#define GST_BASE_AUDIO_SRC_CLOCK(obj) (GST_BASE_AUDIO_SRC (obj)->clock)
+#define GST_BASE_AUDIO_SRC_PAD(obj) (GST_BASE_SRC (obj)->srcpad)
typedef struct _GstBaseAudioSrc GstBaseAudioSrc;
typedef struct _GstBaseAudioSrcClass GstBaseAudioSrcClass;
struct _GstBaseAudioSrc {
- GstPushSrc element;
+ GstPushSrc element;
/*< protected >*/ /* with LOCK */
/* our ringbuffer */
GstClockTime latency_time;
/* the next sample to write */
- guint64 next_sample;
+ guint64 next_sample;
/* clock */
- GstClock *clock;
+ GstClock *clock;
/*< private >*/
gpointer _gst_reserved[GST_PADDING];
G_BEGIN_DECLS
-#define GST_TYPE_RING_BUFFER (gst_ring_buffer_get_type())
-#define GST_RING_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RING_BUFFER,GstRingBuffer))
-#define GST_RING_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RING_BUFFER,GstRingBufferClass))
+#define GST_TYPE_RING_BUFFER (gst_ring_buffer_get_type())
+#define GST_RING_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RING_BUFFER,GstRingBuffer))
+#define GST_RING_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RING_BUFFER,GstRingBufferClass))
#define GST_RING_BUFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_RING_BUFFER, GstRingBufferClass))
-#define GST_IS_RING_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RING_BUFFER))
+#define GST_IS_RING_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RING_BUFFER))
#define GST_IS_RING_BUFFER_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RING_BUFFER))
typedef struct _GstRingBuffer GstRingBuffer;
{
/*< public >*/
/* in */
- GstCaps *caps; /* the caps of the buffer */
+ GstCaps *caps; /* the caps of the buffer */
/* in/out */
GstBufferFormatType type;
GstBufferFormat format;
gboolean sign;
gboolean bigend;
- gint width;
- gint depth;
+ gint width;
+ gint depth;
gint rate;
gint channels;
- GstClockTime latency_time; /* the required/actual latency time */
- GstClockTime buffer_time; /* the required/actual time of the buffer */
- gint segsize; /* size of one buffer segement */
- gint segtotal; /* total number of segments */
+ GstClockTime latency_time; /* the required/actual latency time */
+ GstClockTime buffer_time; /* the required/actual time of the buffer */
+ gint segsize; /* size of one buffer segement */
+ gint segtotal; /* total number of segments */
/* out */
- gint bytes_per_sample; /* number of bytes of one sample */
+ gint bytes_per_sample; /* number of bytes of one sample */
guint8 silence_sample[32]; /* bytes representing silence */
/*< private >*/
#define GST_RING_BUFFER_BROADCAST(buf)(g_cond_broadcast (GST_RING_BUFFER_GET_COND (buf)))
struct _GstRingBuffer {
- GstObject object;
+ GstObject object;
/*< public >*/ /* with LOCK */
GCond *cond;
GstBuffer *data;
GstRingBufferSpec spec;
GstRingBufferSegState *segstate;
- gint samples_per_seg; /* number of samples per segment */
- guint8 *empty_seg;
+ gint samples_per_seg; /* number of samples per segment */
+ guint8 *empty_seg;
/*< public >*/ /* ATOMIC */
- gint state; /* state of the buffer */
- gint segdone; /* number of segments processed since last start */
- gint segbase; /* segment corresponding to segment 0 */
- gint waiting; /* when waiting for a segment to be freed */
+ gint state; /* state of the buffer */
+ gint segdone; /* number of segments processed since last start */
+ gint segbase; /* segment corresponding to segment 0 */
+ gint waiting; /* when waiting for a segment to be freed */
/*< private >*/
GstRingBufferCallback callback;
/*< private >*/
union {
struct {
- gboolean flushing;
+ gboolean flushing;
};
/* adding + 0 to mark ABI change to be undone later */
gpointer _gst_reserved[GST_PADDING + 0];
GType gst_ring_buffer_get_type(void);
/* callback stuff */
-void gst_ring_buffer_set_callback (GstRingBuffer *buf, GstRingBufferCallback cb,
- gpointer user_data);
+void gst_ring_buffer_set_callback (GstRingBuffer *buf, GstRingBufferCallback cb,
+ gpointer user_data);
-gboolean gst_ring_buffer_parse_caps (GstRingBufferSpec *spec, GstCaps *caps);
-void gst_ring_buffer_debug_spec_caps (GstRingBufferSpec *spec);
-void gst_ring_buffer_debug_spec_buff (GstRingBufferSpec *spec);
+gboolean gst_ring_buffer_parse_caps (GstRingBufferSpec *spec, GstCaps *caps);
+void gst_ring_buffer_debug_spec_caps (GstRingBufferSpec *spec);
+void gst_ring_buffer_debug_spec_buff (GstRingBufferSpec *spec);
/* device state */
-gboolean gst_ring_buffer_open_device (GstRingBuffer *buf);
-gboolean gst_ring_buffer_close_device (GstRingBuffer *buf);
+gboolean gst_ring_buffer_open_device (GstRingBuffer *buf);
+gboolean gst_ring_buffer_close_device (GstRingBuffer *buf);
-gboolean gst_ring_buffer_device_is_open (GstRingBuffer *buf);
+gboolean gst_ring_buffer_device_is_open (GstRingBuffer *buf);
/* allocate resources */
-gboolean gst_ring_buffer_acquire (GstRingBuffer *buf, GstRingBufferSpec *spec);
-gboolean gst_ring_buffer_release (GstRingBuffer *buf);
+gboolean gst_ring_buffer_acquire (GstRingBuffer *buf, GstRingBufferSpec *spec);
+gboolean gst_ring_buffer_release (GstRingBuffer *buf);
-gboolean gst_ring_buffer_is_acquired (GstRingBuffer *buf);
+gboolean gst_ring_buffer_is_acquired (GstRingBuffer *buf);
/* flushing */
-void gst_ring_buffer_set_flushing (GstRingBuffer *buf, gboolean flushing);
+void gst_ring_buffer_set_flushing (GstRingBuffer *buf, gboolean flushing);
/* playback/pause */
-gboolean gst_ring_buffer_start (GstRingBuffer *buf);
-gboolean gst_ring_buffer_pause (GstRingBuffer *buf);
-gboolean gst_ring_buffer_stop (GstRingBuffer *buf);
+gboolean gst_ring_buffer_start (GstRingBuffer *buf);
+gboolean gst_ring_buffer_pause (GstRingBuffer *buf);
+gboolean gst_ring_buffer_stop (GstRingBuffer *buf);
/* get status */
-guint gst_ring_buffer_delay (GstRingBuffer *buf);
-guint64 gst_ring_buffer_samples_done (GstRingBuffer *buf);
+guint gst_ring_buffer_delay (GstRingBuffer *buf);
+guint64 gst_ring_buffer_samples_done (GstRingBuffer *buf);
-void gst_ring_buffer_set_sample (GstRingBuffer *buf, guint64 sample);
+void gst_ring_buffer_set_sample (GstRingBuffer *buf, guint64 sample);
/* clear all segments */
-void gst_ring_buffer_clear_all (GstRingBuffer *buf);
+void gst_ring_buffer_clear_all (GstRingBuffer *buf);
/* commit samples */
-guint gst_ring_buffer_commit (GstRingBuffer *buf, guint64 sample,
- guchar *data, guint len);
+guint gst_ring_buffer_commit (GstRingBuffer *buf, guint64 sample,
+ guchar *data, guint len);
/* read samples */
-guint gst_ring_buffer_read (GstRingBuffer *buf, guint64 sample,
- guchar *data, guint len);
+guint gst_ring_buffer_read (GstRingBuffer *buf, guint64 sample,
+ guchar *data, guint len);
/* mostly protected */
-gboolean gst_ring_buffer_prepare_write (GstRingBuffer *buf, gint *segment, guint8 **writeptr, gint *len);
-gboolean gst_ring_buffer_prepare_read (GstRingBuffer *buf, gint *segment, guint8 **readptr, gint *len);
-void gst_ring_buffer_clear (GstRingBuffer *buf, gint segment);
-void gst_ring_buffer_advance (GstRingBuffer *buf, guint advance);
+gboolean gst_ring_buffer_prepare_write (GstRingBuffer *buf, gint *segment, guint8 **writeptr, gint *len);
+gboolean gst_ring_buffer_prepare_read (GstRingBuffer *buf, gint *segment, guint8 **readptr, gint *len);
+void gst_ring_buffer_clear (GstRingBuffer *buf, gint segment);
+void gst_ring_buffer_advance (GstRingBuffer *buf, guint advance);
G_END_DECLS
* works with fixed caps, caller should check for that! Caller
* g_free()s result of the getter. */
GstAudioChannelPosition *
- gst_audio_get_channel_positions (GstStructure *str);
-void gst_audio_set_channel_positions (GstStructure *str,
- const GstAudioChannelPosition *pos);
+ gst_audio_get_channel_positions (GstStructure *str);
+void gst_audio_set_channel_positions (GstStructure *str,
+ const GstAudioChannelPosition *pos);
/* Sets a (non-fixed) list of possible audio channel positions
* on a structure (this requires the "channels" property to
* be fixed!) or on a caps (here, the "channels" property may be
* unfixed and the caps may even contain multiple structures). */
-void gst_audio_set_structure_channel_positions_list
- (GstStructure *str,
- const GstAudioChannelPosition *pos,
- gint num_positions);
-void gst_audio_set_caps_channel_positions_list
- (GstCaps *caps,
- const GstAudioChannelPosition *pos,
- gint num_positions);
+void gst_audio_set_structure_channel_positions_list
+ (GstStructure *str,
+ const GstAudioChannelPosition *pos,
+ gint num_positions);
+void gst_audio_set_caps_channel_positions_list
+ (GstCaps *caps,
+ const GstAudioChannelPosition *pos,
+ gint num_positions);
/* Custom fixate function. Elements that implement some sort of
* channel conversion algorhithm should use this function for
* the return value. The input properties may be (and are supposed
* to be) unfixed. */
GstAudioChannelPosition *
- gst_audio_fixate_channel_positions (GstStructure *str);
+ gst_audio_fixate_channel_positions (GstStructure *str);
G_END_DECLS
#if (HAVE_LRINT && HAVE_LRINTF)
- /* These defines enable functionality introduced with the 1999 ISO C
- ** standard. They must be defined before the inclusion of math.h to
- ** engage them. If optimisation is enabled, these functions will be
- ** inlined. With optimisation switched off, you have to link in the
- ** maths library using -lm.
- */
+ /* These defines enable functionality introduced with the 1999 ISO C
+ ** standard. They must be defined before the inclusion of math.h to
+ ** engage them. If optimisation is enabled, these functions will be
+ ** inlined. With optimisation switched off, you have to link in the
+ ** maths library using -lm.
+ */
- #define _ISOC9X_SOURCE 1
- #define _ISOC99_SOURCE 1
+ #define _ISOC9X_SOURCE 1
+ #define _ISOC99_SOURCE 1
- #define __USE_ISOC9X 1
- #define __USE_ISOC99 1
+ #define __USE_ISOC9X 1
+ #define __USE_ISOC99 1
- #include <math.h>
+ #include <math.h>
- #define gst_cast_float(x) ((gint)lrintf(x))
- #define gst_cast_double(x) ((gint)lrint(x))
+ #define gst_cast_float(x) ((gint)lrintf(x))
+ #define gst_cast_double(x) ((gint)lrint(x))
#else
- /* use a standard c cast, but do rounding correctly */
- #define gst_cast_float(x) ((gint)floor((x)+0.5))
- #define gst_cast_double(x) ((gint)floor((x)+0.5))
+ /* use a standard c cast, but do rounding correctly */
+ #define gst_cast_float(x) ((gint)floor((x)+0.5))
+ #define gst_cast_double(x) ((gint)floor((x)+0.5))
#endif
* Copyright (C) 2003 Ronald Bultje <rbultje@ronald.bitfreak.net>
*
* colorbalance.c: image color balance interface design
- * virtual class function wrappers
+ * virtual class function wrappers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
(gst_color_balance_get_type ())
#define GST_COLOR_BALANCE(obj) \
(GST_IMPLEMENTS_INTERFACE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_COLOR_BALANCE, \
- GstColorBalance))
+ GstColorBalance))
#define GST_COLOR_BALANCE_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_COLOR_BALANCE, \
- GstColorBalanceClass))
+ GstColorBalanceClass))
#define GST_IS_COLOR_BALANCE(obj) \
(GST_IMPLEMENTS_INTERFACE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_COLOR_BALANCE))
#define GST_IS_COLOR_BALANCE_CLASS(klass) \
const GList * (* list_channels) (GstColorBalance *balance);
void (* set_value) (GstColorBalance *balance,
- GstColorBalanceChannel *channel,
- gint value);
+ GstColorBalanceChannel *channel,
+ gint value);
gint (* get_value) (GstColorBalance *balance,
- GstColorBalanceChannel *channel);
+ GstColorBalanceChannel *channel);
/* signals */
void (* value_changed) (GstColorBalance *balance,
- GstColorBalanceChannel *channel,
- gint value);
+ GstColorBalanceChannel *channel,
+ gint value);
gpointer _gst_reserved[GST_PADDING];
} GstColorBalanceClass;
-GType gst_color_balance_get_type (void);
+GType gst_color_balance_get_type (void);
/* virtual class function wrappers */
const GList *
- gst_color_balance_list_channels (GstColorBalance *balance);
-void gst_color_balance_set_value (GstColorBalance *balance,
- GstColorBalanceChannel *channel,
- gint value);
-gint gst_color_balance_get_value (GstColorBalance *balance,
- GstColorBalanceChannel *channel);
+ gst_color_balance_list_channels (GstColorBalance *balance);
+void gst_color_balance_set_value (GstColorBalance *balance,
+ GstColorBalanceChannel *channel,
+ gint value);
+gint gst_color_balance_get_value (GstColorBalance *balance,
+ GstColorBalanceChannel *channel);
/* trigger signal */
-void gst_color_balance_value_changed (GstColorBalance *balance,
- GstColorBalanceChannel *channel,
- gint value);
+void gst_color_balance_value_changed (GstColorBalance *balance,
+ GstColorBalanceChannel *channel,
+ gint value);
G_END_DECLS
(gst_color_balance_channel_get_type ())
#define GST_COLOR_BALANCE_CHANNEL(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_COLOR_BALANCE_CHANNEL, \
- GstColorBalanceChannel))
+ GstColorBalanceChannel))
#define GST_COLOR_BALANCE_CHANNEL_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_COLOR_BALANCE_CHANNEL, \
- GstColorBalanceChannelClass))
+ GstColorBalanceChannelClass))
#define GST_IS_COLOR_BALANCE_CHANNEL(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_COLOR_BALANCE_CHANNEL))
#define GST_IS_COLOR_BALANCE_CHANNEL_CLASS(klass) \
gchar *label;
gint min_value,
- max_value;
+ max_value;
} GstColorBalanceChannel;
typedef struct _GstColorBalanceChannelClass {
/* signals */
void (* value_changed) (GstColorBalanceChannel *channel,
- gint value);
+ gint value);
gpointer _gst_reserved[GST_PADDING];
} GstColorBalanceChannelClass;
-GType gst_color_balance_channel_get_type (void);
+GType gst_color_balance_channel_get_type (void);
G_END_DECLS
const GList * (* list_tracks) (GstMixer *mixer);
void (* set_volume) (GstMixer *mixer,
- GstMixerTrack *track,
- gint *volumes);
+ GstMixerTrack *track,
+ gint *volumes);
void (* get_volume) (GstMixer *mixer,
- GstMixerTrack *track,
- gint *volumes);
+ GstMixerTrack *track,
+ gint *volumes);
void (* set_mute) (GstMixer *mixer,
- GstMixerTrack *track,
- gboolean mute);
+ GstMixerTrack *track,
+ gboolean mute);
void (* set_record) (GstMixer *mixer,
- GstMixerTrack *track,
- gboolean record);
+ GstMixerTrack *track,
+ gboolean record);
/* signals */
void (* mute_toggled) (GstMixer *mixer,
- GstMixerTrack *channel,
- gboolean mute);
+ GstMixerTrack *channel,
+ gboolean mute);
void (* record_toggled) (GstMixer *mixer,
- GstMixerTrack *channel,
- gboolean record);
+ GstMixerTrack *channel,
+ gboolean record);
void (* volume_changed) (GstMixer *mixer,
- GstMixerTrack *channel,
- gint *volumes);
+ GstMixerTrack *channel,
+ gint *volumes);
- void (* set_option) (GstMixer *mixer,
- GstMixerOptions *opts,
- gchar *value);
- const gchar * (* get_option) (GstMixer *mixer,
- GstMixerOptions *opts);
+ void (* set_option) (GstMixer *mixer,
+ GstMixerOptions *opts,
+ gchar *value);
+ const gchar * (* get_option) (GstMixer *mixer,
+ GstMixerOptions *opts);
void (* option_changed) (GstMixer *mixer,
- GstMixerOptions *opts,
- gchar *option);
+ GstMixerOptions *opts,
+ gchar *option);
/*< private >*/
gpointer _gst_reserved[GST_PADDING];
};
-GType gst_mixer_get_type (void);
+GType gst_mixer_get_type (void);
/* virtual class function wrappers */
-const GList * gst_mixer_list_tracks (GstMixer *mixer);
-void gst_mixer_set_volume (GstMixer *mixer,
- GstMixerTrack *track,
- gint *volumes);
-void gst_mixer_get_volume (GstMixer *mixer,
- GstMixerTrack *track,
- gint *volumes);
-void gst_mixer_set_mute (GstMixer *mixer,
- GstMixerTrack *track,
- gboolean mute);
-void gst_mixer_set_record (GstMixer *mixer,
- GstMixerTrack *track,
- gboolean record);
-void gst_mixer_set_option (GstMixer *mixer,
- GstMixerOptions *opts,
- gchar *value);
-const gchar * gst_mixer_get_option (GstMixer *mixer,
- GstMixerOptions *opts);
+const GList * gst_mixer_list_tracks (GstMixer *mixer);
+void gst_mixer_set_volume (GstMixer *mixer,
+ GstMixerTrack *track,
+ gint *volumes);
+void gst_mixer_get_volume (GstMixer *mixer,
+ GstMixerTrack *track,
+ gint *volumes);
+void gst_mixer_set_mute (GstMixer *mixer,
+ GstMixerTrack *track,
+ gboolean mute);
+void gst_mixer_set_record (GstMixer *mixer,
+ GstMixerTrack *track,
+ gboolean record);
+void gst_mixer_set_option (GstMixer *mixer,
+ GstMixerOptions *opts,
+ gchar *value);
+const gchar * gst_mixer_get_option (GstMixer *mixer,
+ GstMixerOptions *opts);
/* trigger signals */
-void gst_mixer_mute_toggled (GstMixer *mixer,
- GstMixerTrack *track,
- gboolean mute);
-void gst_mixer_record_toggled (GstMixer *mixer,
- GstMixerTrack *track,
- gboolean record);
-void gst_mixer_volume_changed (GstMixer *mixer,
- GstMixerTrack *track,
- gint *volumes);
-void gst_mixer_option_changed (GstMixer *mixer,
- GstMixerOptions *opts,
- gchar *value);
+void gst_mixer_mute_toggled (GstMixer *mixer,
+ GstMixerTrack *track,
+ gboolean mute);
+void gst_mixer_record_toggled (GstMixer *mixer,
+ GstMixerTrack *track,
+ gboolean record);
+void gst_mixer_volume_changed (GstMixer *mixer,
+ GstMixerTrack *track,
+ gint *volumes);
+void gst_mixer_option_changed (GstMixer *mixer,
+ GstMixerOptions *opts,
+ gchar *value);
G_END_DECLS
(gst_mixer_options_get_type ())
#define GST_MIXER_OPTIONS(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_MIXER_OPTIONS, \
- GstMixerOptions))
+ GstMixerOptions))
#define GST_MIXER_OPTIONS_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_MIXER_OPTIONS, \
- GstMixerOptionsClass))
+ GstMixerOptionsClass))
#define GST_IS_MIXER_OPTIONS(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_MIXER_OPTIONS))
#define GST_IS_MIXER_OPTIONS_CLASS(klass) \
/* signals */
void (* option_changed) (GstMixerOptions *opts,
- gchar *value);
+ gchar *value);
gpointer _gst_reserved[GST_PADDING];
};
-GType gst_mixer_options_get_type (void);
+GType gst_mixer_options_get_type (void);
GList * gst_mixer_options_get_values (GstMixerOptions *mixer_options);
(gst_mixer_track_get_type ())
#define GST_MIXER_TRACK(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_MIXER_TRACK, \
- GstMixerTrack))
+ GstMixerTrack))
#define GST_MIXER_TRACK_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_MIXER_TRACK, \
- GstMixerTrackClass))
+ GstMixerTrackClass))
#define GST_IS_MIXER_TRACK(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_MIXER_TRACK))
#define GST_IS_MIXER_TRACK_CLASS(klass) \
/* FIXME: flags should be guint32. Change in 0.9 */
GstMixerTrackFlags flags;
gint num_channels,
- min_volume,
- max_volume;
+ min_volume,
+ max_volume;
};
struct _GstMixerTrackClass {
/* signals */
void (* mute_toggled) (GstMixerTrack *channel,
- gboolean mute);
+ gboolean mute);
void (* record_toggled) (GstMixerTrack *channel,
- gboolean record);
+ gboolean record);
void (* volume_changed) (GstMixerTrack *channel,
- gint *volumes);
+ gint *volumes);
gpointer _gst_reserved[GST_PADDING];
};
-GType gst_mixer_track_get_type (void);
+GType gst_mixer_track_get_type (void);
G_END_DECLS
gpointer _gst_reserved[GST_PADDING];
} GstNavigationInterface;
-GType gst_navigation_get_type (void);
+GType gst_navigation_get_type (void);
/* virtual class function wrappers */
void gst_navigation_send_event (GstNavigation *navigation, GstStructure *structure);
void gst_navigation_send_key_event (GstNavigation *navigation,
- const char *event, const char *key);
+ const char *event, const char *key);
void gst_navigation_send_mouse_event (GstNavigation *navigation,
- const char *event, int button, double x, double y);
+ const char *event, int button, double x, double y);
G_END_DECLS
/* signals */
void (*probe_needed) (GstPropertyProbe *probe,
- const GParamSpec *pspec);
+ const GParamSpec *pspec);
/* virtual functions */
const GList * (*get_properties) (GstPropertyProbe *probe);
gboolean (*needs_probe) (GstPropertyProbe *probe,
- guint prop_id,
- const GParamSpec *pspec);
+ guint prop_id,
+ const GParamSpec *pspec);
void (*probe_property) (GstPropertyProbe *probe,
- guint prop_id,
- const GParamSpec *pspec);
+ guint prop_id,
+ const GParamSpec *pspec);
GValueArray * (*get_values) (GstPropertyProbe *probe,
- guint prop_id,
- const GParamSpec *pspec);
+ guint prop_id,
+ const GParamSpec *pspec);
gpointer _gst_reserved[GST_PADDING];
} GstPropertyProbeInterface;
-GType gst_property_probe_get_type (void);
+GType gst_property_probe_get_type (void);
/* virtual class function wrappers */
/* returns list of GParamSpecs */
const GList * gst_property_probe_get_properties (GstPropertyProbe *probe);
const GParamSpec *gst_property_probe_get_property (GstPropertyProbe *probe,
- const gchar *name);
+ const gchar *name);
/* probe one property */
-void gst_property_probe_probe_property (GstPropertyProbe *probe,
- const GParamSpec *pspec);
-void gst_property_probe_probe_property_name (GstPropertyProbe *probe,
- const gchar *name);
+void gst_property_probe_probe_property (GstPropertyProbe *probe,
+ const GParamSpec *pspec);
+void gst_property_probe_probe_property_name (GstPropertyProbe *probe,
+ const gchar *name);
/* do we need a probe? */
-gboolean gst_property_probe_needs_probe (GstPropertyProbe *probe,
- const GParamSpec *pspec);
-gboolean gst_property_probe_needs_probe_name (GstPropertyProbe *probe,
- const gchar *name);
+gboolean gst_property_probe_needs_probe (GstPropertyProbe *probe,
+ const GParamSpec *pspec);
+gboolean gst_property_probe_needs_probe_name (GstPropertyProbe *probe,
+ const gchar *name);
/* returns list of GValues */
GValueArray * gst_property_probe_get_values (GstPropertyProbe *probe,
- const GParamSpec *pspec);
+ const GParamSpec *pspec);
GValueArray * gst_property_probe_get_values_name (GstPropertyProbe *probe,
- const gchar *name);
+ const gchar *name);
/* sugar */
GValueArray * gst_property_probe_probe_and_get_values (GstPropertyProbe *probe,
- const GParamSpec *pspec);
+ const GParamSpec *pspec);
GValueArray * gst_property_probe_probe_and_get_values_name (GstPropertyProbe *probe,
- const gchar *name);
+ const gchar *name);
G_END_DECLS
/* virtual functions */
const GList * (* list_channels) (GstTuner *tuner);
void (* set_channel) (GstTuner *tuner,
- GstTunerChannel *channel);
+ GstTunerChannel *channel);
GstTunerChannel *
- (* get_channel) (GstTuner *tuner);
+ (* get_channel) (GstTuner *tuner);
const GList * (* list_norms) (GstTuner *tuner);
void (* set_norm) (GstTuner *tuner,
- GstTunerNorm *norm);
+ GstTunerNorm *norm);
GstTunerNorm *(* get_norm) (GstTuner *tuner);
void (* set_frequency) (GstTuner *tuner,
- GstTunerChannel *channel,
- gulong frequency);
+ GstTunerChannel *channel,
+ gulong frequency);
gulong (* get_frequency) (GstTuner *tuner,
- GstTunerChannel *channel);
- gint (* signal_strength) (GstTuner *tuner,
- GstTunerChannel *channel);
+ GstTunerChannel *channel);
+ gint (* signal_strength) (GstTuner *tuner,
+ GstTunerChannel *channel);
/* signals */
void (*channel_changed) (GstTuner *tuner,
- GstTunerChannel *channel);
+ GstTunerChannel *channel);
void (*norm_changed) (GstTuner *tuner,
- GstTunerNorm *norm);
+ GstTunerNorm *norm);
void (*frequency_changed) (GstTuner *tuner,
- GstTunerChannel *channel,
- gulong frequency);
+ GstTunerChannel *channel,
+ gulong frequency);
void (*signal_changed) (GstTuner *tuner,
- GstTunerChannel *channel,
- gint signal);
+ GstTunerChannel *channel,
+ gint signal);
gpointer _gst_reserved[GST_PADDING];
} GstTunerClass;
-GType gst_tuner_get_type (void);
+GType gst_tuner_get_type (void);
/* virtual class function wrappers */
-const GList * gst_tuner_list_channels (GstTuner *tuner);
-void gst_tuner_set_channel (GstTuner *tuner,
- GstTunerChannel *channel);
+const GList * gst_tuner_list_channels (GstTuner *tuner);
+void gst_tuner_set_channel (GstTuner *tuner,
+ GstTunerChannel *channel);
GstTunerChannel *
- gst_tuner_get_channel (GstTuner *tuner);
+ gst_tuner_get_channel (GstTuner *tuner);
-const GList * gst_tuner_list_norms (GstTuner *tuner);
-void gst_tuner_set_norm (GstTuner *tuner,
- GstTunerNorm *norm);
-GstTunerNorm * gst_tuner_get_norm (GstTuner *tuner);
+const GList * gst_tuner_list_norms (GstTuner *tuner);
+void gst_tuner_set_norm (GstTuner *tuner,
+ GstTunerNorm *norm);
+GstTunerNorm * gst_tuner_get_norm (GstTuner *tuner);
-void gst_tuner_set_frequency (GstTuner *tuner,
- GstTunerChannel *channel,
- gulong frequency);
-gulong gst_tuner_get_frequency (GstTuner *tuner,
- GstTunerChannel *channel);
-gint gst_tuner_signal_strength (GstTuner *tuner,
- GstTunerChannel *channel);
+void gst_tuner_set_frequency (GstTuner *tuner,
+ GstTunerChannel *channel,
+ gulong frequency);
+gulong gst_tuner_get_frequency (GstTuner *tuner,
+ GstTunerChannel *channel);
+gint gst_tuner_signal_strength (GstTuner *tuner,
+ GstTunerChannel *channel);
/* helper functions */
-GstTunerNorm * gst_tuner_find_norm_by_name (GstTuner *tuner,
- gchar *norm);
-GstTunerChannel *gst_tuner_find_channel_by_name (GstTuner *tuner,
- gchar *channel);
+GstTunerNorm * gst_tuner_find_norm_by_name (GstTuner *tuner,
+ gchar *norm);
+GstTunerChannel *gst_tuner_find_channel_by_name (GstTuner *tuner,
+ gchar *channel);
/* trigger signals */
-void gst_tuner_channel_changed (GstTuner *tuner,
- GstTunerChannel *channel);
-void gst_tuner_norm_changed (GstTuner *tuner,
- GstTunerNorm *norm);
-void gst_tuner_frequency_changed (GstTuner *tuner,
- GstTunerChannel *channel,
- gulong frequency);
-void gst_tuner_signal_changed (GstTuner *tuner,
- GstTunerChannel *channel,
- gint signal);
+void gst_tuner_channel_changed (GstTuner *tuner,
+ GstTunerChannel *channel);
+void gst_tuner_norm_changed (GstTuner *tuner,
+ GstTunerNorm *norm);
+void gst_tuner_frequency_changed (GstTuner *tuner,
+ GstTunerChannel *channel,
+ gulong frequency);
+void gst_tuner_signal_changed (GstTuner *tuner,
+ GstTunerChannel *channel,
+ gint signal);
G_END_DECLS
(gst_tuner_channel_get_type ())
#define GST_TUNER_CHANNEL(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_TUNER_CHANNEL, \
- GstTunerChannel))
+ GstTunerChannel))
#define GST_TUNER_CHANNEL_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_TUNER_CHANNEL, \
- GstTunerChannelClass))
+ GstTunerChannelClass))
#define GST_IS_TUNER_CHANNEL(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_TUNER_CHANNEL))
#define GST_IS_TUNER_CHANNEL_CLASS(klass) \
GstTunerChannelFlags flags;
gfloat freq_multiplicator;
gulong min_frequency,
- max_frequency;
+ max_frequency;
gint min_signal,
- max_signal;
+ max_signal;
} GstTunerChannel;
typedef struct _GstTunerChannelClass {
/* signals */
void (*frequency_changed) (GstTunerChannel *channel,
- gulong frequency);
+ gulong frequency);
void (*signal_changed) (GstTunerChannel *channel,
- gint signal);
+ gint signal);
gpointer _gst_reserved[GST_PADDING];
} GstTunerChannelClass;
-GType gst_tuner_channel_get_type (void);
+GType gst_tuner_channel_get_type (void);
G_END_DECLS
gpointer _gst_reserved[GST_PADDING];
} GstTunerNormClass;
-GType gst_tuner_norm_get_type (void);
+GType gst_tuner_norm_get_type (void);
G_END_DECLS
(gst_x_overlay_get_type ())
#define GST_X_OVERLAY(obj) \
(GST_IMPLEMENTS_INTERFACE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_X_OVERLAY, \
- GstXOverlay))
+ GstXOverlay))
#define GST_X_OVERLAY_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_X_OVERLAY, GstXOverlayClass))
#define GST_IS_X_OVERLAY(obj) \
gpointer _gst_reserved[GST_PADDING];
} GstXOverlayClass;
-GType gst_x_overlay_get_type (void);
+GType gst_x_overlay_get_type (void);
/* virtual class function wrappers */
void gst_x_overlay_set_xwindow_id (GstXOverlay *overlay, gulong xwindow_id);
typedef struct
{
- GstNetType type;
+ GstNetType type;
union {
guint8 ip6[16];
- guint32 ip4;
+ guint32 ip4;
} address;
- guint16 port;
+ guint16 port;
/*< private >*/
gpointer _gst_reserved[GST_PADDING];
} GstNetAddress;
};
/* creating buffers */
-GType gst_netbuffer_get_type (void);
+GType gst_netbuffer_get_type (void);
-GstNetBuffer* gst_netbuffer_new (void);
+GstNetBuffer* gst_netbuffer_new (void);
/* address operations */
-void gst_netaddress_set_ip4_address (GstNetAddress *nadd, guint32 address, guint16 port);
-void gst_netaddress_set_ip6_address (GstNetAddress *nadd, guint8 address[16], guint16 port);
+void gst_netaddress_set_ip4_address (GstNetAddress *nadd, guint32 address, guint16 port);
+void gst_netaddress_set_ip6_address (GstNetAddress *nadd, guint8 address[16], guint16 port);
-GstNetType gst_netaddress_get_net_type (GstNetAddress *nadd);
-gboolean gst_netaddress_get_ip4_address (GstNetAddress *nadd, guint32 *address, guint16 *port);
-gboolean gst_netaddress_get_ip6_address (GstNetAddress *nadd, guint8 address[16], guint16 *port);
+GstNetType gst_netaddress_get_net_type (GstNetAddress *nadd);
+gboolean gst_netaddress_get_ip4_address (GstNetAddress *nadd, guint32 *address, guint16 *port);
+gboolean gst_netaddress_get_ip6_address (GstNetAddress *nadd, guint8 address[16], guint16 *port);
G_END_DECLS
typedef struct _gst_riff_index_entry {
guint32 id;
guint32 flags;
-#define GST_RIFF_IF_LIST (0x00000001L)
-#define GST_RIFF_IF_KEYFRAME (0x00000010L)
-#define GST_RIFF_IF_NO_TIME (0x00000100L)
-#define GST_RIFF_IF_COMPUSE (0x0FFF0000L)
+#define GST_RIFF_IF_LIST (0x00000001L)
+#define GST_RIFF_IF_KEYFRAME (0x00000010L)
+#define GST_RIFF_IF_NO_TIME (0x00000100L)
+#define GST_RIFF_IF_COMPUSE (0x0FFF0000L)
guint32 offset;
guint32 size;
} gst_riff_index_entry;
*/
GstCaps * gst_riff_create_video_caps (guint32 codec_fcc,
- gst_riff_strh * strh,
- gst_riff_strf_vids * strf,
- GstBuffer * strf_data,
- GstBuffer * strd_data,
- char ** codec_name);
+ gst_riff_strh * strh,
+ gst_riff_strf_vids * strf,
+ GstBuffer * strf_data,
+ GstBuffer * strd_data,
+ char ** codec_name);
GstCaps * gst_riff_create_audio_caps (guint16 codec_id,
- gst_riff_strh * strh,
- gst_riff_strf_auds * strf,
- GstBuffer * strf_data,
- GstBuffer * strd_data,
- char ** codec_name);
+ gst_riff_strh * strh,
+ gst_riff_strf_auds * strf,
+ GstBuffer * strf_data,
+ GstBuffer * strd_data,
+ char ** codec_name);
GstCaps * gst_riff_create_iavs_caps (guint32 codec_fcc,
- gst_riff_strh * strh,
- gst_riff_strf_iavs * strf,
- GstBuffer * strf_data,
- GstBuffer * strd_data,
- char ** codec_name);
+ gst_riff_strh * strh,
+ gst_riff_strf_iavs * strf,
+ GstBuffer * strf_data,
+ GstBuffer * strd_data,
+ char ** codec_name);
/*
* Create template caps (includes all known types).
*/
*/
GstFlowReturn gst_riff_read_chunk (GstElement * element,
- GstPad * pad,
- guint64 * offset,
- guint32 * fourcc,
- GstBuffer ** chunk_data);
+ GstPad * pad,
+ guint64 * offset,
+ guint32 * fourcc,
+ GstBuffer ** chunk_data);
/*
* These functions operate on provided data (the caller is
* by the function.
*/
-gboolean gst_riff_parse_chunk (GstElement * element,
- GstBuffer * buf,
- guint * offset,
- guint32 * fourcc,
- GstBuffer ** chunk_data);
+gboolean gst_riff_parse_chunk (GstElement * element,
+ GstBuffer * buf,
+ guint * offset,
+ guint32 * fourcc,
+ GstBuffer ** chunk_data);
gboolean gst_riff_parse_file_header (GstElement * element,
- GstBuffer * buf,
- guint32 * doctype);
+ GstBuffer * buf,
+ guint32 * doctype);
-gboolean gst_riff_parse_strh (GstElement * element,
- GstBuffer * buf,
- gst_riff_strh ** strh);
+gboolean gst_riff_parse_strh (GstElement * element,
+ GstBuffer * buf,
+ gst_riff_strh ** strh);
gboolean gst_riff_parse_strf_vids (GstElement * element,
- GstBuffer * buf,
- gst_riff_strf_vids ** strf,
- GstBuffer ** data);
+ GstBuffer * buf,
+ gst_riff_strf_vids ** strf,
+ GstBuffer ** data);
gboolean gst_riff_parse_strf_auds (GstElement * element,
- GstBuffer * buf,
- gst_riff_strf_auds ** strf,
- GstBuffer ** data);
+ GstBuffer * buf,
+ gst_riff_strf_auds ** strf,
+ GstBuffer ** data);
gboolean gst_riff_parse_strf_iavs (GstElement * element,
- GstBuffer * buf,
- gst_riff_strf_iavs ** strf,
- GstBuffer ** data);
+ GstBuffer * buf,
+ gst_riff_strf_iavs ** strf,
+ GstBuffer ** data);
-void gst_riff_parse_info (GstElement * element,
- GstBuffer * buf,
- GstTagList ** taglist);
+void gst_riff_parse_info (GstElement * element,
+ GstBuffer * buf,
+ GstTagList ** taglist);
/*
* Init.
*/
-void gst_riff_init (void);
+void gst_riff_init (void);
G_END_DECLS
#define GST_BASE_RTP_DEPAYLOAD_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASE_RTP_DEPAYLOAD,GstBaseRTPDepayload))
#define GST_BASE_RTP_DEPAYLOAD_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS ((obj),GST_TYPE_BASE_RTP_DEPAYLOAD,GstBaseRTPDepayloadClass))
+ (G_TYPE_INSTANCE_GET_CLASS ((obj),GST_TYPE_BASE_RTP_DEPAYLOAD,GstBaseRTPDepayloadClass))
#define GST_IS_BASE_RTP_DEPAYLOAD(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_RTP_DEPAYLOAD))
#define GST_IS_BASE_RTP_DEPAYLOAD_CLASS(obj) \
/* in milliseconds */
#define RTP_QUEUE_DELAY 100;
-#define QUEUE_LOCK_INIT(base) (g_static_rec_mutex_init(&base->queuelock))
-#define QUEUE_LOCK_FREE(base) (g_static_rec_mutex_free(&base->queuelock))
-#define QUEUE_LOCK(base) (g_static_rec_mutex_lock(&base->queuelock))
-#define QUEUE_UNLOCK(base) (g_static_rec_mutex_unlock(&base->queuelock))
+#define QUEUE_LOCK_INIT(base) (g_static_rec_mutex_init(&base->queuelock))
+#define QUEUE_LOCK_FREE(base) (g_static_rec_mutex_free(&base->queuelock))
+#define QUEUE_LOCK(base) (g_static_rec_mutex_lock(&base->queuelock))
+#define QUEUE_UNLOCK(base) (g_static_rec_mutex_unlock(&base->queuelock))
typedef struct _GstBaseRTPDepayload GstBaseRTPDepayload;
typedef struct _GstBaseRTPDepayloadClass GstBaseRTPDepayloadClass;
LAST_SIGNAL
};
-#define DEFAULT_MTU 1024
-#define DEFAULT_PT 96
-#define DEFAULT_SSRC -1
-#define DEFAULT_TIMESTAMP_OFFSET -1
-#define DEFAULT_SEQNUM_OFFSET -1
-#define DEFAULT_MAX_PTIME -1
+#define DEFAULT_MTU 1024
+#define DEFAULT_PT 96
+#define DEFAULT_SSRC -1
+#define DEFAULT_TIMESTAMP_OFFSET -1
+#define DEFAULT_SEQNUM_OFFSET -1
+#define DEFAULT_MAX_PTIME -1
enum
{
G_BEGIN_DECLS
#define GST_TYPE_BASE_RTP_PAYLOAD \
- (gst_basertppayload_get_type())
+ (gst_basertppayload_get_type())
#define GST_BASE_RTP_PAYLOAD(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASE_RTP_PAYLOAD,GstBaseRTPPayload))
+ (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_BASE_RTP_PAYLOAD,GstBaseRTPPayload))
#define GST_BASE_RTP_PAYLOAD_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASE_RTP_PAYLOAD,GstBaseRTPPayload))
+ (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_BASE_RTP_PAYLOAD,GstBaseRTPPayload))
#define GST_BASE_RTP_PAYLOAD_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_BASE_RTP_PAYLOAD, GstBaseRTPPayloadClass))
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_BASE_RTP_PAYLOAD, GstBaseRTPPayloadClass))
#define GST_IS_BASE_RTP_PAYLOAD(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_RTP_PAYLOAD))
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_BASE_RTP_PAYLOAD))
#define GST_IS_BASE_RTP_PAYLOAD_CLASS(obj) \
- (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASE_RTP_PAYLOAD))
+ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_BASE_RTP_PAYLOAD))
typedef struct _GstBaseRTPPayload GstBaseRTPPayload;
typedef struct _GstBaseRTPPayloadClass GstBaseRTPPayloadClass;
GstElementClass parent_class;
/* receive caps on the sink pad, configure the payloader. */
- gboolean (*set_caps) (GstBaseRTPPayload *payload, GstCaps *caps);
+ gboolean (*set_caps) (GstBaseRTPPayload *payload, GstCaps *caps);
/* handle a buffer, perform 0 or more gst_basertppayload_push() on
* the RTP buffers */
- GstFlowReturn (*handle_buffer) (GstBaseRTPPayload *payload,
- GstBuffer *buffer);
+ GstFlowReturn (*handle_buffer) (GstBaseRTPPayload *payload,
+ GstBuffer *buffer);
/*< private >*/
gpointer _gst_reserved[GST_PADDING];
};
-GType gst_basertppayload_get_type (void);
+GType gst_basertppayload_get_type (void);
-void gst_basertppayload_set_options (GstBaseRTPPayload *payload,
- gchar *media, gboolean dynamic,
- gchar *encoding_name,
- guint32 clock_rate);
+void gst_basertppayload_set_options (GstBaseRTPPayload *payload,
+ gchar *media, gboolean dynamic,
+ gchar *encoding_name,
+ guint32 clock_rate);
-gboolean gst_basertppayload_set_outcaps (GstBaseRTPPayload *payload,
- gchar *fieldname, ...);
+gboolean gst_basertppayload_set_outcaps (GstBaseRTPPayload *payload,
+ gchar *fieldname, ...);
-gboolean gst_basertppayload_is_filled (GstBaseRTPPayload *payload,
- guint size, GstClockTime duration);
+gboolean gst_basertppayload_is_filled (GstBaseRTPPayload *payload,
+ guint size, GstClockTime duration);
-GstFlowReturn gst_basertppayload_push (GstBaseRTPPayload *payload,
- GstBuffer *buffer);
+GstFlowReturn gst_basertppayload_push (GstBaseRTPPayload *payload,
+ GstBuffer *buffer);
G_END_DECLS
guint32 csrc[1]; /* optional CSRC list */
} GstRTPHeader;
-#define GST_RTP_HEADER_VERSION(buf) (((GstRTPHeader *)(GST_BUFFER_DATA (buf)))->version)
-#define GST_RTP_HEADER_PADDING(buf) (((GstRTPHeader *)(GST_BUFFER_DATA (buf)))->padding)
-#define GST_RTP_HEADER_EXTENSION(buf) (((GstRTPHeader *)(GST_BUFFER_DATA (buf)))->extension)
-#define GST_RTP_HEADER_CSRC_COUNT(buf) (((GstRTPHeader *)(GST_BUFFER_DATA (buf)))->csrc_count)
-#define GST_RTP_HEADER_MARKER(buf) (((GstRTPHeader *)(GST_BUFFER_DATA (buf)))->marker)
+#define GST_RTP_HEADER_VERSION(buf) (((GstRTPHeader *)(GST_BUFFER_DATA (buf)))->version)
+#define GST_RTP_HEADER_PADDING(buf) (((GstRTPHeader *)(GST_BUFFER_DATA (buf)))->padding)
+#define GST_RTP_HEADER_EXTENSION(buf) (((GstRTPHeader *)(GST_BUFFER_DATA (buf)))->extension)
+#define GST_RTP_HEADER_CSRC_COUNT(buf) (((GstRTPHeader *)(GST_BUFFER_DATA (buf)))->csrc_count)
+#define GST_RTP_HEADER_MARKER(buf) (((GstRTPHeader *)(GST_BUFFER_DATA (buf)))->marker)
#define GST_RTP_HEADER_PAYLOAD_TYPE(buf)(((GstRTPHeader *)(GST_BUFFER_DATA (buf)))->payload_type)
-#define GST_RTP_HEADER_SEQ(buf) (((GstRTPHeader *)(GST_BUFFER_DATA (buf)))->seq)
-#define GST_RTP_HEADER_TIMESTAMP(buf) (((GstRTPHeader *)(GST_BUFFER_DATA (buf)))->timestamp)
-#define GST_RTP_HEADER_SSRC(buf) (((GstRTPHeader *)(GST_BUFFER_DATA (buf)))->ssrc)
-#define GST_RTP_HEADER_CSRC(buf,i) (((GstRTPHeader *)(GST_BUFFER_DATA (buf)))->csrc[i])
+#define GST_RTP_HEADER_SEQ(buf) (((GstRTPHeader *)(GST_BUFFER_DATA (buf)))->seq)
+#define GST_RTP_HEADER_TIMESTAMP(buf) (((GstRTPHeader *)(GST_BUFFER_DATA (buf)))->timestamp)
+#define GST_RTP_HEADER_SSRC(buf) (((GstRTPHeader *)(GST_BUFFER_DATA (buf)))->ssrc)
+#define GST_RTP_HEADER_CSRC(buf,i) (((GstRTPHeader *)(GST_BUFFER_DATA (buf)))->csrc[i])
-#define GST_RTP_HEADER_CSRC_SIZE(buf) (GST_RTP_HEADER_CSRC_COUNT(buf) * sizeof (guint32))
+#define GST_RTP_HEADER_CSRC_SIZE(buf) (GST_RTP_HEADER_CSRC_COUNT(buf) * sizeof (guint32))
void
gst_rtp_buffer_allocate_data (GstBuffer * buffer, guint payload_len,
#define GST_RTP_PAYLOAD_H263_STRING "34"
/* creating buffers */
-GstBuffer* gst_rtp_buffer_new (void);
-void gst_rtp_buffer_allocate_data (GstBuffer *buffer, guint payload_len,
- guint8 pad_len, guint8 csrc_count);
+GstBuffer* gst_rtp_buffer_new (void);
+void gst_rtp_buffer_allocate_data (GstBuffer *buffer, guint payload_len,
+ guint8 pad_len, guint8 csrc_count);
-GstBuffer* gst_rtp_buffer_new_take_data (gpointer data, guint len);
-GstBuffer* gst_rtp_buffer_new_copy_data (gpointer data, guint len);
-GstBuffer* gst_rtp_buffer_new_allocate (guint payload_len, guint8 pad_len, guint8 csrc_count);
-GstBuffer* gst_rtp_buffer_new_allocate_len (guint packet_len, guint8 pad_len, guint8 csrc_count);
+GstBuffer* gst_rtp_buffer_new_take_data (gpointer data, guint len);
+GstBuffer* gst_rtp_buffer_new_copy_data (gpointer data, guint len);
+GstBuffer* gst_rtp_buffer_new_allocate (guint payload_len, guint8 pad_len, guint8 csrc_count);
+GstBuffer* gst_rtp_buffer_new_allocate_len (guint packet_len, guint8 pad_len, guint8 csrc_count);
-guint gst_rtp_buffer_calc_header_len (guint8 csrc_count);
-guint gst_rtp_buffer_calc_packet_len (guint payload_len, guint8 pad_len, guint8 csrc_count);
-guint gst_rtp_buffer_calc_payload_len (guint packet_len, guint8 pad_len, guint8 csrc_count);
+guint gst_rtp_buffer_calc_header_len (guint8 csrc_count);
+guint gst_rtp_buffer_calc_packet_len (guint payload_len, guint8 pad_len, guint8 csrc_count);
+guint gst_rtp_buffer_calc_payload_len (guint packet_len, guint8 pad_len, guint8 csrc_count);
-gboolean gst_rtp_buffer_validate_data (guint8 *data, guint len);
-gboolean gst_rtp_buffer_validate (GstBuffer *buffer);
+gboolean gst_rtp_buffer_validate_data (guint8 *data, guint len);
+gboolean gst_rtp_buffer_validate (GstBuffer *buffer);
-void gst_rtp_buffer_set_packet_len (GstBuffer *buffer, guint len);
-guint gst_rtp_buffer_get_packet_len (GstBuffer *buffer);
+void gst_rtp_buffer_set_packet_len (GstBuffer *buffer, guint len);
+guint gst_rtp_buffer_get_packet_len (GstBuffer *buffer);
-guint8 gst_rtp_buffer_get_version (GstBuffer *buffer);
-void gst_rtp_buffer_set_version (GstBuffer *buffer, guint8 version);
+guint8 gst_rtp_buffer_get_version (GstBuffer *buffer);
+void gst_rtp_buffer_set_version (GstBuffer *buffer, guint8 version);
-gboolean gst_rtp_buffer_get_padding (GstBuffer *buffer);
-void gst_rtp_buffer_set_padding (GstBuffer *buffer, gboolean padding);
-void gst_rtp_buffer_pad_to (GstBuffer *buffer, guint len);
+gboolean gst_rtp_buffer_get_padding (GstBuffer *buffer);
+void gst_rtp_buffer_set_padding (GstBuffer *buffer, gboolean padding);
+void gst_rtp_buffer_pad_to (GstBuffer *buffer, guint len);
-gboolean gst_rtp_buffer_get_extension (GstBuffer *buffer);
-void gst_rtp_buffer_set_extension (GstBuffer *buffer, gboolean extension);
+gboolean gst_rtp_buffer_get_extension (GstBuffer *buffer);
+void gst_rtp_buffer_set_extension (GstBuffer *buffer, gboolean extension);
-guint32 gst_rtp_buffer_get_ssrc (GstBuffer *buffer);
-void gst_rtp_buffer_set_ssrc (GstBuffer *buffer, guint32 ssrc);
+guint32 gst_rtp_buffer_get_ssrc (GstBuffer *buffer);
+void gst_rtp_buffer_set_ssrc (GstBuffer *buffer, guint32 ssrc);
-guint8 gst_rtp_buffer_get_csrc_count (GstBuffer *buffer);
-guint32 gst_rtp_buffer_get_csrc (GstBuffer *buffer, guint8 idx);
-void gst_rtp_buffer_set_csrc (GstBuffer *buffer, guint8 idx, guint32 csrc);
+guint8 gst_rtp_buffer_get_csrc_count (GstBuffer *buffer);
+guint32 gst_rtp_buffer_get_csrc (GstBuffer *buffer, guint8 idx);
+void gst_rtp_buffer_set_csrc (GstBuffer *buffer, guint8 idx, guint32 csrc);
-gboolean gst_rtp_buffer_get_marker (GstBuffer *buffer);
-void gst_rtp_buffer_set_marker (GstBuffer *buffer, gboolean marker);
+gboolean gst_rtp_buffer_get_marker (GstBuffer *buffer);
+void gst_rtp_buffer_set_marker (GstBuffer *buffer, gboolean marker);
-guint8 gst_rtp_buffer_get_payload_type (GstBuffer *buffer);
-void gst_rtp_buffer_set_payload_type (GstBuffer *buffer, guint8 payload_type);
+guint8 gst_rtp_buffer_get_payload_type (GstBuffer *buffer);
+void gst_rtp_buffer_set_payload_type (GstBuffer *buffer, guint8 payload_type);
-guint16 gst_rtp_buffer_get_seq (GstBuffer *buffer);
-void gst_rtp_buffer_set_seq (GstBuffer *buffer, guint16 seq);
+guint16 gst_rtp_buffer_get_seq (GstBuffer *buffer);
+void gst_rtp_buffer_set_seq (GstBuffer *buffer, guint16 seq);
-guint32 gst_rtp_buffer_get_timestamp (GstBuffer *buffer);
-void gst_rtp_buffer_set_timestamp (GstBuffer *buffer, guint32 timestamp);
+guint32 gst_rtp_buffer_get_timestamp (GstBuffer *buffer);
+void gst_rtp_buffer_set_timestamp (GstBuffer *buffer, guint32 timestamp);
GstBuffer* gst_rtp_buffer_get_payload_buffer (GstBuffer *buffer);
-guint gst_rtp_buffer_get_payload_len (GstBuffer *buffer);
-gpointer gst_rtp_buffer_get_payload (GstBuffer *buffer);
+guint gst_rtp_buffer_get_payload_len (GstBuffer *buffer);
+gpointer gst_rtp_buffer_get_payload (GstBuffer *buffer);
G_END_DECLS
typedef struct _GstTagEntryMatch GstTagEntryMatch;
struct _GstTagEntryMatch {
- gchar * gstreamer_tag;
- gchar * original_tag;
+ gchar * gstreamer_tag;
+ gchar * original_tag;
};
* @id_data: identification data at start of stream
* @id_data_length: length of identification data
* @ vendor_string: pointer to a string that should take the vendor string of this
- * vorbis comment or NULL if you don't need it.
+ * vorbis comment or NULL if you don't need it.
*
* Creates a new tag list that contains the information parsed out of a
* vorbiscomment packet.
*
* Returns: A new #GstTagList with all tags that could be extracted from the
- * given vorbiscomment buffer or NULL on error.
+ * given vorbiscomment buffer or NULL on error.
*/
GstTagList *
gst_tag_list_from_vorbiscomment_buffer (const GstBuffer * buffer,
const guint8 * id_data, const guint id_data_length, gchar ** vendor_string)
{
-#define ADVANCE(x) G_STMT_START{ \
- data += x; \
- size -= x; \
- if (size < 4) goto error; \
- cur_size = GST_READ_UINT32_LE (data); \
- data += 4; \
- size -= 4; \
- if (cur_size > size) goto error; \
- cur = (gchar*)data; \
+#define ADVANCE(x) G_STMT_START{ \
+ data += x; \
+ size -= x; \
+ if (size < 4) goto error; \
+ cur_size = GST_READ_UINT32_LE (data); \
+ data += 4; \
+ size -= 4; \
+ if (cur_size > size) goto error; \
+ cur = (gchar*)data; \
}G_STMT_END
gchar *cur, *value;
guint cur_size;
* Creates a new vorbiscomment buffer from a tag list.
*
* Returns: A new #GstBuffer containing a vorbiscomment buffer with all tags that
- * could be converted from the given tag list.
+ * could be converted from the given tag list.
*/
GstBuffer *
gst_tag_list_to_vorbiscomment_buffer (const GstTagList * list,
/* functions for vorbis comment manipulation */
-G_CONST_RETURN gchar * gst_tag_from_vorbis_tag (const gchar * vorbis_tag);
-G_CONST_RETURN gchar * gst_tag_to_vorbis_tag (const gchar * gst_tag);
+G_CONST_RETURN gchar * gst_tag_from_vorbis_tag (const gchar * vorbis_tag);
+G_CONST_RETURN gchar * gst_tag_to_vorbis_tag (const gchar * gst_tag);
void gst_vorbis_tag_add (GstTagList * list,
- const gchar * tag,
- const gchar * value);
+ const gchar * tag,
+ const gchar * value);
GList * gst_tag_to_vorbis_comments (const GstTagList * list,
- const gchar * tag);
+ const gchar * tag);
/* functions to convert GstBuffers with vorbiscomment contents to GstTagLists and back */
-GstTagList * gst_tag_list_from_vorbiscomment_buffer (const GstBuffer * buffer,
- const guint8 * id_data,
- const guint id_data_length,
- gchar ** vendor_string);
-GstBuffer * gst_tag_list_to_vorbiscomment_buffer (const GstTagList * list,
- const guint8 * id_data,
- const guint id_data_length,
- const gchar * vendor_string);
+GstTagList * gst_tag_list_from_vorbiscomment_buffer (const GstBuffer * buffer,
+ const guint8 * id_data,
+ const guint id_data_length,
+ gchar ** vendor_string);
+GstBuffer * gst_tag_list_to_vorbiscomment_buffer (const GstTagList * list,
+ const guint8 * id_data,
+ const guint id_data_length,
+ const gchar * vendor_string);
/* functions for ID3 tag manipulation */
-guint gst_tag_id3_genre_count (void);
-G_CONST_RETURN gchar * gst_tag_id3_genre_get (const guint id);
-GstTagList * gst_tag_list_new_from_id3v1 (const guint8 * data);
+guint gst_tag_id3_genre_count (void);
+G_CONST_RETURN gchar * gst_tag_id3_genre_get (const guint id);
+GstTagList * gst_tag_list_new_from_id3v1 (const guint8 * data);
-G_CONST_RETURN gchar * gst_tag_from_id3_tag (const gchar * vorbis_tag);
-G_CONST_RETURN gchar * gst_tag_to_id3_tag (const gchar * gst_tag);
+G_CONST_RETURN gchar * gst_tag_from_id3_tag (const gchar * vorbis_tag);
+G_CONST_RETURN gchar * gst_tag_to_id3_tag (const gchar * gst_tag);
G_END_DECLS
#define GST_VIDEO_FPS_RANGE "(fraction) [ 0, max ]"
/* consider the next 2 protected */
-#define __GST_VIDEO_CAPS_MAKE_32A(R, G, B, A) \
- "video/x-raw-rgb, " \
- "bpp = (int) 32, " \
- "depth = (int) 32, " \
- "endianness = (int) BIG_ENDIAN, " \
- "red_mask = (int) " GST_VIDEO_BYTE ## R ## _MASK_32 ", " \
- "green_mask = (int) " GST_VIDEO_BYTE ## G ## _MASK_32 ", " \
- "blue_mask = (int) " GST_VIDEO_BYTE ## B ## _MASK_32 ", " \
- "alpha_mask = (int) " GST_VIDEO_BYTE ## A ## _MASK_32 ", " \
- "width = " GST_VIDEO_SIZE_RANGE ", " \
- "height = " GST_VIDEO_SIZE_RANGE ", " \
+#define __GST_VIDEO_CAPS_MAKE_32A(R, G, B, A) \
+ "video/x-raw-rgb, " \
+ "bpp = (int) 32, " \
+ "depth = (int) 32, " \
+ "endianness = (int) BIG_ENDIAN, " \
+ "red_mask = (int) " GST_VIDEO_BYTE ## R ## _MASK_32 ", " \
+ "green_mask = (int) " GST_VIDEO_BYTE ## G ## _MASK_32 ", " \
+ "blue_mask = (int) " GST_VIDEO_BYTE ## B ## _MASK_32 ", " \
+ "alpha_mask = (int) " GST_VIDEO_BYTE ## A ## _MASK_32 ", " \
+ "width = " GST_VIDEO_SIZE_RANGE ", " \
+ "height = " GST_VIDEO_SIZE_RANGE ", " \
"framerate = " GST_VIDEO_FPS_RANGE
-#define __GST_VIDEO_CAPS_MAKE_32(R, G, B) \
- "video/x-raw-rgb, " \
- "bpp = (int) 32, " \
- "depth = (int) 24, " \
- "endianness = (int) BIG_ENDIAN, " \
- "red_mask = (int) " GST_VIDEO_BYTE ## R ## _MASK_32 ", " \
- "green_mask = (int) " GST_VIDEO_BYTE ## G ## _MASK_32 ", " \
- "blue_mask = (int) " GST_VIDEO_BYTE ## B ## _MASK_32 ", " \
- "width = " GST_VIDEO_SIZE_RANGE ", " \
- "height = " GST_VIDEO_SIZE_RANGE ", " \
+#define __GST_VIDEO_CAPS_MAKE_32(R, G, B) \
+ "video/x-raw-rgb, " \
+ "bpp = (int) 32, " \
+ "depth = (int) 24, " \
+ "endianness = (int) BIG_ENDIAN, " \
+ "red_mask = (int) " GST_VIDEO_BYTE ## R ## _MASK_32 ", " \
+ "green_mask = (int) " GST_VIDEO_BYTE ## G ## _MASK_32 ", " \
+ "blue_mask = (int) " GST_VIDEO_BYTE ## B ## _MASK_32 ", " \
+ "width = " GST_VIDEO_SIZE_RANGE ", " \
+ "height = " GST_VIDEO_SIZE_RANGE ", " \
"framerate = " GST_VIDEO_FPS_RANGE
-#define __GST_VIDEO_CAPS_MAKE_24(R, G, B) \
- "video/x-raw-rgb, " \
- "bpp = (int) 24, " \
- "depth = (int) 24, " \
- "endianness = (int) BIG_ENDIAN, " \
- "red_mask = (int) " GST_VIDEO_BYTE ## R ## _MASK_24 ", " \
- "green_mask = (int) " GST_VIDEO_BYTE ## G ## _MASK_24 ", " \
- "blue_mask = (int) " GST_VIDEO_BYTE ## B ## _MASK_24 ", " \
- "width = " GST_VIDEO_SIZE_RANGE ", " \
- "height = " GST_VIDEO_SIZE_RANGE ", " \
+#define __GST_VIDEO_CAPS_MAKE_24(R, G, B) \
+ "video/x-raw-rgb, " \
+ "bpp = (int) 24, " \
+ "depth = (int) 24, " \
+ "endianness = (int) BIG_ENDIAN, " \
+ "red_mask = (int) " GST_VIDEO_BYTE ## R ## _MASK_24 ", " \
+ "green_mask = (int) " GST_VIDEO_BYTE ## G ## _MASK_24 ", " \
+ "blue_mask = (int) " GST_VIDEO_BYTE ## B ## _MASK_24 ", " \
+ "width = " GST_VIDEO_SIZE_RANGE ", " \
+ "height = " GST_VIDEO_SIZE_RANGE ", " \
"framerate = " GST_VIDEO_FPS_RANGE
/* 15/16 bit */
-#define GST_VIDEO_CAPS_RGB_16 \
- "video/x-raw-rgb, " \
- "bpp = (int) 16, " \
- "depth = (int) 16, " \
- "endianness = (int) BYTE_ORDER, " \
- "red_mask = (int) " GST_VIDEO_RED_MASK_16 ", " \
- "green_mask = (int) " GST_VIDEO_GREEN_MASK_16 ", " \
- "blue_mask = (int) " GST_VIDEO_BLUE_MASK_16 ", " \
- "width = " GST_VIDEO_SIZE_RANGE ", " \
- "height = " GST_VIDEO_SIZE_RANGE ", " \
+#define GST_VIDEO_CAPS_RGB_16 \
+ "video/x-raw-rgb, " \
+ "bpp = (int) 16, " \
+ "depth = (int) 16, " \
+ "endianness = (int) BYTE_ORDER, " \
+ "red_mask = (int) " GST_VIDEO_RED_MASK_16 ", " \
+ "green_mask = (int) " GST_VIDEO_GREEN_MASK_16 ", " \
+ "blue_mask = (int) " GST_VIDEO_BLUE_MASK_16 ", " \
+ "width = " GST_VIDEO_SIZE_RANGE ", " \
+ "height = " GST_VIDEO_SIZE_RANGE ", " \
"framerate = " GST_VIDEO_FPS_RANGE
-#define GST_VIDEO_CAPS_RGB_15 \
- "video/x-raw-rgb, " \
- "bpp = (int) 16, " \
- "depth = (int) 15, " \
- "endianness = (int) BYTE_ORDER, " \
- "red_mask = (int) " GST_VIDEO_RED_MASK_15 ", " \
- "green_mask = (int) " GST_VIDEO_GREEN_MASK_15 ", " \
- "blue_mask = (int) " GST_VIDEO_BLUE_MASK_15 ", " \
- "width = " GST_VIDEO_SIZE_RANGE ", " \
- "height = " GST_VIDEO_SIZE_RANGE ", " \
+#define GST_VIDEO_CAPS_RGB_15 \
+ "video/x-raw-rgb, " \
+ "bpp = (int) 16, " \
+ "depth = (int) 15, " \
+ "endianness = (int) BYTE_ORDER, " \
+ "red_mask = (int) " GST_VIDEO_RED_MASK_15 ", " \
+ "green_mask = (int) " GST_VIDEO_GREEN_MASK_15 ", " \
+ "blue_mask = (int) " GST_VIDEO_BLUE_MASK_15 ", " \
+ "width = " GST_VIDEO_SIZE_RANGE ", " \
+ "height = " GST_VIDEO_SIZE_RANGE ", " \
"framerate = " GST_VIDEO_FPS_RANGE
-#define GST_VIDEO_CAPS_YUV(fourcc) \
- "video/x-raw-yuv, " \
- "format = (fourcc) " fourcc ", " \
- "width = " GST_VIDEO_SIZE_RANGE ", " \
- "height = " GST_VIDEO_SIZE_RANGE ", " \
- "framerate = " GST_VIDEO_FPS_RANGE
+#define GST_VIDEO_CAPS_YUV(fourcc) \
+ "video/x-raw-yuv, " \
+ "format = (fourcc) " fourcc ", " \
+ "width = " GST_VIDEO_SIZE_RANGE ", " \
+ "height = " GST_VIDEO_SIZE_RANGE ", " \
+ "framerate = " GST_VIDEO_FPS_RANGE
/* functions */
const GValue *gst_video_frame_rate (GstPad *pad);
return adder_type;
}
-#define MAKE_FUNC(name,type,ttype,min,max) \
-static void name (type *out, type *in, gint bytes) { \
- gint i; \
- for (i = 0; i < bytes / sizeof (type); i++) \
- out[i] = CLAMP ((ttype)out[i] + (ttype)in[i], min, max); \
+#define MAKE_FUNC(name,type,ttype,min,max) \
+static void name (type *out, type *in, gint bytes) { \
+ gint i; \
+ for (i = 0; i < bytes / sizeof (type); i++) \
+ out[i] = CLAMP ((ttype)out[i] + (ttype)in[i], min, max); \
}
MAKE_FUNC (add_int32, gint32, gint64, MIN_INT_32, MAX_INT_32)
GstPad *srcpad;
GstCollectPads *collect;
- gint numpads;
+ gint numpads;
/* the next are valid for both int and float */
GstAdderFormat format;
GstAdderFunction func;
/* counters to keep track of timestamps */
- gint64 timestamp;
- gint64 offset;
+ gint64 timestamp;
+ gint64 offset;
};
struct _GstAdderClass {
#define INT2FLOAT(i) (4.6566128752457969e-10 * ((gfloat)i))
/* sign bit in the intermediate format */
-#define SIGNED (1<<31)
+#define SIGNED (1<<31)
/***
* unpack code
*/
-#define MAKE_UNPACK_FUNC_NAME(name) \
+#define MAKE_UNPACK_FUNC_NAME(name) \
audio_convert_unpack_##name
-#define MAKE_UNPACK_FUNC(name, stride, sign, READ_FUNC) \
-static void \
-MAKE_UNPACK_FUNC_NAME (name) (gpointer src, gint32 *dst, \
- gint scale, gint count) \
-{ \
- guint8* p = (guint8 *) src; \
- for (;count; count--) { \
- *dst++ = (((gint32) READ_FUNC (p)) << scale) ^ (sign); \
- p+=stride; \
- } \
+#define MAKE_UNPACK_FUNC(name, stride, sign, READ_FUNC) \
+static void \
+MAKE_UNPACK_FUNC_NAME (name) (gpointer src, gint32 *dst, \
+ gint scale, gint count) \
+{ \
+ guint8* p = (guint8 *) src; \
+ for (;count; count--) { \
+ *dst++ = (((gint32) READ_FUNC (p)) << scale) ^ (sign); \
+ p+=stride; \
+ } \
}
/* special unpack code for float */
/***
* packing code
*/
-#define MAKE_PACK_FUNC_NAME(name) \
+#define MAKE_PACK_FUNC_NAME(name) \
audio_convert_pack_##name
-#define MAKE_PACK_FUNC(name, stride, sign, WRITE_FUNC) \
-static void \
-MAKE_PACK_FUNC_NAME (name) (gint32 *src, gpointer dst, \
- gint scale, gint count) \
-{ \
- guint8 *p = (guint8 *)dst; \
- guint32 tmp; \
- for (;count; count--) { \
- tmp = (*src++ ^ (sign)) >> scale; \
- WRITE_FUNC (p, tmp); \
- p+=stride; \
- } \
+#define MAKE_PACK_FUNC(name, stride, sign, WRITE_FUNC) \
+static void \
+MAKE_PACK_FUNC_NAME (name) (gint32 *src, gpointer dst, \
+ gint scale, gint count) \
+{ \
+ guint8 *p = (guint8 *)dst; \
+ guint32 tmp; \
+ for (;count; count--) { \
+ tmp = (*src++ ^ (sign)) >> scale; \
+ WRITE_FUNC (p, tmp); \
+ p+=stride; \
+ } \
}
/* special float pack function */
gint out_scale;
};
-gboolean audio_convert_clean_fmt (AudioConvertFmt *fmt);
+gboolean audio_convert_clean_fmt (AudioConvertFmt *fmt);
-gboolean audio_convert_prepare_context (AudioConvertCtx *ctx, AudioConvertFmt *in,
- AudioConvertFmt *out);
-gboolean audio_convert_get_sizes (AudioConvertCtx *ctx, gint samples, gint *srcsize,
- gint *dstsize);
+gboolean audio_convert_prepare_context (AudioConvertCtx *ctx, AudioConvertFmt *in,
+ AudioConvertFmt *out);
+gboolean audio_convert_get_sizes (AudioConvertCtx *ctx, gint samples, gint *srcsize,
+ gint *dstsize);
-gboolean audio_convert_clean_context (AudioConvertCtx *ctx);
+gboolean audio_convert_clean_context (AudioConvertCtx *ctx);
-gboolean audio_convert_convert (AudioConvertCtx *ctx, gpointer src,
- gpointer dst, gint samples, gboolean src_writable);
+gboolean audio_convert_convert (AudioConvertCtx *ctx, gpointer src,
+ gpointer dst, gint samples, gboolean src_writable);
#endif /* __AUDIO_CONVERT_H__ */
"width = (int) 32, " \
"depth = (int) [ 1, 32 ], " \
"signed = (boolean) { true, false }; " \
- "audio/x-raw-int, " \
- "rate = (int) [ 1, MAX ], " \
- "channels = (int) [ 1, 8 ], " \
- "endianness = (int) { LITTLE_ENDIAN, BIG_ENDIAN }, " \
- "width = (int) 24, " \
- "depth = (int) [ 1, 24 ], " "signed = (boolean) { true, false }; " \
+ "audio/x-raw-int, " \
+ "rate = (int) [ 1, MAX ], " \
+ "channels = (int) [ 1, 8 ], " \
+ "endianness = (int) { LITTLE_ENDIAN, BIG_ENDIAN }, " \
+ "width = (int) 24, " \
+ "depth = (int) [ 1, 24 ], " "signed = (boolean) { true, false }; " \
"audio/x-raw-int, " \
"rate = (int) [ 1, MAX ], " \
"channels = (int) [ 1, 8 ], " \
/* GLib < 2.4 compatibility */
#ifndef G_MININT32
-#define G_MININT32 ((gint32) 0x80000000)
+#define G_MININT32 ((gint32) 0x80000000)
#endif
#ifndef G_MAXINT32
-#define G_MAXINT32 ((gint32) 0x7fffffff)
+#define G_MAXINT32 ((gint32) 0x7fffffff)
#endif
/*
/*
* Delete channel mixer matrix.
*/
-void gst_channel_mix_unset_matrix (AudioConvertCtx * this);
+void gst_channel_mix_unset_matrix (AudioConvertCtx * this);
/*
* Setup channel mixer matrix.
*/
-void gst_channel_mix_setup_matrix (AudioConvertCtx * this);
+void gst_channel_mix_setup_matrix (AudioConvertCtx * this);
/*
* Checks for passthrough (= identity matrix).
*/
-gboolean gst_channel_mix_passthrough (AudioConvertCtx * this);
+gboolean gst_channel_mix_passthrough (AudioConvertCtx * this);
/*
* Do actual mixing.
*/
-void gst_channel_mix_mix (AudioConvertCtx * this,
- gint32 * in_data,
- gint32 * out_data,
- gint samples);
+void gst_channel_mix_mix (AudioConvertCtx * this,
+ gint32 * in_data,
+ gint32 * out_data,
+ gint samples);
#endif /* __GST_CHANNEL_MIX_H__ */
LAST_SIGNAL
};
-#define DEFAULT_SILENT TRUE
+#define DEFAULT_SILENT TRUE
enum
{
int offset;
};
-AudioresampleBuffer * audioresample_buffer_new (void);
-AudioresampleBuffer * audioresample_buffer_new_and_alloc (int size);
-AudioresampleBuffer * audioresample_buffer_new_with_data (void *data, int size);
-AudioresampleBuffer * audioresample_buffer_new_subbuffer (AudioresampleBuffer * buffer,
- int offset,
- int length);
-void audioresample_buffer_ref (AudioresampleBuffer * buffer);
-void audioresample_buffer_unref (AudioresampleBuffer * buffer);
-
-AudioresampleBufferQueue *
- audioresample_buffer_queue_new (void);
-void audioresample_buffer_queue_free (AudioresampleBufferQueue * queue);
-int audioresample_buffer_queue_get_depth (AudioresampleBufferQueue * queue);
-int audioresample_buffer_queue_get_offset (AudioresampleBufferQueue * queue);
-void audioresample_buffer_queue_push (AudioresampleBufferQueue * queue,
- AudioresampleBuffer * buffer);
-AudioresampleBuffer * audioresample_buffer_queue_pull (AudioresampleBufferQueue * queue, int len);
-AudioresampleBuffer * audioresample_buffer_queue_peek (AudioresampleBufferQueue * queue, int len);
-void audioresample_buffer_queue_flush (AudioresampleBufferQueue * queue);
+AudioresampleBuffer * audioresample_buffer_new (void);
+AudioresampleBuffer * audioresample_buffer_new_and_alloc (int size);
+AudioresampleBuffer * audioresample_buffer_new_with_data (void *data, int size);
+AudioresampleBuffer * audioresample_buffer_new_subbuffer (AudioresampleBuffer * buffer,
+ int offset,
+ int length);
+void audioresample_buffer_ref (AudioresampleBuffer * buffer);
+void audioresample_buffer_unref (AudioresampleBuffer * buffer);
+
+AudioresampleBufferQueue *
+ audioresample_buffer_queue_new (void);
+void audioresample_buffer_queue_free (AudioresampleBufferQueue * queue);
+int audioresample_buffer_queue_get_depth (AudioresampleBufferQueue * queue);
+int audioresample_buffer_queue_get_offset (AudioresampleBufferQueue * queue);
+void audioresample_buffer_queue_push (AudioresampleBufferQueue * queue,
+ AudioresampleBuffer * buffer);
+AudioresampleBuffer * audioresample_buffer_queue_pull (AudioresampleBufferQueue * queue, int len);
+AudioresampleBuffer * audioresample_buffer_queue_peek (AudioresampleBufferQueue * queue, int len);
+void audioresample_buffer_queue_flush (AudioresampleBufferQueue * queue);
#endif
double functable_fir(Functable *t,double x0,int n,double *data,int len);
void functable_fir2(Functable *t,double *r0, double *r1, double x0,
- int n,double *data,int len);
+ int n,double *data,int len);
void functable_func_sinc(double *fx, double *dfx, double x, void *closure);
void functable_func_boxcar(double *fx, double *dfx, double x, void *closure);
LAST_SIGNAL
};
-#define DEFAULT_FILTERLEN 16
+#define DEFAULT_FILTERLEN 16
enum
{
#include "buffer.h"
typedef enum {
- RESAMPLE_FORMAT_S16 = 0,
- RESAMPLE_FORMAT_S32,
- RESAMPLE_FORMAT_F32,
+ RESAMPLE_FORMAT_S16 = 0,
+ RESAMPLE_FORMAT_S32,
+ RESAMPLE_FORMAT_F32,
RESAMPLE_FORMAT_F64
} ResampleFormat;
typedef struct _ResampleState ResampleState;
struct _ResampleState {
- /* parameters */
+ /* parameters */
- int n_channels;
- ResampleFormat format;
+ int n_channels;
+ ResampleFormat format;
- int filter_length;
+ int filter_length;
- double i_rate;
- double o_rate;
+ double i_rate;
+ double o_rate;
int method;
- /* internal parameters */
+ /* internal parameters */
int need_reinit;
- double halftaps;
+ double halftaps;
- /* filter state */
+ /* filter state */
void *o_buf;
int o_size;
int eos;
int started;
- int sample_size;
+ int sample_size;
- void *buffer;
- int buffer_len;
- int buffer_filled;
+ void *buffer;
+ int buffer_len;
+ int buffer_filled;
- double i_start;
- double o_start;
+ double i_start;
+ double o_start;
- double i_inc;
- double o_inc;
+ double i_inc;
+ double o_inc;
double sinc_scale;
- double i_end;
- double o_end;
+ double i_end;
+ double o_end;
- int i_samples;
- int o_samples;
+ int i_samples;
+ int o_samples;
- //void *i_buf;
+ //void *i_buf;
Functable *ft;
#define LIBAVCODEC_VERSION_INT FFMPEG_VERSION_INT
#define LIBAVCODEC_VERSION FFMPEG_VERSION
-#define AV_STRINGIFY(s) AV_TOSTRING(s)
+#define AV_STRINGIFY(s) AV_TOSTRING(s)
#define AV_TOSTRING(s) #s
-#define LIBAVCODEC_IDENT "FFmpeg" LIBAVCODEC_VERSION "b" AV_STRINGIFY(LIBAVCODEC_BUILD)
+#define LIBAVCODEC_IDENT "FFmpeg" LIBAVCODEC_VERSION "b" AV_STRINGIFY(LIBAVCODEC_BUILD)
enum CodecType {
CODEC_TYPE_UNKNOWN = -1,
#define FF_ALPHA_TRANSP 0x0001 /* image has some totally transparent pixels */
#define FF_ALPHA_SEMI_TRANSP 0x0002 /* image has some transparent pixels */
int img_get_alpha_info(const AVPicture *src,
- int pix_fmt, int width, int height);
+ int pix_fmt, int width, int height);
/* convert among pixel formats */
int img_convert(AVPicture *dst, int dst_pix_fmt,
* but I'm too lazy today. Maybe later.
*/
-#define GST_FF_VID_CAPS_NEW(mimetype, ...) \
- (context != NULL) ? \
- gst_caps_new_simple (mimetype, \
- "width", G_TYPE_INT, context->width, \
- "height", G_TYPE_INT, context->height, \
- "framerate", GST_TYPE_FRACTION, \
+#define GST_FF_VID_CAPS_NEW(mimetype, ...) \
+ (context != NULL) ? \
+ gst_caps_new_simple (mimetype, \
+ "width", G_TYPE_INT, context->width, \
+ "height", G_TYPE_INT, context->height, \
+ "framerate", GST_TYPE_FRACTION, \
(gint) context->frame_rate, (gint) context->frame_rate_base, \
- __VA_ARGS__, NULL) \
- : \
- gst_caps_new_simple (mimetype, \
- "width", GST_TYPE_INT_RANGE, 1, G_MAXINT, \
- "height", GST_TYPE_INT_RANGE, 1, G_MAXINT, \
- "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1,\
- __VA_ARGS__, NULL)
+ __VA_ARGS__, NULL) \
+ : \
+ gst_caps_new_simple (mimetype, \
+ "width", GST_TYPE_INT_RANGE, 1, G_MAXINT, \
+ "height", GST_TYPE_INT_RANGE, 1, G_MAXINT, \
+ "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, G_MAXINT, 1,\
+ __VA_ARGS__, NULL)
/* same for audio - now with channels/sample rate
*/
-#define GST_FF_AUD_CAPS_NEW(mimetype, ...) \
- (context != NULL) ? \
- gst_caps_new_simple (mimetype, \
- "rate", G_TYPE_INT, context->sample_rate, \
- "channels", G_TYPE_INT, context->channels, \
- __VA_ARGS__, NULL) \
- : \
- gst_caps_new_simple (mimetype, \
- __VA_ARGS__, NULL)
+#define GST_FF_AUD_CAPS_NEW(mimetype, ...) \
+ (context != NULL) ? \
+ gst_caps_new_simple (mimetype, \
+ "rate", G_TYPE_INT, context->sample_rate, \
+ "channels", G_TYPE_INT, context->channels, \
+ __VA_ARGS__, NULL) \
+ : \
+ gst_caps_new_simple (mimetype, \
+ __VA_ARGS__, NULL)
/* Convert a FFMPEG Pixel Format and optional AVCodecContext
* to a GstCaps. If the context is ommitted, no fixed values
int
gst_ffmpegcsp_avpicture_fill (AVPicture * picture,
- uint8_t * ptr,
- enum PixelFormat pix_fmt,
- int width,
- int height);
+ uint8_t * ptr,
+ enum PixelFormat pix_fmt,
+ int width,
+ int height);
#endif /* __GST_FFMPEG_CODECMAP_H__ */
#define SCALEBITS 10
#define ONE_HALF (1 << (SCALEBITS - 1))
-#define FIX(x) ((int) ((x) * (1<<SCALEBITS) + 0.5))
+#define FIX(x) ((int) ((x) * (1<<SCALEBITS) + 0.5))
#define YUV_TO_RGB1_CCIR(cb1, cr1)\
{\
d1 = d;
s1 = s;
for(w = width; w > 0; w--) {
- a = s1[0];
+ a = s1[0];
YUV_TO_RGB1_CCIR(s1[2], s1[3]);
YUV_TO_RGB2_CCIR(r, g, b, s1[1]);
for(y=0;y<height;y++) {
for(x=0;x<width;x++) {
RGBA_IN(r, g, b, a, p);
- d[0] = a;
+ d[0] = a;
d[1] = RGB_TO_Y_CCIR(r, g, b);
d[2] = RGB_TO_U_CCIR(r, g, b, 0);
d[3] = RGB_TO_V_CCIR(r, g, b, 0);
p += BPP;
- d += 4;
+ d += 4;
}
p += src_wrap;
d += dst_wrap;
#define bgra32_fcts_done
static void bgra32_to_ayuv4444(AVPicture *dst, const AVPicture *src,
- int width, int height)
+ int width, int height)
{
int src_wrap, dst_wrap, x, y;
int r, g, b, a;
for(y=0;y<height;y++) {
for(x=0;x<width;x++) {
RGB_IN(r, g, b, p);
- d[0] = 0xff;
+ d[0] = 0xff;
d[1] = RGB_TO_Y_CCIR(r, g, b);
d[2] = RGB_TO_U_CCIR(r, g, b, 0);
d[3] = RGB_TO_V_CCIR(r, g, b, 0);
p += BPP;
- d += 4;
+ d += 4;
}
p += src_wrap;
d += dst_wrap;
#ifdef RGBA_IN
static int glue(get_alpha_info_, RGB_NAME)(const AVPicture *src,
- int width, int height)
+ int width, int height)
{
const unsigned char *p;
int src_wrap, ret, x, y;
GST_DEBUG_CATEGORY_STATIC (gst_decode_bin_debug);
#define GST_CAT_DEFAULT gst_decode_bin_debug
-#define GST_TYPE_DECODE_BIN (gst_decode_bin_get_type())
-#define GST_DECODE_BIN(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DECODE_BIN,GstDecodeBin))
-#define GST_DECODE_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DECODE_BIN,GstDecodeBinClass))
-#define GST_IS_DECODE_BIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DECODE_BIN))
-#define GST_IS_DECODE_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DECODE_BIN))
+#define GST_TYPE_DECODE_BIN (gst_decode_bin_get_type())
+#define GST_DECODE_BIN(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DECODE_BIN,GstDecodeBin))
+#define GST_DECODE_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DECODE_BIN,GstDecodeBinClass))
+#define GST_IS_DECODE_BIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DECODE_BIN))
+#define GST_IS_DECODE_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DECODE_BIN))
typedef struct _GstDecodeBin GstDecodeBin;
typedef struct _GstDecodeBinClass GstDecodeBinClass;
G_BEGIN_DECLS
-#define GST_TYPE_PLAY_BASE_BIN (gst_play_base_bin_get_type())
-#define GST_PLAY_BASE_BIN(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_PLAY_BASE_BIN,GstPlayBaseBin))
-#define GST_PLAY_BASE_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_PLAY_BASE_BIN,GstPlayBaseBinClass))
-#define GST_IS_PLAY_BASE_BIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_PLAY_BASE_BIN))
-#define GST_IS_PLAY_BASE_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_PLAY_BASE_BIN))
+#define GST_TYPE_PLAY_BASE_BIN (gst_play_base_bin_get_type())
+#define GST_PLAY_BASE_BIN(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_PLAY_BASE_BIN,GstPlayBaseBin))
+#define GST_PLAY_BASE_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_PLAY_BASE_BIN,GstPlayBaseBinClass))
+#define GST_IS_PLAY_BASE_BIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_PLAY_BASE_BIN))
+#define GST_IS_PLAY_BASE_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_PLAY_BASE_BIN))
#define GST_PLAY_BASE_BIN_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_PLAY_BASE_BIN, \
- GstPlayBaseBinClass))
+ GstPlayBaseBinClass))
typedef struct _GstPlayBaseBin GstPlayBaseBin;
typedef struct _GstPlayBaseBinClass GstPlayBaseBinClass;
*/
typedef struct
{
- GstPlayBaseBin *bin; /* ref to the owner */
+ GstPlayBaseBin *bin; /* ref to the owner */
- gint nstreams;
- GList *streaminfo;
+ gint nstreams;
+ GList *streaminfo;
/* contained decoded elementary streams */
struct {
- gint npads;
+ gint npads;
GstBin *bin;
- GstElement *preroll;
- GstElement *selector;
- gboolean done;
+ GstElement *preroll;
+ GstElement *selector;
+ gboolean done;
#define NUM_TYPES 3
} type[NUM_TYPES]; /* AUDIO, VIDEO, TEXT */
} GstPlayBaseGroup;
struct _GstPlayBaseBin {
- GstPipeline pipeline;
-
+ GstPipeline pipeline;
+
/* properties */
- guint64 queue_size;
- guint queue_threshold;
+ guint64 queue_size;
+ guint queue_threshold;
/* currently loaded media */
- gint current[NUM_TYPES];
- gchar *uri, *suburi;
- gboolean is_stream;
- GstElement *source;
- GstElement *decoder;
- GstElement *subtitle; /* additional filesrc ! subparse bin */
- gboolean need_rebuild;
+ gint current[NUM_TYPES];
+ gchar *uri, *suburi;
+ gboolean is_stream;
+ GstElement *source;
+ GstElement *decoder;
+ GstElement *subtitle; /* additional filesrc ! subparse bin */
+ gboolean need_rebuild;
/* group management - using own lock */
- GMutex *group_lock; /* lock and mutex to signal availability of new group */
- GCond *group_cond;
- GstPlayBaseGroup *building_group; /* the group that we are constructing */
- GList *queued_groups; /* the constructed groups, head is the active one */
+ GMutex *group_lock; /* lock and mutex to signal availability of new group */
+ GCond *group_cond;
+ GstPlayBaseGroup *building_group; /* the group that we are constructing */
+ GList *queued_groups; /* the constructed groups, head is the active one */
};
struct _GstPlayBaseBinClass {
GstPipelineClass parent_class;
/* virtual fuctions */
- gboolean (*setup_output_pads) (GstPlayBaseBin *play_base_bin,
- GstPlayBaseGroup *group);
+ gboolean (*setup_output_pads) (GstPlayBaseBin *play_base_bin,
+ GstPlayBaseGroup *group);
};
GType gst_play_base_bin_get_type (void);
GST_DEBUG_CATEGORY_STATIC (gst_play_bin_debug);
#define GST_CAT_DEFAULT gst_play_bin_debug
-#define GST_TYPE_PLAY_BIN (gst_play_bin_get_type())
-#define GST_PLAY_BIN(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_PLAY_BIN,GstPlayBin))
-#define GST_PLAY_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_PLAY_BIN,GstPlayBinClass))
-#define GST_IS_PLAY_BIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_PLAY_BIN))
-#define GST_IS_PLAY_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_PLAY_BIN))
+#define GST_TYPE_PLAY_BIN (gst_play_bin_get_type())
+#define GST_PLAY_BIN(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_PLAY_BIN,GstPlayBin))
+#define GST_PLAY_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_PLAY_BIN,GstPlayBinClass))
+#define GST_IS_PLAY_BIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_PLAY_BIN))
+#define GST_IS_PLAY_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_PLAY_BIN))
#define VOLUME_MAX_DOUBLE 4.0
G_BEGIN_DECLS
-#define GST_TYPE_STREAM_INFO (gst_stream_info_get_type())
-#define GST_STREAM_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_STREAM_INFO,GstStreamInfo))
-#define GST_STREAM_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_STREAM_INFO,GstStreamInfoClass))
-#define GST_IS_STREAM_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_STREAM_INFO))
-#define GST_IS_STREAM_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_STREAM_INFO))
+#define GST_TYPE_STREAM_INFO (gst_stream_info_get_type())
+#define GST_STREAM_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_STREAM_INFO,GstStreamInfo))
+#define GST_STREAM_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_STREAM_INFO,GstStreamInfoClass))
+#define GST_IS_STREAM_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_STREAM_INFO))
+#define GST_IS_STREAM_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_STREAM_INFO))
typedef struct _GstStreamInfo GstStreamInfo;
typedef struct _GstStreamInfoClass GstStreamInfoClass;
typedef enum {
GST_STREAM_TYPE_UNKNOWN = 0,
- GST_STREAM_TYPE_AUDIO = 1, /* an audio stream */
- GST_STREAM_TYPE_VIDEO = 2, /* a video stream */
- GST_STREAM_TYPE_TEXT = 3, /* a subtitle/text stream */
- GST_STREAM_TYPE_ELEMENT = 4, /* stream handled by an element */
+ GST_STREAM_TYPE_AUDIO = 1, /* an audio stream */
+ GST_STREAM_TYPE_VIDEO = 2, /* a video stream */
+ GST_STREAM_TYPE_TEXT = 3, /* a subtitle/text stream */
+ GST_STREAM_TYPE_ELEMENT = 4, /* stream handled by an element */
} GstStreamType;
struct _GstStreamInfo {
- GObject parent;
+ GObject parent;
- GstObject *object; /* pad/element providing/handling this stream */
- GstStreamType type; /* the type of the provided stream */
- gchar *decoder; /* string describing the decoder */
- gboolean mute; /* is the stream muted or not */
- GstObject *origin; /* the real object providing this stream, this can
- be different from the object as the object can be
- a queue pad, inserted for preroll. */
- GstCaps *caps; /* the caps of the stream */
+ GstObject *object; /* pad/element providing/handling this stream */
+ GstStreamType type; /* the type of the provided stream */
+ gchar *decoder; /* string describing the decoder */
+ gboolean mute; /* is the stream muted or not */
+ GstObject *origin; /* the real object providing this stream, this can
+ be different from the object as the object can be
+ a queue pad, inserted for preroll. */
+ GstCaps *caps; /* the caps of the stream */
/* this is tream information cached here because the streaminfo may be
* created before the app can know about it. */
- gchar *langcode,
- *codec;
+ gchar *langcode,
+ *codec;
};
struct _GstStreamInfoClass {
- GObjectClass parent_class;
+ GObjectClass parent_class;
/* signals */
void (*muted) (GstStreamInfo *info, gboolean mute);
GType gst_stream_info_get_type (void);
-GstStreamInfo* gst_stream_info_new (GstObject *object,
- GstStreamType type,
- const gchar *decoder,
- const GstCaps *caps);
+GstStreamInfo* gst_stream_info_new (GstObject *object,
+ GstStreamType type,
+ const gchar *decoder,
+ const GstCaps *caps);
-gboolean gst_stream_info_set_mute (GstStreamInfo *stream_info,
- gboolean mute);
-gboolean gst_stream_info_is_mute (GstStreamInfo *stream_info);
+gboolean gst_stream_info_set_mute (GstStreamInfo *stream_info,
+ gboolean mute);
+gboolean gst_stream_info_is_mute (GstStreamInfo *stream_info);
G_END_DECLS
* Boston, MA 02111-1307, USA.
*/
-#define MIN_POLLFDS 32
-#define INIT_POLLFDS MIN_POLLFDS
+#define MIN_POLLFDS 32
+#define INIT_POLLFDS MIN_POLLFDS
#include <sys/poll.h>
#include <sys/time.h>
GType gst_fdset_mode_get_type (void);
-GstFDSet* gst_fdset_new (GstFDSetMode mode);
-void gst_fdset_free (GstFDSet *set);
+GstFDSet* gst_fdset_new (GstFDSetMode mode);
+void gst_fdset_free (GstFDSet *set);
-void gst_fdset_set_mode (GstFDSet *set, GstFDSetMode mode);
-GstFDSetMode gst_fdset_get_mode (GstFDSet *set);
+void gst_fdset_set_mode (GstFDSet *set, GstFDSetMode mode);
+GstFDSetMode gst_fdset_get_mode (GstFDSet *set);
-gboolean gst_fdset_add_fd (GstFDSet *set, GstFD *fd);
-gboolean gst_fdset_remove_fd (GstFDSet *set, GstFD *fd);
+gboolean gst_fdset_add_fd (GstFDSet *set, GstFD *fd);
+gboolean gst_fdset_remove_fd (GstFDSet *set, GstFD *fd);
-void gst_fdset_fd_ctl_write (GstFDSet *set, GstFD *fd, gboolean active);
-void gst_fdset_fd_ctl_read (GstFDSet *set, GstFD *fd, gboolean active);
+void gst_fdset_fd_ctl_write (GstFDSet *set, GstFD *fd, gboolean active);
+void gst_fdset_fd_ctl_read (GstFDSet *set, GstFD *fd, gboolean active);
-gboolean gst_fdset_fd_has_closed (GstFDSet *set, GstFD *fd);
-gboolean gst_fdset_fd_has_error (GstFDSet *set, GstFD *fd);
-gboolean gst_fdset_fd_can_read (GstFDSet *set, GstFD *fd);
-gboolean gst_fdset_fd_can_write (GstFDSet *set, GstFD *fd);
+gboolean gst_fdset_fd_has_closed (GstFDSet *set, GstFD *fd);
+gboolean gst_fdset_fd_has_error (GstFDSet *set, GstFD *fd);
+gboolean gst_fdset_fd_can_read (GstFDSet *set, GstFD *fd);
+gboolean gst_fdset_fd_can_write (GstFDSet *set, GstFD *fd);
-gint gst_fdset_wait (GstFDSet *set, int timeout);
+gint gst_fdset_wait (GstFDSet *set, int timeout);
G_END_DECLS
/* the select call is also performed on the control sockets, that way
* we can send special commands to unblock or restart the select call */
-#define CONTROL_RESTART 'R' /* restart the select call */
-#define CONTROL_STOP 'S' /* stop the select call */
-#define CONTROL_SOCKETS(sink) sink->control_sock
-#define WRITE_SOCKET(sink) sink->control_sock[1]
-#define READ_SOCKET(sink) sink->control_sock[0]
-
-#define SEND_COMMAND(sink, command) \
-G_STMT_START { \
- unsigned char c; c = command; \
- write (WRITE_SOCKET(sink).fd, &c, 1); \
+#define CONTROL_RESTART 'R' /* restart the select call */
+#define CONTROL_STOP 'S' /* stop the select call */
+#define CONTROL_SOCKETS(sink) sink->control_sock
+#define WRITE_SOCKET(sink) sink->control_sock[1]
+#define READ_SOCKET(sink) sink->control_sock[0]
+
+#define SEND_COMMAND(sink, command) \
+G_STMT_START { \
+ unsigned char c; c = command; \
+ write (WRITE_SOCKET(sink).fd, &c, 1); \
} G_STMT_END
-#define READ_COMMAND(sink, command, res) \
-G_STMT_START { \
- res = read(READ_SOCKET(sink).fd, &command, 1); \
+#define READ_COMMAND(sink, command, res) \
+G_STMT_START { \
+ res = read(READ_SOCKET(sink).fd, &command, 1); \
} G_STMT_END
/* elementfactory information */
};
/* this is really arbitrarily chosen */
-#define DEFAULT_PROTOCOL GST_TCP_PROTOCOL_NONE
-#define DEFAULT_MODE GST_FDSET_MODE_POLL
-#define DEFAULT_BUFFERS_MAX -1
-#define DEFAULT_BUFFERS_SOFT_MAX -1
-#define DEFAULT_UNIT_TYPE GST_UNIT_TYPE_BUFFERS
-#define DEFAULT_UNITS_MAX -1
-#define DEFAULT_UNITS_SOFT_MAX -1
-#define DEFAULT_RECOVER_POLICY GST_RECOVER_POLICY_NONE
-#define DEFAULT_TIMEOUT 0
-#define DEFAULT_SYNC_METHOD GST_SYNC_METHOD_LATEST
+#define DEFAULT_PROTOCOL GST_TCP_PROTOCOL_NONE
+#define DEFAULT_MODE GST_FDSET_MODE_POLL
+#define DEFAULT_BUFFERS_MAX -1
+#define DEFAULT_BUFFERS_SOFT_MAX -1
+#define DEFAULT_UNIT_TYPE GST_UNIT_TYPE_BUFFERS
+#define DEFAULT_UNITS_MAX -1
+#define DEFAULT_UNITS_SOFT_MAX -1
+#define DEFAULT_RECOVER_POLICY GST_RECOVER_POLICY_NONE
+#define DEFAULT_TIMEOUT 0
+#define DEFAULT_SYNC_METHOD GST_SYNC_METHOD_LATEST
enum
{
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_MULTI_FD_SINK))
#define GST_MULTI_FD_SINK_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_MULTI_FD_SINK, GstMultiFdSinkClass))
-
+
typedef struct _GstMultiFdSink GstMultiFdSink;
typedef struct _GstMultiFdSinkClass GstMultiFdSinkClass;
typedef enum
{
- GST_CLIENT_STATUS_OK = 0,
- GST_CLIENT_STATUS_CLOSED = 1,
- GST_CLIENT_STATUS_REMOVED = 2,
- GST_CLIENT_STATUS_SLOW = 3,
- GST_CLIENT_STATUS_ERROR = 4,
- GST_CLIENT_STATUS_DUPLICATE = 5,
+ GST_CLIENT_STATUS_OK = 0,
+ GST_CLIENT_STATUS_CLOSED = 1,
+ GST_CLIENT_STATUS_REMOVED = 2,
+ GST_CLIENT_STATUS_SLOW = 3,
+ GST_CLIENT_STATUS_ERROR = 4,
+ GST_CLIENT_STATUS_DUPLICATE = 5,
} GstClientStatus;
/* structure for a client
} GstTCPClient;
-#define CLIENTS_LOCK_INIT(fdsink) (g_static_rec_mutex_init(&fdsink->clientslock))
-#define CLIENTS_LOCK_FREE(fdsink) (g_static_rec_mutex_free(&fdsink->clientslock))
-#define CLIENTS_LOCK(fdsink) (g_static_rec_mutex_lock(&fdsink->clientslock))
-#define CLIENTS_UNLOCK(fdsink) (g_static_rec_mutex_unlock(&fdsink->clientslock))
+#define CLIENTS_LOCK_INIT(fdsink) (g_static_rec_mutex_init(&fdsink->clientslock))
+#define CLIENTS_LOCK_FREE(fdsink) (g_static_rec_mutex_free(&fdsink->clientslock))
+#define CLIENTS_LOCK(fdsink) (g_static_rec_mutex_lock(&fdsink->clientslock))
+#define CLIENTS_UNLOCK(fdsink) (g_static_rec_mutex_unlock(&fdsink->clientslock))
struct _GstMultiFdSink {
GstBaseSink element;
guint64 bytes_to_serve; /* how much bytes we must serve */
guint64 bytes_served; /* how much bytes have we served */
- GStaticRecMutex clientslock; /* lock to protect the clients list */
- GList *clients; /* list of clients we are serving */
+ GStaticRecMutex clientslock; /* lock to protect the clients list */
+ GList *clients; /* list of clients we are serving */
GHashTable *fd_hash; /* index on fd to client */
GstFDSetMode mode;
GstTCPProtocol protocol;
guint mtu;
- GArray *bufqueue; /* global queue of buffers */
+ GArray *bufqueue; /* global queue of buffers */
- gboolean running; /* the thread state */
- GThread *thread; /* the sender thread */
+ gboolean running; /* the thread state */
+ GThread *thread; /* the sender thread */
GstUnitType unit_type;/* the type of the units */
- gint units_max; /* max units to queue */
- gint units_soft_max; /* max units a client can lag before recovery starts */
+ gint units_max; /* max units to queue */
+ gint units_soft_max; /* max units a client can lag before recovery starts */
GstRecoverPolicy recover_policy;
- GstClockTime timeout; /* max amount of nanoseconds to remain idle */
- GstSyncMethod sync_method; /* what method to use for connecting clients */
+ GstClockTime timeout; /* max amount of nanoseconds to remain idle */
+ GstSyncMethod sync_method; /* what method to use for connecting clients */
/* stats */
- gint buffers_queued; /* number of queued buffers */
- gint bytes_queued; /* number of queued bytes */
- gint time_queued; /* number of queued time */
+ gint buffers_queued; /* number of queued buffers */
+ gint bytes_queued; /* number of queued bytes */
+ gint time_queued; /* number of queued time */
};
struct _GstMultiFdSinkClass {
GstBaseSinkClass parent_class;
/* element methods */
- void (*add) (GstMultiFdSink *sink, int fd);
- void (*remove) (GstMultiFdSink *sink, int fd);
- void (*clear) (GstMultiFdSink *sink);
- GValueArray* (*get_stats) (GstMultiFdSink *sink, int fd);
+ void (*add) (GstMultiFdSink *sink, int fd);
+ void (*remove) (GstMultiFdSink *sink, int fd);
+ void (*clear) (GstMultiFdSink *sink);
+ GValueArray* (*get_stats) (GstMultiFdSink *sink, int fd);
/* vtable */
gboolean (*init) (GstMultiFdSink *sink);
#include <gst/gst.h>
#include <gst/dataprotocol/dataprotocol.h>
-#define TCP_HIGHEST_PORT 65535
+#define TCP_HIGHEST_PORT 65535
#define TCP_DEFAULT_HOST "localhost"
#define TCP_DEFAULT_PORT 4953
GST_DEBUG_CATEGORY (tcpclientsrc_debug);
#define GST_CAT_DEFAULT tcpclientsrc_debug
-#define MAX_READ_SIZE 4 * 1024
+#define MAX_READ_SIZE 4 * 1024
static GstElementDetails gst_tcp_client_src_details =
#include <netdb.h> /* sockaddr_in */
#include <sys/types.h>
#include <sys/socket.h>
-#include <netinet/in.h> /* sockaddr_in */
+#include <netinet/in.h> /* sockaddr_in */
#include <unistd.h>
#include "gsttcp.h"
#ifdef __cplusplus
extern "C"
{
-#endif /* __cplusplus */
+#endif /* __cplusplus */
typedef enum
{
#include "gsttcpserversink.h"
#include "gsttcp-marshal.h"
-#define TCP_BACKLOG 5
+#define TCP_BACKLOG 5
/* elementfactory information */
static GstElementDetails gst_tcp_server_sink_details =
GST_DEBUG_CATEGORY (tcpserversrc_debug);
#define GST_CAT_DEFAULT tcpserversrc_debug
-#define TCP_DEFAULT_LISTEN_HOST NULL /* listen on all interfaces */
-#define TCP_BACKLOG 1 /* client connection queue */
+#define TCP_DEFAULT_LISTEN_HOST NULL /* listen on all interfaces */
+#define TCP_BACKLOG 1 /* client connection queue */
static GstElementDetails gst_tcp_server_src_details =
#define URI_CAPS (gst_static_caps_get(&uri_caps))
#define BUFFER_SIZE 16 /* If the string is < 16 bytes we're screwed */
-#define INC_BUFFER { \
- pos++; \
- if (pos == BUFFER_SIZE) { \
- pos = 0; \
- offset += BUFFER_SIZE; \
- data = gst_type_find_peek (tf, offset, BUFFER_SIZE); \
- if (data == NULL) return; \
- } else { \
- data++; \
- } \
+#define INC_BUFFER { \
+ pos++; \
+ if (pos == BUFFER_SIZE) { \
+ pos = 0; \
+ offset += BUFFER_SIZE; \
+ data = gst_type_find_peek (tf, offset, BUFFER_SIZE); \
+ if (data == NULL) return; \
+ } else { \
+ data++; \
+ } \
}
static void
uri_type_find (GstTypeFind * tf, gpointer unused)
/*** application/xml **********************************************************/
#define XML_BUFFER_SIZE 256
-#define XML_INC_BUFFER { \
- pos++; \
- if (pos == XML_BUFFER_SIZE) { \
- pos = 0; \
- offset += XML_BUFFER_SIZE; \
- data = gst_type_find_peek (tf, offset, XML_BUFFER_SIZE); \
- if (data == NULL) return FALSE; \
- } else { \
- data++; \
- } \
+#define XML_INC_BUFFER { \
+ pos++; \
+ if (pos == XML_BUFFER_SIZE) { \
+ pos = 0; \
+ offset += XML_BUFFER_SIZE; \
+ data = gst_type_find_peek (tf, offset, XML_BUFFER_SIZE); \
+ if (data == NULL) return FALSE; \
+ } else { \
+ data++; \
+ } \
}
static gboolean
* (0.024%) per try. This makes the function for calculating false positives
* 1 - (1 - ((63 / 2 ^18) ^ GST_MP3_TYPEFIND_MIN_HEADERS)) ^ buffersize)
* This has the following probabilities of false positives:
- * datasize MIN_HEADERS
- * (bytes) 1 2 3 4
- * 4096 62.6% 0.02% 0% 0%
- * 16384 98% 0.09% 0% 0%
- * 1 MiB 100% 5.88% 0% 0%
- * 1 GiB 100% 100% 1.44% 0%
+ * datasize MIN_HEADERS
+ * (bytes) 1 2 3 4
+ * 4096 62.6% 0.02% 0% 0%
+ * 16384 98% 0.09% 0% 0%
+ * 1 MiB 100% 5.88% 0% 0%
+ * 1 GiB 100% 100% 1.44% 0%
* 1 TiB 100% 100% 100% 0.35%
* This means that the current choice (3 headers by most of the time 4096 byte
* buffers is pretty safe for now.
* random values for typefinding
* if no more data is available, we will return a probability of
* (found_headers/TRY_HEADERS) * (MAXIMUM * (TRY_SYNC - bytes_skipped)
- * / TRY_SYNC)
+ * / TRY_SYNC)
* if found_headers >= MIN_HEADERS
*/
#define GST_MP3_TYPEFIND_MIN_HEADERS (2)
static GstStaticCaps mpeg_sys_caps = GST_STATIC_CAPS ("video/mpeg, "
"systemstream = (boolean) true, mpegversion = (int) [ 1, 2 ]");
#define MPEG_SYS_CAPS gst_static_caps_get(&mpeg_sys_caps)
-#define IS_MPEG_HEADER(data) ((((guint8 *)data)[0] == 0x00) && \
- (((guint8 *)data)[1] == 0x00) && \
- (((guint8 *)data)[2] == 0x01) && \
- (((guint8 *)data)[3] == 0xBA))
-#define IS_MPEG_SYSTEM_HEADER(data) ((((guint8 *)data)[0] == 0x00) && \
- (((guint8 *)data)[1] == 0x00) && \
- (((guint8 *)data)[2] == 0x01) && \
- (((guint8 *)data)[3] == 0xBB))
-#define IS_MPEG_PACKET_HEADER(data) ((((guint8 *)data)[0] == 0x00) && \
- (((guint8 *)data)[1] == 0x00) && \
- (((guint8 *)data)[2] == 0x01) && \
- ((((guint8 *)data)[3] & 0x80) == 0x80))
-#define IS_MPEG_PES_HEADER(data) ((((guint8 *)data)[0] == 0x00) && \
- (((guint8 *)data)[1] == 0x00) && \
- (((guint8 *)data)[2] == 0x01) && \
- ((((guint8 *)data)[3] == 0xE0) || \
- (((guint8 *)data)[3] == 0xC0) || \
- (((guint8 *)data)[3] == 0xBD)))
+#define IS_MPEG_HEADER(data) ((((guint8 *)data)[0] == 0x00) && \
+ (((guint8 *)data)[1] == 0x00) && \
+ (((guint8 *)data)[2] == 0x01) && \
+ (((guint8 *)data)[3] == 0xBA))
+#define IS_MPEG_SYSTEM_HEADER(data) ((((guint8 *)data)[0] == 0x00) && \
+ (((guint8 *)data)[1] == 0x00) && \
+ (((guint8 *)data)[2] == 0x01) && \
+ (((guint8 *)data)[3] == 0xBB))
+#define IS_MPEG_PACKET_HEADER(data) ((((guint8 *)data)[0] == 0x00) && \
+ (((guint8 *)data)[1] == 0x00) && \
+ (((guint8 *)data)[2] == 0x01) && \
+ ((((guint8 *)data)[3] & 0x80) == 0x80))
+#define IS_MPEG_PES_HEADER(data) ((((guint8 *)data)[0] == 0x00) && \
+ (((guint8 *)data)[1] == 0x00) && \
+ (((guint8 *)data)[2] == 0x01) && \
+ ((((guint8 *)data)[3] == 0xE0) || \
+ (((guint8 *)data)[3] == 0xC0) || \
+ (((guint8 *)data)[3] == 0xBD)))
static void
mpeg2_sys_type_find (GstTypeFind * tf, gpointer unused)
}
/* calculation of possibility to identify random data as mpeg systemstream:
- * bits that must match in header detection: 32 (or more)
- * chance that random data is identifed: 1/2^32
+ * bits that must match in header detection: 32 (or more)
+ * chance that random data is identifed: 1/2^32
* chance that GST_MPEG_TYPEFIND_TRY_HEADERS headers are identified:
- * 1/2^(32*GST_MPEG_TYPEFIND_TRY_HEADERS)
+ * 1/2^(32*GST_MPEG_TYPEFIND_TRY_HEADERS)
* chance that this happens in GST_MPEG_TYPEFIND_TRY_SYNC bytes:
- * 1-(1+1/2^(32*GST_MPEG_TYPEFIND_TRY_HEADERS)^GST_MPEG_TYPEFIND_TRY_SYNC)
+ * 1-(1+1/2^(32*GST_MPEG_TYPEFIND_TRY_HEADERS)^GST_MPEG_TYPEFIND_TRY_SYNC)
* for current values:
- * 1-(1+1/2^(32*4)^101024)
- * = <some_number>
+ * 1-(1+1/2^(32*4)^101024)
+ * = <some_number>
*/
#define GST_MPEG_TYPEFIND_TRY_HEADERS 4
#define GST_MPEG_TYPEFIND_TRY_SYNC (100 * 1024) /* 100kB */
}
#define TYPE_FIND_REGISTER_START_WITH(plugin,name,rank,ext,_data,_size,_probability)\
-G_BEGIN_DECLS{ \
- GstTypeFindData *sw_data = g_new (GstTypeFindData, 1); \
- sw_data->data = (gpointer)_data; \
- sw_data->size = _size; \
- sw_data->probability = _probability; \
- sw_data->caps = gst_caps_new_simple (name, NULL); \
+G_BEGIN_DECLS{ \
+ GstTypeFindData *sw_data = g_new (GstTypeFindData, 1); \
+ sw_data->data = (gpointer)_data; \
+ sw_data->size = _size; \
+ sw_data->probability = _probability; \
+ sw_data->caps = gst_caps_new_simple (name, NULL); \
if (!gst_type_find_register (plugin, name, rank, start_with_type_find,\
- ext, sw_data->caps, sw_data, (GDestroyNotify) (g_free))) { \
- gst_caps_unref (sw_data->caps); \
- g_free (sw_data); \
- } \
+ ext, sw_data->caps, sw_data, (GDestroyNotify) (g_free))) { \
+ gst_caps_unref (sw_data->caps); \
+ g_free (sw_data); \
+ } \
}G_END_DECLS
/*** same for riff types ***/
}
}
-#define TYPE_FIND_REGISTER_RIFF(plugin,name,rank,ext,_data) \
-G_BEGIN_DECLS{ \
- GstTypeFindData *sw_data = g_new (GstTypeFindData, 1); \
- sw_data->data = (gpointer)_data; \
- sw_data->size = 4; \
- sw_data->probability = GST_TYPE_FIND_MAXIMUM; \
- sw_data->caps = gst_caps_new_simple (name, NULL); \
- if (!gst_type_find_register (plugin, name, rank, riff_type_find, \
- ext, sw_data->caps, sw_data, (GDestroyNotify) (g_free))) { \
- gst_caps_unref (sw_data->caps); \
- g_free (sw_data); \
- } \
+#define TYPE_FIND_REGISTER_RIFF(plugin,name,rank,ext,_data) \
+G_BEGIN_DECLS{ \
+ GstTypeFindData *sw_data = g_new (GstTypeFindData, 1); \
+ sw_data->data = (gpointer)_data; \
+ sw_data->size = 4; \
+ sw_data->probability = GST_TYPE_FIND_MAXIMUM; \
+ sw_data->caps = gst_caps_new_simple (name, NULL); \
+ if (!gst_type_find_register (plugin, name, rank, riff_type_find, \
+ ext, sw_data->caps, sw_data, (GDestroyNotify) (g_free))) { \
+ gst_caps_unref (sw_data->caps); \
+ g_free (sw_data); \
+ } \
}G_END_DECLS
/*** plugin initialization ***/
LAST_SIGNAL
};
-#define DEFAULT_SILENT TRUE
-#define DEFAULT_NEW_PREF 1.0
+#define DEFAULT_SILENT TRUE
+#define DEFAULT_NEW_PREF 1.0
enum
{
gint rate_denominator;
/* private */
- gint64 timestamp_offset; /* base offset */
- GstClockTime running_time; /* total running time */
- gint64 n_frames; /* total frames sent */
+ gint64 timestamp_offset; /* base offset */
+ GstClockTime running_time; /* total running time */
+ gint64 n_frames; /* total frames sent */
gint64 segment_start_frame;
gint64 segment_end_frame;
gboolean segment;
struct vts_color_struct {
- uint8_t Y, U, V;
- uint8_t R, G, B;
+ uint8_t Y, U, V;
+ uint8_t R, G, B;
};
typedef struct paintinfo_struct paintinfo;
struct paintinfo_struct
{
- unsigned char *dest; /* pointer to first byte of video data */
+ unsigned char *dest; /* pointer to first byte of video data */
unsigned char *yp, *up, *vp; /* pointers to first byte of each component
- * for both packed/planar YUV and RGB */
- unsigned char *endptr; /* pointer to byte beyond last video data */
+ * for both packed/planar YUV and RGB */
+ unsigned char *endptr; /* pointer to byte beyond last video data */
int ystride;
int ustride;
int vstride;
};
struct fourcc_list_struct *
- paintrect_find_fourcc (int find_fourcc);
+ paintrect_find_fourcc (int find_fourcc);
struct fourcc_list_struct *
- paintrect_find_name (const char *name);
+ paintrect_find_name (const char *name);
struct fourcc_list_struct *
- paintinfo_find_by_structure (const GstStructure *structure);
+ paintinfo_find_by_structure (const GstStructure *structure);
GstStructure *
- paint_get_structure (struct fourcc_list_struct *format);
-int gst_video_test_src_get_size (GstVideoTestSrc * v, int w, int h);
-void gst_video_test_src_smpte (GstVideoTestSrc * v,
- unsigned char *dest, int w, int h);
-void gst_video_test_src_snow (GstVideoTestSrc * v,
- unsigned char *dest, int w, int h);
-void gst_video_test_src_black (GstVideoTestSrc * v,
- unsigned char *dest, int w, int h);
+ paint_get_structure (struct fourcc_list_struct *format);
+int gst_video_test_src_get_size (GstVideoTestSrc * v, int w, int h);
+void gst_video_test_src_smpte (GstVideoTestSrc * v,
+ unsigned char *dest, int w, int h);
+void gst_video_test_src_snow (GstVideoTestSrc * v,
+ unsigned char *dest, int w, int h);
+void gst_video_test_src_black (GstVideoTestSrc * v,
+ unsigned char *dest, int w, int h);
extern struct fourcc_list_struct fourcc_list[];
extern int n_fourccs;
(gst_v4l_color_balance_channel_get_type ())
#define GST_V4L_COLOR_BALANCE_CHANNEL(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_V4L_COLOR_BALANCE_CHANNEL, \
- GstV4lColorBalanceChannel))
+ GstV4lColorBalanceChannel))
#define GST_V4L_COLOR_BALANCE_CHANNEL_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_V4L_COLOR_BALANCE_CHANNEL, \
- GstV4lColorBalanceChannelClass))
+ GstV4lColorBalanceChannelClass))
#define GST_IS_V4L_COLOR_BALANCE_CHANNEL(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_V4L_COLOR_BALANCE_CHANNEL))
#define GST_IS_V4L_COLOR_BALANCE_CHANNEL_CLASS(klass) \
GstColorBalanceChannelClass parent;
} GstV4lColorBalanceChannelClass;
-GType gst_v4l_color_balance_channel_get_type (void);
+GType gst_v4l_color_balance_channel_get_type (void);
-void gst_v4l_color_balance_interface_init (GstColorBalanceClass *klass);
+void gst_v4l_color_balance_interface_init (GstColorBalanceClass *klass);
#endif /* __GST_V4L_COLOR_BALANCE_H__ */
(gst_v4l_tuner_channel_get_type ())
#define GST_V4L_TUNER_CHANNEL(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_V4L_TUNER_CHANNEL, \
- GstV4lTunerChannel))
+ GstV4lTunerChannel))
#define GST_V4L_TUNER_CHANNEL_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_V4L_TUNER_CHANNEL, \
- GstV4lTunerChannelClass))
+ GstV4lTunerChannelClass))
#define GST_IS_V4L_TUNER_CHANNEL(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_V4L_TUNER_CHANNEL))
#define GST_IS_V4L_TUNER_CHANNEL_CLASS(klass) \
(gst_v4l_tuner_norm_get_type ())
#define GST_V4L_TUNER_NORM(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_V4L_TUNER_NORM, \
- GstV4lTunerNorm))
+ GstV4lTunerNorm))
#define GST_V4L_TUNER_NORM_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_V4L_TUNER_NORM, \
- GstV4lTunerNormClass))
+ GstV4lTunerNormClass))
#define GST_IS_V4L_TUNER_NORM(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_V4L_TUNER_NORM))
#define GST_IS_V4L_TUNER_NORM_CLASS(klass) \
GstTunerNormClass parent;
} GstV4lTunerNormClass;
-GType gst_v4l_tuner_channel_get_type (void);
-GType gst_v4l_tuner_norm_get_type (void);
+GType gst_v4l_tuner_channel_get_type (void);
+GType gst_v4l_tuner_norm_get_type (void);
-void gst_v4l_tuner_interface_init (GstTunerClass *klass);
+void gst_v4l_tuner_interface_init (GstTunerClass *klass);
#endif /* __GST_V4L_TUNER_H__ */
G_BEGIN_DECLS
-void gst_v4l_xoverlay_interface_init (GstXOverlayClass *klass);
+void gst_v4l_xoverlay_interface_init (GstXOverlayClass *klass);
-void gst_v4l_xoverlay_start (GstV4lElement * v4lelement);
-void gst_v4l_xoverlay_stop (GstV4lElement * v4lelement);
+void gst_v4l_xoverlay_start (GstV4lElement * v4lelement);
+void gst_v4l_xoverlay_stop (GstV4lElement * v4lelement);
G_END_DECLS
(GST_V4LELEMENT (element)->vcap.type & VID_TYPE_OVERLAY)
/* checks whether the current v4lelement has already been open()'ed or not */
-#define GST_V4L_CHECK_OPEN(element) \
- if (!GST_V4L_IS_OPEN (element)) \
- { \
- GST_ELEMENT_ERROR (element, RESOURCE, TOO_LAZY, \
- (_("Device is not open.")), (NULL)); \
- return FALSE; \
+#define GST_V4L_CHECK_OPEN(element) \
+ if (!GST_V4L_IS_OPEN (element)) \
+ { \
+ GST_ELEMENT_ERROR (element, RESOURCE, TOO_LAZY, \
+ (_("Device is not open.")), (NULL)); \
+ return FALSE; \
}
/* checks whether the current v4lelement is close()'ed or whether it is still open */
-#define GST_V4L_CHECK_NOT_OPEN(element) \
- if (GST_V4L_IS_OPEN (element)) \
- { \
- GST_ELEMENT_ERROR (element, RESOURCE, TOO_LAZY, \
- (_("Device is open.")), (NULL)); \
- return FALSE; \
+#define GST_V4L_CHECK_NOT_OPEN(element) \
+ if (GST_V4L_IS_OPEN (element)) \
+ { \
+ GST_ELEMENT_ERROR (element, RESOURCE, TOO_LAZY, \
+ (_("Device is open.")), (NULL)); \
+ return FALSE; \
}
/* checks whether the current v4lelement does video overlay */
-#define GST_V4L_CHECK_OVERLAY(element) \
- if (!(element->vcap.type & VID_TYPE_OVERLAY)) \
- { \
- GST_ELEMENT_ERROR (element, RESOURCE, TOO_LAZY, \
- (NULL), ("Device cannot handle overlay")); \
- return FALSE; \
+#define GST_V4L_CHECK_OVERLAY(element) \
+ if (!(element->vcap.type & VID_TYPE_OVERLAY)) \
+ { \
+ GST_ELEMENT_ERROR (element, RESOURCE, TOO_LAZY, \
+ (NULL), ("Device cannot handle overlay")); \
+ return FALSE; \
}
/* checks whether we're in capture mode or not */
-#define GST_V4L_CHECK_ACTIVE(element) \
- if (!GST_V4L_IS_ACTIVE (element)) \
- { \
- GST_ELEMENT_ERROR (element, RESOURCE, SETTINGS, \
- (NULL), ("Device is not in streaming mode")); \
- return FALSE; \
+#define GST_V4L_CHECK_ACTIVE(element) \
+ if (!GST_V4L_IS_ACTIVE (element)) \
+ { \
+ GST_ELEMENT_ERROR (element, RESOURCE, SETTINGS, \
+ (NULL), ("Device is not in streaming mode")); \
+ return FALSE; \
}
/* checks whether we're out of capture mode or not */
-#define GST_V4L_CHECK_NOT_ACTIVE(element) \
- if (GST_V4L_IS_ACTIVE (element)) \
- { \
- GST_ELEMENT_ERROR (element, RESOURCE, SETTINGS, \
- (NULL), ("Device is in streaming mode")); \
- return FALSE; \
+#define GST_V4L_CHECK_NOT_ACTIVE(element) \
+ if (GST_V4L_IS_ACTIVE (element)) \
+ { \
+ GST_ELEMENT_ERROR (element, RESOURCE, SETTINGS, \
+ (NULL), ("Device is in streaming mode")); \
+ return FALSE; \
}
/* norm control (norm = VIDEO_MODE_{PAL|NTSC|SECAM|AUTO}) */
gboolean gst_v4l_get_chan_norm (GstV4lElement *v4lelement,
- gint *channel,
- gint *norm);
+ gint *channel,
+ gint *norm);
gboolean gst_v4l_set_chan_norm (GstV4lElement *v4lelement,
- gint channel,
- gint norm);
+ gint channel,
+ gint norm);
GList *gst_v4l_get_chan_names (GstV4lElement *v4lelement);
/* frequency control */
gboolean gst_v4l_get_signal (GstV4lElement *v4lelement,
- gint tunernum,
- guint *signal);
+ gint tunernum,
+ guint *signal);
gboolean gst_v4l_get_frequency (GstV4lElement *v4lelement,
- gint tunernum,
- gulong *frequency);
+ gint tunernum,
+ gulong *frequency);
gboolean gst_v4l_set_frequency (GstV4lElement *v4lelement,
- gint tunernum,
- gulong frequency);
+ gint tunernum,
+ gulong frequency);
/* picture control */
gboolean gst_v4l_get_picture (GstV4lElement *v4lelement,
- GstV4lPictureType type,
- gint *value);
+ GstV4lPictureType type,
+ gint *value);
gboolean gst_v4l_set_picture (GstV4lElement *v4lelement,
- GstV4lPictureType type,
- gint value);
+ GstV4lPictureType type,
+ gint value);
/* audio control */
gboolean gst_v4l_get_audio (GstV4lElement *v4lelement,
- gint audionum,
- GstV4lAudioType type,
- gint *value);
+ gint audionum,
+ GstV4lAudioType type,
+ gint *value);
gboolean gst_v4l_set_audio (GstV4lElement *v4lelement,
- gint audionum,
- GstV4lAudioType type,
- gint value);
+ gint audionum,
+ GstV4lAudioType type,
+ gint value);
/* functions that v4lsrc needs */
gboolean gst_v4l_set_window_properties (GstV4lElement * v4lelement);
/* Misc */
- char reserved[312]; /* Makes 512 bytes for this structure */
+ char reserved[312]; /* Makes 512 bytes for this structure */
};
struct mjpeg_requestbuffers
* get_peer, and then remove references in every test function */
GstPad *mysrcpad, *mysinkpad;
-#define CONVERT_CAPS_TEMPLATE_STRING \
+#define CONVERT_CAPS_TEMPLATE_STRING \
"audio/x-raw-float, " \
"rate = (int) [ 1, MAX ], " \
"channels = (int) [ 1, 8 ], " \
#define RUN_CONVERSION(inarray, in_get_caps, outarray, out_get_caps) \
- verify_convert (inarray, sizeof (inarray), \
- in_get_caps, outarray, sizeof (outarray), out_get_caps)
+ verify_convert (inarray, sizeof (inarray), \
+ in_get_caps, outarray, sizeof (outarray), out_get_caps)
GST_START_TEST (test_int16)
{
GstPad *mysrcpad, *mysinkpad;
-#define RESAMPLE_CAPS_TEMPLATE_STRING \
- "audio/x-raw-int, " \
- "channels = (int) [ 1, MAX ], " \
- "rate = (int) [ 1, MAX ], " \
- "endianness = (int) BYTE_ORDER, " \
- "width = (int) 16, " \
- "depth = (int) 16, " \
+#define RESAMPLE_CAPS_TEMPLATE_STRING \
+ "audio/x-raw-int, " \
+ "channels = (int) [ 1, MAX ], " \
+ "rate = (int) [ 1, MAX ], " \
+ "endianness = (int) BYTE_ORDER, " \
+ "width = (int) 16, " \
+ "depth = (int) 16, " \
"signed = (bool) TRUE"
static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
GstPad *mysinkpad;
-#define CAPS_TEMPLATE_STRING \
- "audio/x-raw-int, " \
- "channels = (int) 1, " \
- "rate = (int) [ 1, MAX ], " \
- "endianness = (int) BYTE_ORDER, " \
- "width = (int) 16, " \
- "depth = (int) 16, " \
+#define CAPS_TEMPLATE_STRING \
+ "audio/x-raw-int, " \
+ "channels = (int) 1, " \
+ "rate = (int) [ 1, MAX ], " \
+ "endianness = (int) BYTE_ORDER, " \
+ "width = (int) 16, " \
+ "depth = (int) 16, " \
"signed = (bool) TRUE"
static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
GstPad *mysinkpad;
-#define CAPS_TEMPLATE_STRING \
- "video/x-raw-yuv, " \
- "format = (fourcc) Y422, " \
- "width = (int) [ 1, MAX ], " \
- "height = (int) [ 1, MAX ], " \
+#define CAPS_TEMPLATE_STRING \
+ "video/x-raw-yuv, " \
+ "format = (fourcc) Y422, " \
+ "width = (int) [ 1, MAX ], " \
+ "height = (int) [ 1, MAX ], " \
"framerate = (fraction) [ 0/1, MAX ]"
static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
GstPad *mysrcpad, *mysinkpad;
-#define VOLUME_CAPS_TEMPLATE_STRING \
- "audio/x-raw-int, " \
- "channels = (int) [ 1, MAX ], " \
- "rate = (int) [ 1, MAX ], " \
- "endianness = (int) BYTE_ORDER, " \
- "width = (int) 16, " \
- "depth = (int) 16, " \
+#define VOLUME_CAPS_TEMPLATE_STRING \
+ "audio/x-raw-int, " \
+ "channels = (int) [ 1, MAX ], " \
+ "rate = (int) [ 1, MAX ], " \
+ "endianness = (int) BYTE_ORDER, " \
+ "width = (int) 16, " \
+ "depth = (int) 16, " \
"signed = (bool) TRUE"
-#define VOLUME_CAPS_STRING \
- "audio/x-raw-int, " \
- "channels = (int) 1, " \
- "rate = (int) 44100, " \
- "endianness = (int) BYTE_ORDER, " \
- "width = (int) 16, " \
- "depth = (int) 16, " \
+#define VOLUME_CAPS_STRING \
+ "audio/x-raw-int, " \
+ "channels = (int) 1, " \
+ "rate = (int) 44100, " \
+ "endianness = (int) BYTE_ORDER, " \
+ "width = (int) 16, " \
+ "depth = (int) 16, " \
"signed = (bool) TRUE"
-#define VOLUME_WRONG_CAPS_STRING \
- "audio/x-raw-int, " \
- "channels = (int) 1, " \
- "rate = (int) 44100, " \
- "endianness = (int) BYTE_ORDER, " \
- "width = (int) 16, " \
- "depth = (int) 16, " \
+#define VOLUME_WRONG_CAPS_STRING \
+ "audio/x-raw-int, " \
+ "channels = (int) 1, " \
+ "rate = (int) 44100, " \
+ "endianness = (int) BYTE_ORDER, " \
+ "width = (int) 16, " \
+ "depth = (int) 16, " \
"signed = (bool) FALSE"
{NULL, NULL},
};
-#define NUM_TYPES ((sizeof (pipelines) / sizeof (Pipeline)) - 1)
+#define NUM_TYPES ((sizeof (pipelines) / sizeof (Pipeline)) - 1)
static void
print_usage (int argc, char **argv)
{NULL, NULL},
};
-#define NUM_TYPES ((sizeof (pipelines) / sizeof (Pipeline)) - 1)
+#define NUM_TYPES ((sizeof (pipelines) / sizeof (Pipeline)) - 1)
static void
print_usage (int argc, char **argv)