*.h: Revert indenting

Original commit message from CVS:
* *.h: Revert indenting
This commit is contained in:
Johan Dahlin 2004-03-15 16:32:55 +00:00
parent f369c03c32
commit bf07c7cc9b
85 changed files with 2035 additions and 1809 deletions

View file

@ -1,3 +1,7 @@
2004-03-15 Johan Dahlin <johan@gnome.org>
* *.h: Revert indenting
2004-03-15 Thomas Vander Stichele <thomas at apestaart dot org> 2004-03-15 Thomas Vander Stichele <thomas at apestaart dot org>
* configure.ac: * configure.ac:

View file

@ -84,28 +84,27 @@ GST_DEBUG_CATEGORY_EXTERN (alsa_debug);
#define GST_ALSA_DEFAULT_DISCONT (GST_SECOND / 10) #define GST_ALSA_DEFAULT_DISCONT (GST_SECOND / 10)
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_ALSA(obj) (G_TYPE_CHECK_INSTANCE_CAST(obj, GST_TYPE_ALSA, GstAlsa)) #define GST_ALSA(obj) (G_TYPE_CHECK_INSTANCE_CAST(obj, GST_TYPE_ALSA, GstAlsa))
#define GST_ALSA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST(klass, GST_TYPE_ALSA, GstAlsaClass)) #define GST_ALSA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST(klass, GST_TYPE_ALSA, GstAlsaClass))
#define GST_ALSA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_ALSA, GstAlsaClass)) #define GST_ALSA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_ALSA, GstAlsaClass))
#define GST_IS_ALSA(obj) (G_TYPE_CHECK_INSTANCE_TYPE(obj, GST_TYPE_ALSA)) #define GST_IS_ALSA(obj) (G_TYPE_CHECK_INSTANCE_TYPE(obj, GST_TYPE_ALSA))
#define GST_IS_ALSA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE(klass, GST_TYPE_ALSA)) #define GST_IS_ALSA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE(klass, GST_TYPE_ALSA))
#define GST_TYPE_ALSA (gst_alsa_get_type()) #define GST_TYPE_ALSA (gst_alsa_get_type())
enum
{ enum {
GST_ALSA_OPEN = GST_ELEMENT_FLAG_LAST, GST_ALSA_OPEN = GST_ELEMENT_FLAG_LAST,
GST_ALSA_RUNNING, GST_ALSA_RUNNING,
GST_ALSA_CAPS_NEGO, GST_ALSA_CAPS_NEGO,
GST_ALSA_FLAG_LAST = GST_ELEMENT_FLAG_LAST + 3, GST_ALSA_FLAG_LAST = GST_ELEMENT_FLAG_LAST + 3,
}; };
typedef enum typedef enum {
{
GST_ALSA_CAPS_PAUSE = 0, GST_ALSA_CAPS_PAUSE = 0,
GST_ALSA_CAPS_RESUME, GST_ALSA_CAPS_RESUME,
GST_ALSA_CAPS_SYNC_START GST_ALSA_CAPS_SYNC_START
/* add more */ /* add more */
} } GstAlsaPcmCaps;
GstAlsaPcmCaps;
#define GST_ALSA_CAPS_IS_SET(obj, flag) (GST_ALSA (obj)->pcm_caps & (1<<(flag))) #define GST_ALSA_CAPS_IS_SET(obj, flag) (GST_ALSA (obj)->pcm_caps & (1<<(flag)))
#define GST_ALSA_CAPS_SET(obj, flag, set) G_STMT_START{ \ #define GST_ALSA_CAPS_SET(obj, flag, set) G_STMT_START{ \
@ -119,32 +118,27 @@ typedef struct _GstAlsaClockClass GstAlsaClockClass;
typedef struct _GstAlsa GstAlsa; typedef struct _GstAlsa GstAlsa;
typedef struct _GstAlsaClass GstAlsaClass; typedef struct _GstAlsaClass GstAlsaClass;
typedef int (*GstAlsaTransmitFunction) (GstAlsa * this, typedef int (*GstAlsaTransmitFunction) (GstAlsa *this, snd_pcm_sframes_t *avail);
snd_pcm_sframes_t * avail);
typedef struct typedef struct {
{
snd_pcm_format_t format; snd_pcm_format_t format;
guint rate; guint rate;
gint channels; gint channels;
} } GstAlsaFormat;
GstAlsaFormat;
struct _GstAlsa struct _GstAlsa {
{
GstElement parent; GstElement parent;
/* array of GstAlsaPads */ /* array of GstAlsaPads */
GstPad *pad[GST_ALSA_MAX_TRACKS]; GstPad * pad[GST_ALSA_MAX_TRACKS];
gchar *device; gchar * device;
gchar *cardname; snd_pcm_t * handle;
snd_pcm_t *handle; snd_pcm_info_t * info;
snd_pcm_info_t *info;
guint pcm_caps; /* capabilities of the pcm device, see GstAlsaPcmCaps */ guint pcm_caps; /* capabilities of the pcm device, see GstAlsaPcmCaps */
snd_output_t *out; snd_output_t * out;
GstAlsaFormat *format; /* NULL if undefined */ GstAlsaFormat * format; /* NULL if undefined */
gboolean mmap; /* use mmap transmit (fast) or read/write (sloooow) */ gboolean mmap; /* use mmap transmit (fast) or read/write (sloooow) */
GstAlsaTransmitFunction transmit; GstAlsaTransmitFunction transmit;
@ -155,7 +149,7 @@ struct _GstAlsa
gboolean autorecover; gboolean autorecover;
/* clocking */ /* clocking */
GstAlsaClock *clock; /* our provided clock */ GstAlsaClock * clock; /* our provided clock */
snd_pcm_uframes_t transmitted; /* samples transmitted since last sync snd_pcm_uframes_t transmitted; /* samples transmitted since last sync
This thing actually is our master clock. This thing actually is our master clock.
We will event insert silent samples or We will event insert silent samples or
@ -166,8 +160,7 @@ struct _GstAlsa
*/ */
}; };
struct _GstAlsaClass struct _GstAlsaClass {
{
GstElementClass parent_class; GstElementClass parent_class;
snd_pcm_stream_t stream; snd_pcm_stream_t stream;
@ -183,10 +176,14 @@ struct _GstAlsaClass
GType gst_alsa_get_type (void); GType gst_alsa_get_type (void);
void gst_alsa_set_eos (GstAlsa * this); void gst_alsa_set_eos (GstAlsa * this);
GstPadLinkReturn gst_alsa_link (GstPad * pad, const GstCaps * caps); GstPadLinkReturn gst_alsa_link (GstPad * pad,
GstCaps *gst_alsa_get_caps (GstPad * pad); const GstCaps * caps);
GstCaps *gst_alsa_fixate (GstPad * pad, const GstCaps * caps); GstCaps * gst_alsa_get_caps (GstPad * pad);
GstCaps *gst_alsa_caps (snd_pcm_format_t format, gint rate, gint channels); GstCaps * gst_alsa_fixate (GstPad * pad,
const GstCaps * caps);
GstCaps * gst_alsa_caps (snd_pcm_format_t format,
gint rate,
gint channels);
/* audio processing functions */ /* audio processing functions */
inline snd_pcm_sframes_t gst_alsa_update_avail (GstAlsa * this); inline snd_pcm_sframes_t gst_alsa_update_avail (GstAlsa * this);
@ -203,8 +200,11 @@ inline snd_pcm_uframes_t gst_alsa_bytes_to_samples (GstAlsa * this,
guint bytes); guint bytes);
inline guint gst_alsa_samples_to_bytes (GstAlsa * this, inline guint gst_alsa_samples_to_bytes (GstAlsa * this,
snd_pcm_uframes_t samples); snd_pcm_uframes_t samples);
inline GstClockTime gst_alsa_bytes_to_timestamp (GstAlsa * this, guint bytes); inline GstClockTime gst_alsa_bytes_to_timestamp (GstAlsa * this,
inline guint gst_alsa_timestamp_to_bytes (GstAlsa * this, GstClockTime time); guint bytes);
inline guint gst_alsa_timestamp_to_bytes (GstAlsa * this,
GstClockTime time);
G_END_DECLS G_END_DECLS
#endif /* __GST_ALSA_H__ */ #endif /* __GST_ALSA_H__ */

View file

@ -25,36 +25,38 @@
#include "gstalsa.h" #include "gstalsa.h"
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_ALSA_CLOCK(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_ALSA_CLOCK,GstAlsaClock)) #define GST_ALSA_CLOCK(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_ALSA_CLOCK,GstAlsaClock))
#define GST_ALSA_CLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_ALSA_CLOCK,GstAlsaClockClass)) #define GST_ALSA_CLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_ALSA_CLOCK,GstAlsaClockClass))
#define GST_IS_ALSA_CLOCK(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ALSA_CLOCK)) #define GST_IS_ALSA_CLOCK(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ALSA_CLOCK))
#define GST_IS_ALSA_CLOCK_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ALSA_CLOCK)) #define GST_IS_ALSA_CLOCK_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ALSA_CLOCK))
#define GST_TYPE_ALSA_CLOCK (gst_alsa_clock_get_type()) #define GST_TYPE_ALSA_CLOCK (gst_alsa_clock_get_type())
typedef GstClockTime (*GstAlsaClockGetTimeFunc) (GstAlsa *); typedef GstClockTime (*GstAlsaClockGetTimeFunc) (GstAlsa *);
struct _GstAlsaClock struct _GstAlsaClock {
{
GstSystemClock parent; GstSystemClock parent;
GstAlsaClockGetTimeFunc get_time; GstAlsaClockGetTimeFunc get_time;
GstAlsa *owner; GstAlsa * owner;
GstClockTimeDiff adjust; /* adjustment to real clock (recalculated when stopping) */ GstClockTimeDiff adjust; /* adjustment to real clock (recalculated when stopping) */
GstClockTime start_time; /* time when the stream started (NONE when stopped) */ GstClockTime start_time; /* time when the stream started (NONE when stopped) */
GstClockTime last_unlock; /* time of last unlock request */ GstClockTime last_unlock; /* time of last unlock request */
}; };
struct _GstAlsaClockClass struct _GstAlsaClockClass {
{
GstSystemClockClass parent_class; GstSystemClockClass parent_class;
}; };
GType gst_alsa_clock_get_type (void); GType gst_alsa_clock_get_type (void);
GstAlsaClock *gst_alsa_clock_new (gchar * name, GstAlsaClock * gst_alsa_clock_new (gchar * name,
GstAlsaClockGetTimeFunc func, GstAlsa * owner); GstAlsaClockGetTimeFunc func,
GstAlsa * owner);
void gst_alsa_clock_start (GstAlsaClock * clock); void gst_alsa_clock_start (GstAlsaClock * clock);
void gst_alsa_clock_stop (GstAlsaClock * clock); void gst_alsa_clock_stop (GstAlsaClock * clock);
G_END_DECLS G_END_DECLS
#endif /* __GST_ALSA_CLOCK_H__ */ #endif /* __GST_ALSA_CLOCK_H__ */

View file

@ -24,27 +24,28 @@
#include <gst/mixer/mixer.h> #include <gst/mixer/mixer.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_ALSA_MIXER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_ALSA_MIXER,GstAlsaMixer)) #define GST_ALSA_MIXER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_ALSA_MIXER,GstAlsaMixer))
#define GST_ALSA_MIXER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_ALSA_MIXER,GstAlsaMixerClass)) #define GST_ALSA_MIXER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_ALSA_MIXER,GstAlsaMixerClass))
#define GST_IS_ALSA_MIXER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ALSA_MIXER)) #define GST_IS_ALSA_MIXER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ALSA_MIXER))
#define GST_IS_ALSA_MIXER_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ALSA_MIXER)) #define GST_IS_ALSA_MIXER_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ALSA_MIXER))
#define GST_TYPE_ALSA_MIXER (gst_alsa_mixer_get_type()) #define GST_TYPE_ALSA_MIXER (gst_alsa_mixer_get_type())
typedef struct _GstAlsaMixer GstAlsaMixer; typedef struct _GstAlsaMixer GstAlsaMixer;
typedef struct _GstAlsaMixerClass GstAlsaMixerClass; typedef struct _GstAlsaMixerClass GstAlsaMixerClass;
struct _GstAlsaMixer struct _GstAlsaMixer {
{
GstAlsa parent; GstAlsa parent;
GList *tracklist; /* list of available tracks */ GList * tracklist; /* list of available tracks */
snd_mixer_t *mixer_handle; snd_mixer_t * mixer_handle;
}; };
struct _GstAlsaMixerClass struct _GstAlsaMixerClass {
{
GstAlsaClass parent; GstAlsaClass parent;
}; };
GType gst_alsa_mixer_get_type (void); GType gst_alsa_mixer_get_type (void);
G_END_DECLS G_END_DECLS
#endif /* __GST_ALSA_MIXER_H__ */ #endif /* __GST_ALSA_MIXER_H__ */

View file

@ -23,17 +23,18 @@
#include <gst/mixer/mixertrack.h> #include <gst/mixer/mixertrack.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_ALSA_MIXER_TRACK_TYPE (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(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_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(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_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_TYPE_ALSA_MIXER_TRACK (gst_alsa_mixer_track_get_type())
typedef struct _GstAlsaMixerTrack GstAlsaMixerTrack; typedef struct _GstAlsaMixerTrack GstAlsaMixerTrack;
typedef struct _GstAlsaMixerTrackClass GstAlsaMixerTrackClass; typedef struct _GstAlsaMixerTrackClass GstAlsaMixerTrackClass;
struct _GstAlsaMixerTrack struct _GstAlsaMixerTrack {
{
GstMixerTrack parent; GstMixerTrack parent;
snd_mixer_elem_t *element; /* the ALSA mixer element for this track */ snd_mixer_elem_t *element; /* the ALSA mixer element for this track */
gint track_num; gint track_num;
@ -41,14 +42,16 @@ struct _GstAlsaMixerTrack
gint volumes[GST_ALSA_MAX_CHANNELS]; gint volumes[GST_ALSA_MAX_CHANNELS];
}; };
struct _GstAlsaMixerTrackClass struct _GstAlsaMixerTrackClass {
{
GstMixerTrackClass parent; GstMixerTrackClass parent;
}; };
GType gst_alsa_mixer_track_get_type (void); GType gst_alsa_mixer_track_get_type (void);
GstMixerTrack *gst_alsa_mixer_track_new (snd_mixer_elem_t * element, GstMixerTrack * gst_alsa_mixer_track_new (snd_mixer_elem_t * element,
gint track_num, gint channels, gint flags); gint track_num,
gint channels,
gint flags);
G_END_DECLS G_END_DECLS
#endif /* __GST_ALSA_MIXER_TRACK_H__ */ #endif /* __GST_ALSA_MIXER_TRACK_H__ */

View file

@ -25,16 +25,17 @@
#include "gstalsa.h" #include "gstalsa.h"
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_ALSA_SINK(obj) (G_TYPE_CHECK_INSTANCE_CAST(obj, GST_TYPE_ALSA_SINK, GstAlsaSink)) #define GST_ALSA_SINK(obj) (G_TYPE_CHECK_INSTANCE_CAST(obj, GST_TYPE_ALSA_SINK, GstAlsaSink))
#define GST_ALSA_SINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST(klass, GST_TYPE_ALSA_SINK, GstAlsaSinkClass)) #define GST_ALSA_SINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST(klass, GST_TYPE_ALSA_SINK, GstAlsaSinkClass))
#define GST_IS_ALSA_SINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE(obj, GST_TYPE_ALSA_SINK)) #define GST_IS_ALSA_SINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE(obj, GST_TYPE_ALSA_SINK))
#define GST_IS_ALSA_SINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE(klass, GST_TYPE_ALSA_SINK)) #define GST_IS_ALSA_SINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE(klass, GST_TYPE_ALSA_SINK))
#define GST_TYPE_ALSA_SINK (gst_alsa_sink_get_type()) #define GST_TYPE_ALSA_SINK (gst_alsa_sink_get_type())
typedef struct _GstAlsaSink GstAlsaSink; typedef struct _GstAlsaSink GstAlsaSink;
typedef struct _GstAlsaSinkClass GstAlsaSinkClass; typedef struct _GstAlsaSinkClass GstAlsaSinkClass;
struct _GstAlsaSink struct _GstAlsaSink {
{
GstAlsa parent; GstAlsa parent;
/* array of the data on the channels */ /* array of the data on the channels */
@ -45,14 +46,14 @@ struct _GstAlsaSink
1 = data should be freed, use buffer after that */ 1 = data should be freed, use buffer after that */
}; };
struct _GstAlsaSinkClass struct _GstAlsaSinkClass {
{
GstAlsaClass parent_class; GstAlsaClass parent_class;
}; };
GType gst_alsa_sink_get_type (void); GType gst_alsa_sink_get_type (void);
gboolean gst_alsa_sink_factory_init (GstPlugin * plugin); gboolean gst_alsa_sink_factory_init (GstPlugin *plugin);
G_END_DECLS G_END_DECLS
#endif /* __GST_ALSA_SINK_H__ */ #endif /* __GST_ALSA_SINK_H__ */

View file

@ -25,28 +25,29 @@
#include "gstalsa.h" #include "gstalsa.h"
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_ALSA_SRC(obj) (G_TYPE_CHECK_INSTANCE_CAST(obj, GST_TYPE_ALSA_SRC, GstAlsaSrc)) #define GST_ALSA_SRC(obj) (G_TYPE_CHECK_INSTANCE_CAST(obj, GST_TYPE_ALSA_SRC, GstAlsaSrc))
#define GST_ALSA_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST(klass, GST_TYPE_ALSA_SRC, GstAlsaSrcClass)) #define GST_ALSA_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST(klass, GST_TYPE_ALSA_SRC, GstAlsaSrcClass))
#define GST_IS_ALSA_SRC(obj) (G_TYPE_CHECK_INSTANCE_TYPE(obj, GST_TYPE_ALSA_SRC)) #define GST_IS_ALSA_SRC(obj) (G_TYPE_CHECK_INSTANCE_TYPE(obj, GST_TYPE_ALSA_SRC))
#define GST_IS_ALSA_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE(klass, GST_TYPE_ALSA_SRC)) #define GST_IS_ALSA_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE(klass, GST_TYPE_ALSA_SRC))
#define GST_TYPE_ALSA_SRC (gst_alsa_src_get_type()) #define GST_TYPE_ALSA_SRC (gst_alsa_src_get_type())
typedef struct _GstAlsaSrc GstAlsaSrc; typedef struct _GstAlsaSrc GstAlsaSrc;
typedef struct _GstAlsaSrcClass GstAlsaSrcClass; typedef struct _GstAlsaSrcClass GstAlsaSrcClass;
struct _GstAlsaSrc struct _GstAlsaSrc {
{
GstAlsa parent; GstAlsa parent;
GstBuffer *buf[GST_ALSA_MAX_TRACKS]; GstBuffer *buf[GST_ALSA_MAX_TRACKS];
}; };
struct _GstAlsaSrcClass struct _GstAlsaSrcClass {
{
GstAlsaClass parent_class; GstAlsaClass parent_class;
}; };
GType gst_alsa_src_get_type (void); GType gst_alsa_src_get_type (void);
gboolean gst_alsa_src_factory_init (GstPlugin * plugin); gboolean gst_alsa_src_factory_init (GstPlugin *plugin);
G_END_DECLS G_END_DECLS
#endif /* __GST_ALSA_SRC_H__ */ #endif /* __GST_ALSA_SRC_H__ */

View file

@ -26,19 +26,18 @@
#include <gst/gst.h> #include <gst/gst.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C" {
{
#endif /* __cplusplus */ #endif /* __cplusplus */
#define size16 gint16 #define size16 gint16
#define size32 gint32 #define size32 gint32
#ifdef CDPARANOIA_HEADERS_IN_DIR #ifdef CDPARANOIA_HEADERS_IN_DIR
#include <cdda/cdda_interface.h> #include <cdda/cdda_interface.h>
#include <cdda/cdda_paranoia.h> #include <cdda/cdda_paranoia.h>
#else #else
#include <cdda_interface.h> #include <cdda_interface.h>
#include <cdda_paranoia.h> #include <cdda_paranoia.h>
#endif #endif
@ -58,18 +57,16 @@ extern "C"
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_CDPARANOIA)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_CDPARANOIA))
/* NOTE: per-element flags start with 16 for now */ /* NOTE: per-element flags start with 16 for now */
typedef enum typedef enum {
{
CDPARANOIA_OPEN = GST_ELEMENT_FLAG_LAST, CDPARANOIA_OPEN = GST_ELEMENT_FLAG_LAST,
CDPARANOIA_FLAG_LAST = GST_ELEMENT_FLAG_LAST + 2, CDPARANOIA_FLAG_LAST = GST_ELEMENT_FLAG_LAST+2,
} CDParanoiaFlags; } CDParanoiaFlags;
typedef struct _CDParanoia CDParanoia; typedef struct _CDParanoia CDParanoia;
typedef struct _CDParanoiaClass CDParanoiaClass; typedef struct _CDParanoiaClass CDParanoiaClass;
struct _CDParanoia struct _CDParanoia {
{
GstElement element; GstElement element;
/* pads */ /* pads */
GstPad *srcpad; GstPad *srcpad;
@ -107,19 +104,18 @@ extern "C"
gint seq; gint seq;
gboolean discont_pending; gboolean discont_pending;
}; };
struct _CDParanoiaClass struct _CDParanoiaClass {
{
GstElementClass parent_class; GstElementClass parent_class;
/* signal callbacks */ /* signal callbacks */
void (*smilie_change) (CDParanoia * cdparanoia, gchar * smilie); void (*smilie_change) (CDParanoia *cdparanoia, gchar *smilie);
void (*transport_error) (CDParanoia * cdparanoia, gint offset); void (*transport_error) (CDParanoia *cdparanoia, gint offset);
void (*uncorrected_error) (CDParanoia * cdparanoia, gint offset); void (*uncorrected_error) (CDParanoia *cdparanoia, gint offset);
}; };
GType cdparanoia_get_type (void); GType cdparanoia_get_type(void);
#ifdef __cplusplus #ifdef __cplusplus
} }

View file

@ -23,9 +23,13 @@
#include <glib-object.h> #include <glib-object.h>
G_BEGIN_DECLS GType gst_gnomevfssink_get_type (void); G_BEGIN_DECLS
GType gst_gnomevfssink_get_type (void);
GType gst_gnomevfssrc_get_type (void); GType gst_gnomevfssrc_get_type (void);
G_END_DECLS G_END_DECLS
#endif /* __GST_GNOME_VFS_H__ */ #endif /* __GST_GNOME_VFS_H__ */

View file

@ -6,6 +6,7 @@
#include <pango/pangoft2.h> #include <pango/pangoft2.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_TEXTOVERLAY (gst_textoverlay_get_type()) #define GST_TYPE_TEXTOVERLAY (gst_textoverlay_get_type())
#define GST_TEXTOVERLAY(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),\ #define GST_TEXTOVERLAY(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),\
GST_TYPE_TEXTOVERLAY, GstTextOverlay)) GST_TYPE_TEXTOVERLAY, GstTextOverlay))
@ -17,29 +18,27 @@ G_BEGIN_DECLS
GST_TYPE_TEXTOVERLAY)) GST_TYPE_TEXTOVERLAY))
#define GST_IS_TEXTOVERLAY_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),\ #define GST_IS_TEXTOVERLAY_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),\
GST_TYPE_TEXTOVERLAY)) GST_TYPE_TEXTOVERLAY))
typedef struct _GstTextOverlay GstTextOverlay; typedef struct _GstTextOverlay GstTextOverlay;
typedef struct _GstTextOverlayClass GstTextOverlayClass; typedef struct _GstTextOverlayClass GstTextOverlayClass;
typedef enum _GstTextOverlayVAlign GstTextOverlayVAlign; typedef enum _GstTextOverlayVAlign GstTextOverlayVAlign;
typedef enum _GstTextOverlayHAlign GstTextOverlayHAlign; typedef enum _GstTextOverlayHAlign GstTextOverlayHAlign;
enum _GstTextOverlayVAlign enum _GstTextOverlayVAlign {
{
GST_TEXT_OVERLAY_VALIGN_BASELINE, GST_TEXT_OVERLAY_VALIGN_BASELINE,
GST_TEXT_OVERLAY_VALIGN_BOTTOM, GST_TEXT_OVERLAY_VALIGN_BOTTOM,
GST_TEXT_OVERLAY_VALIGN_TOP, GST_TEXT_OVERLAY_VALIGN_TOP,
}; };
enum _GstTextOverlayHAlign enum _GstTextOverlayHAlign {
{
GST_TEXT_OVERLAY_HALIGN_LEFT, GST_TEXT_OVERLAY_HALIGN_LEFT,
GST_TEXT_OVERLAY_HALIGN_CENTER, GST_TEXT_OVERLAY_HALIGN_CENTER,
GST_TEXT_OVERLAY_HALIGN_RIGHT, GST_TEXT_OVERLAY_HALIGN_RIGHT,
}; };
struct _GstTextOverlay struct _GstTextOverlay {
{
GstElement element; GstElement element;
GstPad *video_sinkpad; GstPad *video_sinkpad;
@ -61,16 +60,14 @@ struct _GstTextOverlay
gboolean need_render; gboolean need_render;
}; };
struct _GstTextOverlayClass struct _GstTextOverlayClass {
{
GstElementClass parent_class; GstElementClass parent_class;
PangoContext *pango_context; PangoContext *pango_context;
}; };
GType GType gst_textoverlay_get_type(void) G_GNUC_CONST;
gst_textoverlay_get_type (void)
G_GNUC_CONST;
G_END_DECLS G_END_DECLS
#endif /* __GST_TEXTOVERLAY_H */ #endif /* __GST_TEXTOVERLAY_H */

View file

@ -29,6 +29,7 @@
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_TIMEOVERLAY \ #define GST_TYPE_TIMEOVERLAY \
(gst_timeoverlay_get_type()) (gst_timeoverlay_get_type())
#define GST_TIMEOVERLAY(obj) \ #define GST_TIMEOVERLAY(obj) \
@ -39,11 +40,11 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_TIMEOVERLAY)) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_TIMEOVERLAY))
#define GST_IS_TIMEOVERLAY_CLASS(obj) \ #define GST_IS_TIMEOVERLAY_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_TIMEOVERLAY)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_TIMEOVERLAY))
typedef struct _GstTimeoverlay GstTimeoverlay; typedef struct _GstTimeoverlay GstTimeoverlay;
typedef struct _GstTimeoverlayClass GstTimeoverlayClass; typedef struct _GstTimeoverlayClass GstTimeoverlayClass;
struct _GstTimeoverlay struct _GstTimeoverlay {
{
GstVideofilter videofilter; GstVideofilter videofilter;
PangoFontDescription *font_description; PangoFontDescription *font_description;
@ -51,12 +52,13 @@ struct _GstTimeoverlay
}; };
struct _GstTimeoverlayClass struct _GstTimeoverlayClass {
{
GstVideofilterClass parent_class; GstVideofilterClass parent_class;
}; };
GType gst_timeoverlay_get_type (void); GType gst_timeoverlay_get_type(void);
G_END_DECLS G_END_DECLS
#endif /* __GST_TIMEOVERLAY_H__ */ #endif /* __GST_TIMEOVERLAY_H__ */

View file

@ -27,8 +27,7 @@
#include <vorbis/codec.h> #include <vorbis/codec.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C" {
{
#endif /* __cplusplus */ #endif /* __cplusplus */
@ -43,15 +42,14 @@ extern "C"
#define GST_IS_VORBIS_DEC_CLASS(obj) \ #define GST_IS_VORBIS_DEC_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VORBIS_DEC)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VORBIS_DEC))
typedef struct _GstVorbisDec GstVorbisDec; typedef struct _GstVorbisDec GstVorbisDec;
typedef struct _GstVorbisDecClass GstVorbisDecClass; typedef struct _GstVorbisDecClass GstVorbisDecClass;
struct _GstVorbisDec struct _GstVorbisDec {
{
GstElement element; GstElement element;
GstPad *sinkpad; GstPad * sinkpad;
GstPad *srcpad; GstPad * srcpad;
vorbis_dsp_state vd; vorbis_dsp_state vd;
vorbis_info vi; vorbis_info vi;
@ -59,14 +57,13 @@ extern "C"
vorbis_block vb; vorbis_block vb;
guint packetno; guint packetno;
guint64 granulepos; guint64 granulepos;
}; };
struct _GstVorbisDecClass struct _GstVorbisDecClass {
{
GstElementClass parent_class; GstElementClass parent_class;
}; };
GType gst_vorbis_dec_get_type (void); GType gst_vorbis_dec_get_type(void);
#ifdef __cplusplus #ifdef __cplusplus
} }

View file

@ -27,8 +27,7 @@
#include <vorbis/codec.h> #include <vorbis/codec.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C" {
{
#endif /* __cplusplus */ #endif /* __cplusplus */
#define GST_TYPE_VORBISENC \ #define GST_TYPE_VORBISENC \
@ -42,14 +41,14 @@ extern "C"
#define GST_IS_VORBISENC_CLASS(obj) \ #define GST_IS_VORBISENC_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VORBISENC)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VORBISENC))
typedef struct _VorbisEnc VorbisEnc; typedef struct _VorbisEnc VorbisEnc;
typedef struct _VorbisEncClass VorbisEncClass; typedef struct _VorbisEncClass VorbisEncClass;
struct _VorbisEnc struct _VorbisEnc {
{
GstElement element; GstElement element;
GstPad *sinkpad, *srcpad; GstPad *sinkpad,
*srcpad;
ogg_stream_state os; /* take physical pages, weld into a logical ogg_stream_state os; /* take physical pages, weld into a logical
stream of packets */ stream of packets */
@ -79,19 +78,18 @@ extern "C"
guint64 samples_in; guint64 samples_in;
guint64 bytes_out; guint64 bytes_out;
GstTagList *tags; GstTagList * tags;
gboolean setup; gboolean setup;
gboolean header_sent; gboolean header_sent;
gchar *last_message; gchar *last_message;
}; };
struct _VorbisEncClass struct _VorbisEncClass {
{
GstElementClass parent_class; GstElementClass parent_class;
}; };
GType vorbisenc_get_type (void); GType vorbisenc_get_type(void);
#ifdef __cplusplus #ifdef __cplusplus

View file

@ -26,6 +26,7 @@
#define __GST_AUDIO_AUDIO_H__ #define __GST_AUDIO_AUDIO_H__
G_BEGIN_DECLS G_BEGIN_DECLS
/* For people that are looking at this source: the purpose of these defines is /* For people that are looking at this source: the purpose of these defines is
* to make GstCaps a bit easier, in that you don't have to know all of the * to make GstCaps a bit easier, in that you don't have to know all of the
* properties that need to be defined. you can just use these macros. currently * properties that need to be defined. you can just use these macros. currently
@ -49,7 +50,9 @@ G_BEGIN_DECLS
* *
* Andy Wingo, 18 August 2001 * Andy Wingo, 18 August 2001
* Thomas, 6 September 2002 */ * Thomas, 6 September 2002 */
#define GST_AUDIO_DEF_RATE 44100 #define GST_AUDIO_DEF_RATE 44100
#define GST_AUDIO_INT_PAD_TEMPLATE_CAPS \ #define GST_AUDIO_INT_PAD_TEMPLATE_CAPS \
"audio/x-raw-int, " \ "audio/x-raw-int, " \
"rate = (int) [ 1, MAX ], " \ "rate = (int) [ 1, MAX ], " \
@ -58,6 +61,8 @@ G_BEGIN_DECLS
"width = (int) { 8, 16, 32 }, " \ "width = (int) { 8, 16, 32 }, " \
"depth = (int) [ 1, 32 ], " \ "depth = (int) [ 1, 32 ], " \
"signed = (boolean) { true, false }" "signed = (boolean) { true, false }"
/* "standard" int audio is native order, 16 bit stereo. */ /* "standard" int audio is native order, 16 bit stereo. */
#define GST_AUDIO_INT_STANDARD_PAD_TEMPLATE_CAPS \ #define GST_AUDIO_INT_STANDARD_PAD_TEMPLATE_CAPS \
"audio/x-raw-int, " \ "audio/x-raw-int, " \
@ -67,6 +72,7 @@ G_BEGIN_DECLS
"width = (int) 16, " \ "width = (int) 16, " \
"depth = (int) 16, " \ "depth = (int) 16, " \
"signed = (boolean) true" "signed = (boolean) true"
#define GST_AUDIO_FLOAT_PAD_TEMPLATE_CAPS \ #define GST_AUDIO_FLOAT_PAD_TEMPLATE_CAPS \
"audio/x-raw-float, " \ "audio/x-raw-float, " \
"rate = (int) [ 1, MAX ], " \ "rate = (int) [ 1, MAX ], " \
@ -74,6 +80,7 @@ G_BEGIN_DECLS
"endianness = (int) { LITTLE_ENDIAN , BIG_ENDIAN }, " \ "endianness = (int) { LITTLE_ENDIAN , BIG_ENDIAN }, " \
"width = (int) { 32, 64 }, " \ "width = (int) { 32, 64 }, " \
"buffer-frames = (int) [ 1, MAX]" "buffer-frames = (int) [ 1, MAX]"
/* "standard" float audio is native order, 32 bit mono. */ /* "standard" float audio is native order, 32 bit mono. */
#define GST_AUDIO_FLOAT_STANDARD_PAD_TEMPLATE_CAPS \ #define GST_AUDIO_FLOAT_STANDARD_PAD_TEMPLATE_CAPS \
"audio/x-raw-float, " \ "audio/x-raw-float, " \
@ -81,31 +88,32 @@ G_BEGIN_DECLS
"channels = (int) 1, " \ "channels = (int) 1, " \
"endianness = (int) BYTE_ORDER, " \ "endianness = (int) BYTE_ORDER, " \
"buffer-frames = (int) [ 1, MAX]" "buffer-frames = (int) [ 1, MAX]"
/* /*
* this library defines and implements some helper functions for audio * this library defines and implements some helper functions for audio
* handling * handling
*/ */
/* get byte size of audio frame (based on caps of pad */ /* get byte size of audio frame (based on caps of pad */
int gst_audio_frame_byte_size (GstPad * pad); int gst_audio_frame_byte_size (GstPad* pad);
/* get length in frames of buffer */ /* get length in frames of buffer */
long gst_audio_frame_length (GstPad * pad, GstBuffer * buf); long gst_audio_frame_length (GstPad* pad, GstBuffer* buf);
/* get frame rate based on caps */ /* get frame rate based on caps */
long gst_audio_frame_rate (GstPad * pad); long gst_audio_frame_rate (GstPad *pad);
/* calculate length in seconds of audio buffer buf based on caps of pad */ /* calculate length in seconds of audio buffer buf based on caps of pad */
double gst_audio_length (GstPad * pad, GstBuffer * buf); double gst_audio_length (GstPad* pad, GstBuffer* buf);
/* calculate highest possible sample value based on capabilities of pad */ /* calculate highest possible sample value based on capabilities of pad */
long gst_audio_highest_sample_value (GstPad * pad); long gst_audio_highest_sample_value (GstPad* pad);
/* check if the buffer size is a whole multiple of the frame size */ /* check if the buffer size is a whole multiple of the frame size */
gboolean gst_audio_is_buffer_framed (GstPad * pad, GstBuffer * buf); gboolean gst_audio_is_buffer_framed (GstPad* pad, GstBuffer* buf);
/* functions useful for _getcaps functions */ /* functions useful for _getcaps functions */
typedef enum typedef enum {
{
GST_AUDIO_FIELD_RATE = (1 << 0), GST_AUDIO_FIELD_RATE = (1 << 0),
GST_AUDIO_FIELD_CHANNELS = (1 << 1), GST_AUDIO_FIELD_CHANNELS = (1 << 1),
GST_AUDIO_FIELD_ENDIANNESS = (1 << 2), GST_AUDIO_FIELD_ENDIANNESS = (1 << 2),
@ -115,8 +123,8 @@ typedef enum
GST_AUDIO_FIELD_BUFFER_FRAMES = (1 << 6) GST_AUDIO_FIELD_BUFFER_FRAMES = (1 << 6)
} GstAudioFieldFlag; } GstAudioFieldFlag;
void gst_audio_structure_set_int (GstStructure * structure, void gst_audio_structure_set_int (GstStructure *structure, GstAudioFieldFlag flag);
GstAudioFieldFlag flag);
G_END_DECLS G_END_DECLS
#endif /* __GST_AUDIO_AUDIO_H__ */ #endif /* __GST_AUDIO_AUDIO_H__ */

View file

@ -27,6 +27,7 @@
#include <gst/gstsystemclock.h> #include <gst/gstsystemclock.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_AUDIO_CLOCK \ #define GST_TYPE_AUDIO_CLOCK \
(gst_audio_clock_get_type()) (gst_audio_clock_get_type())
#define GST_AUDIO_CLOCK(obj) \ #define GST_AUDIO_CLOCK(obj) \
@ -37,15 +38,14 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIO_CLOCK)) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIO_CLOCK))
#define GST_IS_AUDIO_CLOCK_CLASS(obj) \ #define GST_IS_AUDIO_CLOCK_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIO_CLOCK)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIO_CLOCK))
typedef struct _GstAudioClock GstAudioClock; typedef struct _GstAudioClock GstAudioClock;
typedef struct _GstAudioClockClass GstAudioClockClass; typedef struct _GstAudioClockClass GstAudioClockClass;
typedef GstClockTime (*GstAudioClockGetTimeFunc) (GstClock * clock, typedef GstClockTime (*GstAudioClockGetTimeFunc) (GstClock *clock, gpointer user_data);
gpointer user_data);
struct _GstAudioClock struct _GstAudioClock {
{
GstSystemClock clock; GstSystemClock clock;
GstClockTime prev1, prev2; GstClockTime prev1, prev2;
@ -63,19 +63,19 @@ struct _GstAudioClock
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
struct _GstAudioClockClass struct _GstAudioClockClass {
{
GstSystemClockClass parent_class; GstSystemClockClass parent_class;
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
GType gst_audio_clock_get_type (void); GType gst_audio_clock_get_type (void);
GstClock *gst_audio_clock_new (gchar * name, GstAudioClockGetTimeFunc func, GstClock* gst_audio_clock_new (gchar *name, GstAudioClockGetTimeFunc func,
gpointer user_data); gpointer user_data);
void gst_audio_clock_set_active (GstAudioClock * aclock, gboolean active); void gst_audio_clock_set_active (GstAudioClock *aclock, gboolean active);
void gst_audio_clock_update_time (GstAudioClock * aclock, GstClockTime time); void gst_audio_clock_update_time (GstAudioClock *aclock, GstClockTime time);
G_END_DECLS G_END_DECLS
#endif /* __GST_AUDIO_CLOCK_H__ */ #endif /* __GST_AUDIO_CLOCK_H__ */

View file

@ -25,15 +25,17 @@
#include <gst/gst.h> #include <gst/gst.h>
G_BEGIN_DECLS typedef struct _GstAudiofilter GstAudiofilter; G_BEGIN_DECLS
typedef struct _GstAudiofilter GstAudiofilter;
typedef struct _GstAudiofilterClass GstAudiofilterClass; typedef struct _GstAudiofilterClass GstAudiofilterClass;
typedef void (*GstAudiofilterFilterFunc) (GstAudiofilter * filter, typedef void (*GstAudiofilterFilterFunc)(GstAudiofilter *filter,
GstBuffer * outbuf, GstBuffer * inbuf); GstBuffer *outbuf, GstBuffer *inbuf);
typedef void (*GstAudiofilterInplaceFilterFunc) (GstAudiofilter * filter, typedef void (*GstAudiofilterInplaceFilterFunc)(GstAudiofilter *filter,
GstBuffer * buffer); GstBuffer *buffer);
typedef void (*GstAudiofilterSetupFunc) (GstAudiofilter * filter); typedef void (*GstAudiofilterSetupFunc) (GstAudiofilter *filter);
#define GST_TYPE_AUDIOFILTER \ #define GST_TYPE_AUDIOFILTER \
@ -47,11 +49,10 @@ typedef void (*GstAudiofilterSetupFunc) (GstAudiofilter * filter);
#define GST_IS_AUDIOFILTER_CLASS(obj) \ #define GST_IS_AUDIOFILTER_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIOFILTER)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIOFILTER))
struct _GstAudiofilter struct _GstAudiofilter {
{
GstElement element; GstElement element;
GstPad *sinkpad, *srcpad; GstPad *sinkpad,*srcpad;
/* audio state */ /* audio state */
gboolean inited; gboolean inited;
@ -67,8 +68,7 @@ struct _GstAudiofilter
int bytes_per_sample; int bytes_per_sample;
}; };
struct _GstAudiofilterClass struct _GstAudiofilterClass {
{
GstElementClass parent_class; GstElementClass parent_class;
GstCaps *caps; GstCaps *caps;
@ -77,10 +77,11 @@ struct _GstAudiofilterClass
GstAudiofilterFilterFunc filter; GstAudiofilterFilterFunc filter;
}; };
GType gst_audiofilter_get_type (void); GType gst_audiofilter_get_type(void);
void gst_audiofilter_class_add_pad_templates (GstAudiofilterClass * void gst_audiofilter_class_add_pad_templates (GstAudiofilterClass *audiofilterclass, const GstCaps *caps);
audiofilterclass, const GstCaps * caps);
G_END_DECLS G_END_DECLS
#endif /* __GST_AUDIOFILTER_H__ */ #endif /* __GST_AUDIOFILTER_H__ */

View file

@ -27,6 +27,7 @@
#include <gst/colorbalance/colorbalance-enumtypes.h> #include <gst/colorbalance/colorbalance-enumtypes.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_COLOR_BALANCE \ #define GST_TYPE_COLOR_BALANCE \
(gst_color_balance_get_type ()) (gst_color_balance_get_type ())
#define GST_COLOR_BALANCE(obj) \ #define GST_COLOR_BALANCE(obj) \
@ -41,7 +42,9 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_COLOR_BALANCE)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_COLOR_BALANCE))
#define GST_COLOR_BALANCE_GET_CLASS(inst) \ #define GST_COLOR_BALANCE_GET_CLASS(inst) \
(G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_COLOR_BALANCE, GstColorBalanceClass)) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_COLOR_BALANCE, GstColorBalanceClass))
#define GST_COLOR_BALANCE_TYPE(klass) (klass->balance_type) #define GST_COLOR_BALANCE_TYPE(klass) (klass->balance_type)
typedef struct _GstColorBalance GstColorBalance; typedef struct _GstColorBalance GstColorBalance;
typedef enum typedef enum
@ -50,23 +53,24 @@ typedef enum
GST_COLOR_BALANCE_SOFTWARE GST_COLOR_BALANCE_SOFTWARE
} GstColorBalanceType; } GstColorBalanceType;
typedef struct _GstColorBalanceClass typedef struct _GstColorBalanceClass {
{
GTypeInterface klass; GTypeInterface klass;
GstColorBalanceType balance_type; GstColorBalanceType balance_type;
/* virtual functions */ /* virtual functions */
const GList *(*list_channels) (GstColorBalance * balance); const GList * (* list_channels) (GstColorBalance *balance);
void (*set_value) (GstColorBalance * balance, void (* set_value) (GstColorBalance *balance,
GstColorBalanceChannel * channel, gint value); GstColorBalanceChannel *channel,
gint (*get_value) (GstColorBalance * balance, gint value);
GstColorBalanceChannel * channel); gint (* get_value) (GstColorBalance *balance,
GstColorBalanceChannel *channel);
/* signals */ /* signals */
void (*value_changed) (GstColorBalance * balance, void (* value_changed) (GstColorBalance *balance,
GstColorBalanceChannel * channel, gint value); GstColorBalanceChannel *channel,
gint value);
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
} GstColorBalanceClass; } GstColorBalanceClass;
@ -74,15 +78,19 @@ typedef struct _GstColorBalanceClass
GType gst_color_balance_get_type (void); GType gst_color_balance_get_type (void);
/* virtual class function wrappers */ /* virtual class function wrappers */
const GList *gst_color_balance_list_channels (GstColorBalance * balance); const GList *
void gst_color_balance_set_value (GstColorBalance * balance, gst_color_balance_list_channels (GstColorBalance *balance);
GstColorBalanceChannel * channel, gint value); void gst_color_balance_set_value (GstColorBalance *balance,
gint gst_color_balance_get_value (GstColorBalance * balance, GstColorBalanceChannel *channel,
GstColorBalanceChannel * channel); gint value);
gint gst_color_balance_get_value (GstColorBalance *balance,
GstColorBalanceChannel *channel);
/* trigger signal */ /* trigger signal */
void gst_color_balance_value_changed (GstColorBalance * balance, void gst_color_balance_value_changed (GstColorBalance *balance,
GstColorBalanceChannel * channel, gint value); GstColorBalanceChannel *channel,
gint value);
G_END_DECLS G_END_DECLS
#endif /* __GST_COLOR_BALANCE_H__ */ #endif /* __GST_COLOR_BALANCE_H__ */

View file

@ -25,6 +25,7 @@
#include <gst/gst.h> #include <gst/gst.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_COLOR_BALANCE_CHANNEL \ #define GST_TYPE_COLOR_BALANCE_CHANNEL \
(gst_color_balance_channel_get_type ()) (gst_color_balance_channel_get_type ())
#define GST_COLOR_BALANCE_CHANNEL(obj) \ #define GST_COLOR_BALANCE_CHANNEL(obj) \
@ -37,20 +38,21 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_COLOR_BALANCE_CHANNEL)) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_COLOR_BALANCE_CHANNEL))
#define GST_IS_COLOR_BALANCE_CHANNEL_CLASS(klass) \ #define GST_IS_COLOR_BALANCE_CHANNEL_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_COLOR_BALANCE_CHANNEL)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_COLOR_BALANCE_CHANNEL))
typedef struct _GstColorBalanceChannel
{ typedef struct _GstColorBalanceChannel {
GObject parent; GObject parent;
gchar *label; gchar *label;
gint min_value, max_value; gint min_value,
max_value;
} GstColorBalanceChannel; } GstColorBalanceChannel;
typedef struct _GstColorBalanceChannelClass typedef struct _GstColorBalanceChannelClass {
{
GObjectClass parent; GObjectClass parent;
/* signals */ /* signals */
void (*value_changed) (GstColorBalanceChannel * channel, gint value); void (* value_changed) (GstColorBalanceChannel *channel,
gint value);
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
} GstColorBalanceChannelClass; } GstColorBalanceChannelClass;
@ -58,4 +60,5 @@ typedef struct _GstColorBalanceChannelClass
GType gst_color_balance_channel_get_type (void); GType gst_color_balance_channel_get_type (void);
G_END_DECLS G_END_DECLS
#endif /* __GST_COLOR_BALANCE_CHANNEL_H__ */ #endif /* __GST_COLOR_BALANCE_CHANNEL_H__ */

View file

@ -29,46 +29,53 @@
#include <glib/gtypes.h> #include <glib/gtypes.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#if (HAVE_LRINT && HAVE_LRINTF) #if (HAVE_LRINT && HAVE_LRINTF)
/* These defines enable functionality introduced with the 1999 ISO C /* These defines enable functionality introduced with the 1999 ISO C
** standard. They must be defined before the inclusion of math.h to ** standard. They must be defined before the inclusion of math.h to
** engage them. If optimisation is enabled, these functions will be ** engage them. If optimisation is enabled, these functions will be
** inlined. With optimisation switched off, you have to link in the ** inlined. With optimisation switched off, you have to link in the
** maths library using -lm. ** maths library using -lm.
*/ */
#define _ISOC9X_SOURCE 1
#define _ISOC99_SOURCE 1 #define _ISOC9X_SOURCE 1
#define __USE_ISOC9X 1 #define _ISOC99_SOURCE 1
#define __USE_ISOC99 1
#include <math.h> #define __USE_ISOC9X 1
#define gst_cast_float(x) ((gint)lrintf(x)) #define __USE_ISOC99 1
#define gst_cast_double(x) ((gint)lrint(x))
#include <math.h>
#define gst_cast_float(x) ((gint)lrintf(x))
#define gst_cast_double(x) ((gint)lrint(x))
#else #else
/* use a standard c cast, but do rounding correctly */ /* use a standard c cast, but do rounding correctly */
#define gst_cast_float(x) ((gint)floor((x)+0.5)) #define gst_cast_float(x) ((gint)floor((x)+0.5))
#define gst_cast_double(x) ((gint)floor((x)+0.5)) #define gst_cast_double(x) ((gint)floor((x)+0.5))
#endif #endif
inline static gfloat inline static gfloat
GFLOAT_SWAP_LE_BE (gfloat in) GFLOAT_SWAP_LE_BE(gfloat in)
{ {
gint32 swap; gint32 swap;
gfloat out; gfloat out;
memcpy(&swap, &in, 4);
memcpy (&swap, &in, 4);
swap = GUINT32_SWAP_LE_BE_CONSTANT (swap); swap = GUINT32_SWAP_LE_BE_CONSTANT (swap);
memcpy (&out, &swap, 4); memcpy(&out, &swap, 4);
return out; return out;
} }
inline static gdouble inline static gdouble
GDOUBLE_SWAP_LE_BE (gdouble in) GDOUBLE_SWAP_LE_BE(gdouble in)
{ {
gint64 swap; gint64 swap;
gdouble out; gdouble out;
memcpy(&swap, &in, 8);
memcpy (&swap, &in, 8);
swap = GUINT64_SWAP_LE_BE_CONSTANT (swap); swap = GUINT64_SWAP_LE_BE_CONSTANT (swap);
memcpy (&out, &swap, 8); memcpy(&out, &swap, 8);
return out; return out;
} }
@ -94,4 +101,6 @@ GDOUBLE_SWAP_LE_BE (gdouble in)
#define GDOUBLE_FROM_BE(val) (GDOUBLE_TO_BE (val)) #define GDOUBLE_FROM_BE(val) (GDOUBLE_TO_BE (val))
G_END_DECLS G_END_DECLS
#endif /* __FLOATCAST_H__ */ #endif /* __FLOATCAST_H__ */

View file

@ -27,16 +27,17 @@
#include <gst/gst.h> #include <gst/gst.h>
#include <gconf/gconf-client.h> #include <gconf/gconf-client.h>
gchar *gst_gconf_get_string (const gchar * key); gchar * gst_gconf_get_string (const gchar *key);
void gst_gconf_set_string (const gchar * key, const gchar * value); void gst_gconf_set_string (const gchar *key,
const gchar *value);
GstElement *gst_gconf_render_bin_from_key (const gchar * key); GstElement * gst_gconf_render_bin_from_key (const gchar *key);
GstElement *gst_gconf_render_bin_from_description (const gchar * description); GstElement * gst_gconf_render_bin_from_description (const gchar *description);
GstElement *gst_gconf_get_default_video_sink (void); GstElement * gst_gconf_get_default_video_sink (void);
GstElement *gst_gconf_get_default_audio_sink (void); GstElement * gst_gconf_get_default_audio_sink (void);
GstElement *gst_gconf_get_default_video_src (void); GstElement * gst_gconf_get_default_video_src (void);
GstElement *gst_gconf_get_default_audio_src (void); GstElement * gst_gconf_get_default_audio_src (void);
GstElement *gst_gconf_get_default_visualization_element (void); GstElement * gst_gconf_get_default_visualization_element (void);
#endif /* GST_GCONF_H */ #endif /* GST_GCONF_H */

View file

@ -16,7 +16,7 @@ typedef DCTELEM DCTBLOCK[DCTSIZE2];
typedef long INT32; /* must be at least 32 bits */ typedef long INT32; /* must be at least 32 bits */
extern void gst_idct_int_idct (); extern void gst_idct_int_idct();
extern void gst_idct_init_fast_int_idct (void); extern void gst_idct_init_fast_int_idct (void);
extern void gst_idct_fast_int_idct (short *block); extern void gst_idct_fast_int_idct (short *block);
@ -27,5 +27,6 @@ extern void gst_idct_mmx32_idct (short *block);
extern void gst_idct_sse_idct (short *block); extern void gst_idct_sse_idct (short *block);
#endif /* HAVE_LIBMMX */ #endif /* HAVE_LIBMMX */
extern void gst_idct_init_float_idct (void); extern void gst_idct_init_float_idct(void);
extern void gst_idct_float_idct (short *block); extern void gst_idct_float_idct (short *block);

View file

@ -23,8 +23,7 @@
#include <glib.h> #include <glib.h>
typedef enum typedef enum {
{
GST_IDCT_DEFAULT, GST_IDCT_DEFAULT,
GST_IDCT_INT, GST_IDCT_INT,
GST_IDCT_FAST_INT, GST_IDCT_FAST_INT,
@ -35,12 +34,11 @@ typedef enum
} GstIDCTMethod; } GstIDCTMethod;
typedef struct _GstIDCT GstIDCT; typedef struct _GstIDCT GstIDCT;
typedef void (*GstIDCTFunction) (gshort * block); typedef void (*GstIDCTFunction) (gshort *block);
#define GST_IDCT_TRANSPOSE(idct) ((idct)->need_transpose) #define GST_IDCT_TRANSPOSE(idct) ((idct)->need_transpose)
struct _GstIDCT struct _GstIDCT {
{
/* private */ /* private */
GstIDCTFunction convert; GstIDCTFunction convert;
GstIDCTFunction convert_sparse; GstIDCTFunction convert_sparse;
@ -48,10 +46,9 @@ struct _GstIDCT
}; };
GstIDCT *gst_idct_new (GstIDCTMethod method); GstIDCT *gst_idct_new(GstIDCTMethod method);
#define gst_idct_convert(idct, blocks) (idct)->convert((blocks)) #define gst_idct_convert(idct, blocks) (idct)->convert((blocks))
#define gst_idct_convert_sparse(idct, blocks) (idct)->convert_sparse((blocks)) #define gst_idct_convert_sparse(idct, blocks) (idct)->convert_sparse((blocks))
void gst_idct_destroy (GstIDCT * idct); void gst_idct_destroy(GstIDCT *idct);
#endif /* __GST_IDCT_H__ */ #endif /* __GST_IDCT_H__ */

View file

@ -27,6 +27,7 @@
#include <gst/colorbalance/colorbalance-enumtypes.h> #include <gst/colorbalance/colorbalance-enumtypes.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_COLOR_BALANCE \ #define GST_TYPE_COLOR_BALANCE \
(gst_color_balance_get_type ()) (gst_color_balance_get_type ())
#define GST_COLOR_BALANCE(obj) \ #define GST_COLOR_BALANCE(obj) \
@ -41,7 +42,9 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_COLOR_BALANCE)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_COLOR_BALANCE))
#define GST_COLOR_BALANCE_GET_CLASS(inst) \ #define GST_COLOR_BALANCE_GET_CLASS(inst) \
(G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_COLOR_BALANCE, GstColorBalanceClass)) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_COLOR_BALANCE, GstColorBalanceClass))
#define GST_COLOR_BALANCE_TYPE(klass) (klass->balance_type) #define GST_COLOR_BALANCE_TYPE(klass) (klass->balance_type)
typedef struct _GstColorBalance GstColorBalance; typedef struct _GstColorBalance GstColorBalance;
typedef enum typedef enum
@ -50,23 +53,24 @@ typedef enum
GST_COLOR_BALANCE_SOFTWARE GST_COLOR_BALANCE_SOFTWARE
} GstColorBalanceType; } GstColorBalanceType;
typedef struct _GstColorBalanceClass typedef struct _GstColorBalanceClass {
{
GTypeInterface klass; GTypeInterface klass;
GstColorBalanceType balance_type; GstColorBalanceType balance_type;
/* virtual functions */ /* virtual functions */
const GList *(*list_channels) (GstColorBalance * balance); const GList * (* list_channels) (GstColorBalance *balance);
void (*set_value) (GstColorBalance * balance, void (* set_value) (GstColorBalance *balance,
GstColorBalanceChannel * channel, gint value); GstColorBalanceChannel *channel,
gint (*get_value) (GstColorBalance * balance, gint value);
GstColorBalanceChannel * channel); gint (* get_value) (GstColorBalance *balance,
GstColorBalanceChannel *channel);
/* signals */ /* signals */
void (*value_changed) (GstColorBalance * balance, void (* value_changed) (GstColorBalance *balance,
GstColorBalanceChannel * channel, gint value); GstColorBalanceChannel *channel,
gint value);
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
} GstColorBalanceClass; } GstColorBalanceClass;
@ -74,15 +78,19 @@ typedef struct _GstColorBalanceClass
GType gst_color_balance_get_type (void); GType gst_color_balance_get_type (void);
/* virtual class function wrappers */ /* virtual class function wrappers */
const GList *gst_color_balance_list_channels (GstColorBalance * balance); const GList *
void gst_color_balance_set_value (GstColorBalance * balance, gst_color_balance_list_channels (GstColorBalance *balance);
GstColorBalanceChannel * channel, gint value); void gst_color_balance_set_value (GstColorBalance *balance,
gint gst_color_balance_get_value (GstColorBalance * balance, GstColorBalanceChannel *channel,
GstColorBalanceChannel * channel); gint value);
gint gst_color_balance_get_value (GstColorBalance *balance,
GstColorBalanceChannel *channel);
/* trigger signal */ /* trigger signal */
void gst_color_balance_value_changed (GstColorBalance * balance, void gst_color_balance_value_changed (GstColorBalance *balance,
GstColorBalanceChannel * channel, gint value); GstColorBalanceChannel *channel,
gint value);
G_END_DECLS G_END_DECLS
#endif /* __GST_COLOR_BALANCE_H__ */ #endif /* __GST_COLOR_BALANCE_H__ */

View file

@ -25,6 +25,7 @@
#include <gst/gst.h> #include <gst/gst.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_COLOR_BALANCE_CHANNEL \ #define GST_TYPE_COLOR_BALANCE_CHANNEL \
(gst_color_balance_channel_get_type ()) (gst_color_balance_channel_get_type ())
#define GST_COLOR_BALANCE_CHANNEL(obj) \ #define GST_COLOR_BALANCE_CHANNEL(obj) \
@ -37,20 +38,21 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_COLOR_BALANCE_CHANNEL)) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_COLOR_BALANCE_CHANNEL))
#define GST_IS_COLOR_BALANCE_CHANNEL_CLASS(klass) \ #define GST_IS_COLOR_BALANCE_CHANNEL_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_COLOR_BALANCE_CHANNEL)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_COLOR_BALANCE_CHANNEL))
typedef struct _GstColorBalanceChannel
{ typedef struct _GstColorBalanceChannel {
GObject parent; GObject parent;
gchar *label; gchar *label;
gint min_value, max_value; gint min_value,
max_value;
} GstColorBalanceChannel; } GstColorBalanceChannel;
typedef struct _GstColorBalanceChannelClass typedef struct _GstColorBalanceChannelClass {
{
GObjectClass parent; GObjectClass parent;
/* signals */ /* signals */
void (*value_changed) (GstColorBalanceChannel * channel, gint value); void (* value_changed) (GstColorBalanceChannel *channel,
gint value);
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
} GstColorBalanceChannelClass; } GstColorBalanceChannelClass;
@ -58,4 +60,5 @@ typedef struct _GstColorBalanceChannelClass
GType gst_color_balance_channel_get_type (void); GType gst_color_balance_channel_get_type (void);
G_END_DECLS G_END_DECLS
#endif /* __GST_COLOR_BALANCE_CHANNEL_H__ */ #endif /* __GST_COLOR_BALANCE_CHANNEL_H__ */

View file

@ -27,6 +27,7 @@
#include <gst/mixer/mixer-enumtypes.h> #include <gst/mixer/mixer-enumtypes.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_MIXER \ #define GST_TYPE_MIXER \
(gst_mixer_get_type ()) (gst_mixer_get_type ())
#define GST_MIXER(obj) \ #define GST_MIXER(obj) \
@ -39,7 +40,9 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_MIXER)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_MIXER))
#define GST_MIXER_GET_CLASS(inst) \ #define GST_MIXER_GET_CLASS(inst) \
(G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_MIXER, GstMixerClass)) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_MIXER, GstMixerClass))
#define GST_MIXER_TYPE(klass) (klass->mixer_type) #define GST_MIXER_TYPE(klass) (klass->mixer_type)
typedef struct _GstMixer GstMixer; typedef struct _GstMixer GstMixer;
typedef enum typedef enum
@ -48,28 +51,38 @@ typedef enum
GST_MIXER_SOFTWARE GST_MIXER_SOFTWARE
} GstMixerType; } GstMixerType;
typedef struct _GstMixerClass typedef struct _GstMixerClass {
{
GTypeInterface klass; GTypeInterface klass;
GstMixerType mixer_type; GstMixerType mixer_type;
/* virtual functions */ /* virtual functions */
const GList *(*list_tracks) (GstMixer * mixer); const GList * (* list_tracks) (GstMixer *mixer);
void (*set_volume) (GstMixer * mixer, GstMixerTrack * track, gint * volumes); void (* set_volume) (GstMixer *mixer,
void (*get_volume) (GstMixer * mixer, GstMixerTrack * track, gint * volumes); GstMixerTrack *track,
gint *volumes);
void (* get_volume) (GstMixer *mixer,
GstMixerTrack *track,
gint *volumes);
void (*set_mute) (GstMixer * mixer, GstMixerTrack * track, gboolean mute); void (* set_mute) (GstMixer *mixer,
void (*set_record) (GstMixer * mixer, GstMixerTrack * track, gboolean record); GstMixerTrack *track,
gboolean mute);
void (* set_record) (GstMixer *mixer,
GstMixerTrack *track,
gboolean record);
/* signals */ /* signals */
void (*mute_toggled) (GstMixer * mixer, void (* mute_toggled) (GstMixer *mixer,
GstMixerTrack * channel, gboolean mute); GstMixerTrack *channel,
void (*record_toggled) (GstMixer * mixer, gboolean mute);
GstMixerTrack * channel, gboolean record); void (* record_toggled) (GstMixer *mixer,
void (*volume_changed) (GstMixer * mixer, GstMixerTrack *channel,
GstMixerTrack * channel, gint * volumes); gboolean record);
void (* volume_changed) (GstMixer *mixer,
GstMixerTrack *channel,
gint *volumes);
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
} GstMixerClass; } GstMixerClass;
@ -77,23 +90,31 @@ typedef struct _GstMixerClass
GType gst_mixer_get_type (void); GType gst_mixer_get_type (void);
/* virtual class function wrappers */ /* virtual class function wrappers */
const GList *gst_mixer_list_tracks (GstMixer * mixer); const GList * gst_mixer_list_tracks (GstMixer *mixer);
void gst_mixer_set_volume (GstMixer * mixer, void gst_mixer_set_volume (GstMixer *mixer,
GstMixerTrack * track, gint * volumes); GstMixerTrack *track,
void gst_mixer_get_volume (GstMixer * mixer, gint *volumes);
GstMixerTrack * track, gint * volumes); void gst_mixer_get_volume (GstMixer *mixer,
void gst_mixer_set_mute (GstMixer * mixer, GstMixerTrack *track,
GstMixerTrack * track, gboolean mute); gint *volumes);
void gst_mixer_set_record (GstMixer * mixer, void gst_mixer_set_mute (GstMixer *mixer,
GstMixerTrack * track, gboolean record); GstMixerTrack *track,
gboolean mute);
void gst_mixer_set_record (GstMixer *mixer,
GstMixerTrack *track,
gboolean record);
/* trigger signals */ /* trigger signals */
void gst_mixer_mute_toggled (GstMixer * mixer, void gst_mixer_mute_toggled (GstMixer *mixer,
GstMixerTrack * track, gboolean mute); GstMixerTrack *track,
void gst_mixer_record_toggled (GstMixer * mixer, gboolean mute);
GstMixerTrack * track, gboolean record); void gst_mixer_record_toggled (GstMixer *mixer,
void gst_mixer_volume_changed (GstMixer * mixer, GstMixerTrack *track,
GstMixerTrack * track, gint * volumes); gboolean record);
void gst_mixer_volume_changed (GstMixer *mixer,
GstMixerTrack *track,
gint *volumes);
G_END_DECLS G_END_DECLS
#endif /* __GST_MIXER_H__ */ #endif /* __GST_MIXER_H__ */

View file

@ -25,6 +25,7 @@
#include <gst/gst.h> #include <gst/gst.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_MIXER_TRACK \ #define GST_TYPE_MIXER_TRACK \
(gst_mixer_track_get_type ()) (gst_mixer_track_get_type ())
#define GST_MIXER_TRACK(obj) \ #define GST_MIXER_TRACK(obj) \
@ -37,6 +38,7 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_MIXER_TRACK)) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_MIXER_TRACK))
#define GST_IS_MIXER_TRACK_CLASS(klass) \ #define GST_IS_MIXER_TRACK_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_MIXER_TRACK)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_MIXER_TRACK))
/* /*
* Naming: * Naming:
* *
@ -52,36 +54,39 @@ G_BEGIN_DECLS
* mixer, which means that setting this track will change * mixer, which means that setting this track will change
* the hearable volume on any output. * the hearable volume on any output.
*/ */
typedef enum
{ typedef enum {
GST_MIXER_TRACK_INPUT = (1 << 0), GST_MIXER_TRACK_INPUT = (1<<0),
GST_MIXER_TRACK_OUTPUT = (1 << 1), GST_MIXER_TRACK_OUTPUT = (1<<1),
GST_MIXER_TRACK_MUTE = (1 << 2), GST_MIXER_TRACK_MUTE = (1<<2),
GST_MIXER_TRACK_RECORD = (1 << 3), GST_MIXER_TRACK_RECORD = (1<<3),
GST_MIXER_TRACK_MASTER = (1 << 4), GST_MIXER_TRACK_MASTER = (1<<4),
GST_MIXER_TRACK_SOFTWARE = (1 << 5) GST_MIXER_TRACK_SOFTWARE = (1<<5)
} GstMixerTrackFlags; } GstMixerTrackFlags;
#define GST_MIXER_TRACK_HAS_FLAG(channel, flag) \ #define GST_MIXER_TRACK_HAS_FLAG(channel, flag) \
((channel)->flags & flag) ((channel)->flags & flag)
typedef struct _GstMixerTrack typedef struct _GstMixerTrack {
{
GObject parent; GObject parent;
gchar *label; gchar *label;
GstMixerTrackFlags flags; GstMixerTrackFlags flags;
gint num_channels, min_volume, max_volume; gint num_channels,
min_volume,
max_volume;
} GstMixerTrack; } GstMixerTrack;
typedef struct _GstMixerTrackClass typedef struct _GstMixerTrackClass {
{
GObjectClass parent; GObjectClass parent;
/* signals */ /* signals */
void (*mute_toggled) (GstMixerTrack * channel, gboolean mute); void (* mute_toggled) (GstMixerTrack *channel,
void (*record_toggled) (GstMixerTrack * channel, gboolean record); gboolean mute);
void (*volume_changed) (GstMixerTrack * channel, gint * volumes); void (* record_toggled) (GstMixerTrack *channel,
gboolean record);
void (* volume_changed) (GstMixerTrack *channel,
gint *volumes);
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
} GstMixerTrackClass; } GstMixerTrackClass;
@ -89,4 +94,5 @@ typedef struct _GstMixerTrackClass
GType gst_mixer_track_get_type (void); GType gst_mixer_track_get_type (void);
G_END_DECLS G_END_DECLS
#endif /* __GST_MIXER_TRACK_H__ */ #endif /* __GST_MIXER_TRACK_H__ */

View file

@ -26,6 +26,7 @@
#include <gst/gst.h> #include <gst/gst.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_NAVIGATION \ #define GST_TYPE_NAVIGATION \
(gst_navigation_get_type ()) (gst_navigation_get_type ())
#define GST_NAVIGATION(obj) \ #define GST_NAVIGATION(obj) \
@ -34,14 +35,14 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_NAVIGATION)) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_NAVIGATION))
#define GST_NAVIGATION_GET_IFACE(obj) \ #define GST_NAVIGATION_GET_IFACE(obj) \
(G_TYPE_INSTANCE_GET_INTERFACE ((obj), GST_TYPE_NAVIGATION, GstNavigationInterface)) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GST_TYPE_NAVIGATION, GstNavigationInterface))
typedef struct _GstNavigation GstNavigation; typedef struct _GstNavigation GstNavigation;
typedef struct _GstNavigationInterface typedef struct _GstNavigationInterface {
{
GTypeInterface g_iface; GTypeInterface g_iface;
/* virtual functions */ /* virtual functions */
void (*send_event) (GstNavigation * navigation, GstStructure * structure); void (*send_event) (GstNavigation *navigation, GstStructure *structure);
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
} GstNavigationInterface; } GstNavigationInterface;
@ -49,13 +50,13 @@ typedef struct _GstNavigationInterface
GType gst_navigation_get_type (void); GType gst_navigation_get_type (void);
/* virtual class function wrappers */ /* virtual class function wrappers */
void gst_navigation_send_event (GstNavigation * navigation, void gst_navigation_send_event (GstNavigation *navigation, GstStructure *structure);
GstStructure * structure);
void gst_navigation_send_key_event (GstNavigation * navigation, 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, 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 G_END_DECLS
#endif /* __GST_NAVIGATION_H__ */ #endif /* __GST_NAVIGATION_H__ */

View file

@ -25,6 +25,7 @@
#include <gst/gst.h> #include <gst/gst.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_PROPERTY_PROBE \ #define GST_TYPE_PROPERTY_PROBE \
(gst_property_probe_get_type ()) (gst_property_probe_get_type ())
#define GST_PROPERTY_PROBE(obj) \ #define GST_PROPERTY_PROBE(obj) \
@ -33,23 +34,27 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_PROPERTY_PROBE)) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_PROPERTY_PROBE))
#define GST_PROPERTY_PROBE_GET_IFACE(obj) \ #define GST_PROPERTY_PROBE_GET_IFACE(obj) \
(G_TYPE_INSTANCE_GET_INTERFACE ((obj), GST_TYPE_PROPERTY_PROBE, GstPropertyProbeInterface)) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GST_TYPE_PROPERTY_PROBE, GstPropertyProbeInterface))
typedef struct _GstPropertyProbe GstPropertyProbe; /* dummy typedef */ typedef struct _GstPropertyProbe GstPropertyProbe; /* dummy typedef */
typedef struct _GstPropertyProbeInterface typedef struct _GstPropertyProbeInterface {
{
GTypeInterface klass; GTypeInterface klass;
/* signals */ /* signals */
void (*probe_needed) (GstPropertyProbe * probe, const GParamSpec * pspec); void (*probe_needed) (GstPropertyProbe *probe,
const GParamSpec *pspec);
/* virtual functions */ /* virtual functions */
const GList *(*get_properties) (GstPropertyProbe * probe); const GList * (*get_properties) (GstPropertyProbe *probe);
gboolean (*needs_probe) (GstPropertyProbe * probe, gboolean (*needs_probe) (GstPropertyProbe *probe,
guint prop_id, const GParamSpec * pspec); guint prop_id,
void (*probe_property) (GstPropertyProbe * probe, const GParamSpec *pspec);
guint prop_id, const GParamSpec * pspec); void (*probe_property) (GstPropertyProbe *probe,
GValueArray *(*get_values) (GstPropertyProbe * probe, guint prop_id,
guint prop_id, const GParamSpec * pspec); const GParamSpec *pspec);
GValueArray * (*get_values) (GstPropertyProbe *probe,
guint prop_id,
const GParamSpec *pspec);
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
} GstPropertyProbeInterface; } GstPropertyProbeInterface;
@ -59,33 +64,34 @@ GType gst_property_probe_get_type (void);
/* virtual class function wrappers */ /* virtual class function wrappers */
/* returns list of GParamSpecs */ /* returns list of GParamSpecs */
const GList *gst_property_probe_get_properties (GstPropertyProbe * probe); const GList * gst_property_probe_get_properties (GstPropertyProbe *probe);
const GParamSpec *gst_property_probe_get_property (GstPropertyProbe * probe, const GParamSpec *gst_property_probe_get_property (GstPropertyProbe *probe,
const gchar * name); const gchar *name);
/* probe one property */ /* probe one property */
void gst_property_probe_probe_property (GstPropertyProbe * probe, void gst_property_probe_probe_property (GstPropertyProbe *probe,
const GParamSpec * pspec); const GParamSpec *pspec);
void gst_property_probe_probe_property_name (GstPropertyProbe * probe, void gst_property_probe_probe_property_name (GstPropertyProbe *probe,
const gchar * name); const gchar *name);
/* do we need a probe? */ /* do we need a probe? */
gboolean gst_property_probe_needs_probe (GstPropertyProbe * probe, gboolean gst_property_probe_needs_probe (GstPropertyProbe *probe,
const GParamSpec * pspec); const GParamSpec *pspec);
gboolean gst_property_probe_needs_probe_name (GstPropertyProbe * probe, gboolean gst_property_probe_needs_probe_name (GstPropertyProbe *probe,
const gchar * name); const gchar *name);
/* returns list of GValues */ /* returns list of GValues */
GValueArray *gst_property_probe_get_values (GstPropertyProbe * probe, GValueArray * gst_property_probe_get_values (GstPropertyProbe *probe,
const GParamSpec * pspec); const GParamSpec *pspec);
GValueArray *gst_property_probe_get_values_name (GstPropertyProbe * probe, GValueArray * gst_property_probe_get_values_name (GstPropertyProbe *probe,
const gchar * name); const gchar *name);
/* sugar */ /* sugar */
GValueArray *gst_property_probe_probe_and_get_values (GstPropertyProbe * probe, 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 * GValueArray * gst_property_probe_probe_and_get_values_name (GstPropertyProbe *probe,
probe, const gchar * name); const gchar *name);
G_END_DECLS G_END_DECLS
#endif /* __GST_PROPERTY_PROBE_H__ */ #endif /* __GST_PROPERTY_PROBE_H__ */

View file

@ -28,6 +28,7 @@
#include <gst/tuner/tuner-enumtypes.h> #include <gst/tuner/tuner-enumtypes.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_TUNER \ #define GST_TYPE_TUNER \
(gst_tuner_get_type ()) (gst_tuner_get_type ())
#define GST_TUNER(obj) \ #define GST_TUNER(obj) \
@ -40,33 +41,43 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_TUNER)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_TUNER))
#define GST_TUNER_GET_CLASS(inst) \ #define GST_TUNER_GET_CLASS(inst) \
(G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_TUNER, GstTunerClass)) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_TUNER, GstTunerClass))
typedef struct _GstTuner GstTuner; typedef struct _GstTuner GstTuner;
typedef struct _GstTunerClass typedef struct _GstTunerClass {
{
GTypeInterface klass; GTypeInterface klass;
/* virtual functions */ /* virtual functions */
const GList *(*list_channels) (GstTuner * tuner); const GList * (* list_channels) (GstTuner *tuner);
void (*set_channel) (GstTuner * tuner, GstTunerChannel * channel); void (* set_channel) (GstTuner *tuner,
GstTunerChannel *(*get_channel) (GstTuner * tuner); GstTunerChannel *channel);
GstTunerChannel *
(* get_channel) (GstTuner *tuner);
const GList *(*list_norms) (GstTuner * tuner); const GList * (* list_norms) (GstTuner *tuner);
void (*set_norm) (GstTuner * tuner, GstTunerNorm * norm); void (* set_norm) (GstTuner *tuner,
GstTunerNorm *(*get_norm) (GstTuner * tuner); GstTunerNorm *norm);
GstTunerNorm *(* get_norm) (GstTuner *tuner);
void (*set_frequency) (GstTuner * tuner, void (* set_frequency) (GstTuner *tuner,
GstTunerChannel * channel, gulong frequency); GstTunerChannel *channel,
gulong (*get_frequency) (GstTuner * tuner, GstTunerChannel * channel); gulong frequency);
gint (*signal_strength) (GstTuner * tuner, GstTunerChannel * channel); gulong (* get_frequency) (GstTuner *tuner,
GstTunerChannel *channel);
gint (* signal_strength) (GstTuner *tuner,
GstTunerChannel *channel);
/* signals */ /* signals */
void (*channel_changed) (GstTuner * tuner, GstTunerChannel * channel); void (*channel_changed) (GstTuner *tuner,
void (*norm_changed) (GstTuner * tuner, GstTunerNorm * norm); GstTunerChannel *channel);
void (*frequency_changed) (GstTuner * tuner, void (*norm_changed) (GstTuner *tuner,
GstTunerChannel * channel, gulong frequency); GstTunerNorm *norm);
void (*signal_changed) (GstTuner * tuner, void (*frequency_changed) (GstTuner *tuner,
GstTunerChannel * channel, gint signal); GstTunerChannel *channel,
gulong frequency);
void (*signal_changed) (GstTuner *tuner,
GstTunerChannel *channel,
gint signal);
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
} GstTunerClass; } GstTunerClass;
@ -74,31 +85,43 @@ typedef struct _GstTunerClass
GType gst_tuner_get_type (void); GType gst_tuner_get_type (void);
/* virtual class function wrappers */ /* virtual class function wrappers */
const GList *gst_tuner_list_channels (GstTuner * tuner); const GList * gst_tuner_list_channels (GstTuner *tuner);
void gst_tuner_set_channel (GstTuner * tuner, GstTunerChannel * channel); void gst_tuner_set_channel (GstTuner *tuner,
GstTunerChannel *gst_tuner_get_channel (GstTuner * tuner); GstTunerChannel *channel);
GstTunerChannel *
gst_tuner_get_channel (GstTuner *tuner);
const GList *gst_tuner_list_norms (GstTuner * tuner); const GList * gst_tuner_list_norms (GstTuner *tuner);
void gst_tuner_set_norm (GstTuner * tuner, GstTunerNorm * channel); void gst_tuner_set_norm (GstTuner *tuner,
GstTunerNorm *gst_tuner_get_norm (GstTuner * tuner); GstTunerNorm *channel);
GstTunerNorm * gst_tuner_get_norm (GstTuner *tuner);
void gst_tuner_set_frequency (GstTuner * tuner, void gst_tuner_set_frequency (GstTuner *tuner,
GstTunerChannel * channel, gulong frequency); GstTunerChannel *channel,
gulong gst_tuner_get_frequency (GstTuner * tuner, GstTunerChannel * channel); gulong frequency);
gint gst_tuner_signal_strength (GstTuner * tuner, GstTunerChannel * channel); gulong gst_tuner_get_frequency (GstTuner *tuner,
GstTunerChannel *channel);
gint gst_tuner_signal_strength (GstTuner *tuner,
GstTunerChannel *channel);
/* helper functions */ /* helper functions */
GstTunerNorm *gst_tuner_find_norm_by_name (GstTuner * tuner, gchar * norm); GstTunerNorm * gst_tuner_find_norm_by_name (GstTuner *tuner,
GstTunerChannel *gst_tuner_find_channel_by_name (GstTuner * tuner, gchar *norm);
gchar * channel); GstTunerChannel *gst_tuner_find_channel_by_name (GstTuner *tuner,
gchar *channel);
/* trigger signals */ /* trigger signals */
void gst_tuner_channel_changed (GstTuner * tuner, GstTunerChannel * channel); void gst_tuner_channel_changed (GstTuner *tuner,
void gst_tuner_norm_changed (GstTuner * tuner, GstTunerNorm * norm); GstTunerChannel *channel);
void gst_tuner_frequency_changed (GstTuner * tuner, void gst_tuner_norm_changed (GstTuner *tuner,
GstTunerChannel * channel, gulong frequency); GstTunerNorm *norm);
void gst_tuner_signal_changed (GstTuner * tuner, void gst_tuner_frequency_changed (GstTuner *tuner,
GstTunerChannel * channel, gint signal); GstTunerChannel *channel,
gulong frequency);
void gst_tuner_signal_changed (GstTuner *tuner,
GstTunerChannel *channel,
gint signal);
G_END_DECLS G_END_DECLS
#endif /* __GST_TUNER_H__ */ #endif /* __GST_TUNER_H__ */

View file

@ -25,6 +25,7 @@
#include <gst/gst.h> #include <gst/gst.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_TUNER_CHANNEL \ #define GST_TYPE_TUNER_CHANNEL \
(gst_tuner_channel_get_type ()) (gst_tuner_channel_get_type ())
#define GST_TUNER_CHANNEL(obj) \ #define GST_TUNER_CHANNEL(obj) \
@ -37,34 +38,36 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_TUNER_CHANNEL)) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_TUNER_CHANNEL))
#define GST_IS_TUNER_CHANNEL_CLASS(klass) \ #define GST_IS_TUNER_CHANNEL_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_TUNER_CHANNEL)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_TUNER_CHANNEL))
typedef enum
{ typedef enum {
GST_TUNER_CHANNEL_INPUT = (1 << 0), GST_TUNER_CHANNEL_INPUT = (1<<0),
GST_TUNER_CHANNEL_OUTPUT = (1 << 1), GST_TUNER_CHANNEL_OUTPUT = (1<<1),
GST_TUNER_CHANNEL_FREQUENCY = (1 << 2), GST_TUNER_CHANNEL_FREQUENCY = (1<<2),
GST_TUNER_CHANNEL_AUDIO = (1 << 3), GST_TUNER_CHANNEL_AUDIO = (1<<3),
} GstTunerChannelFlags; } GstTunerChannelFlags;
#define GST_TUNER_CHANNEL_HAS_FLAG(channel, flag) \ #define GST_TUNER_CHANNEL_HAS_FLAG(channel, flag) \
((channel)->flags & flag) ((channel)->flags & flag)
typedef struct _GstTunerChannel typedef struct _GstTunerChannel {
{
GObject parent; GObject parent;
gchar *label; gchar *label;
GstTunerChannelFlags flags; GstTunerChannelFlags flags;
gulong min_frequency, max_frequency; gulong min_frequency,
gint min_signal, max_signal; max_frequency;
gint min_signal,
max_signal;
} GstTunerChannel; } GstTunerChannel;
typedef struct _GstTunerChannelClass typedef struct _GstTunerChannelClass {
{
GObjectClass parent; GObjectClass parent;
/* signals */ /* signals */
void (*frequency_changed) (GstTunerChannel * channel, gulong frequency); void (*frequency_changed) (GstTunerChannel *channel,
void (*signal_changed) (GstTunerChannel * channel, gint signal); gulong frequency);
void (*signal_changed) (GstTunerChannel *channel,
gint signal);
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
} GstTunerChannelClass; } GstTunerChannelClass;
@ -72,4 +75,5 @@ typedef struct _GstTunerChannelClass
GType gst_tuner_channel_get_type (void); GType gst_tuner_channel_get_type (void);
G_END_DECLS G_END_DECLS
#endif /* __GST_TUNER_CHANNEL_H__ */ #endif /* __GST_TUNER_CHANNEL_H__ */

View file

@ -25,6 +25,7 @@
#include <gst/gst.h> #include <gst/gst.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_TUNER_NORM \ #define GST_TYPE_TUNER_NORM \
(gst_tuner_norm_get_type ()) (gst_tuner_norm_get_type ())
#define GST_TUNER_NORM(obj) \ #define GST_TUNER_NORM(obj) \
@ -35,16 +36,15 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_TUNER_NORM)) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_TUNER_NORM))
#define GST_IS_TUNER_NORM_CLASS(klass) \ #define GST_IS_TUNER_NORM_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_TUNER_NORM)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_TUNER_NORM))
typedef struct _GstTunerNorm
{ typedef struct _GstTunerNorm {
GObject parent; GObject parent;
gchar *label; gchar *label;
gfloat fps; gfloat fps;
} GstTunerNorm; } GstTunerNorm;
typedef struct _GstTunerNormClass typedef struct _GstTunerNormClass {
{
GObjectClass parent; GObjectClass parent;
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
@ -53,4 +53,5 @@ typedef struct _GstTunerNormClass
GType gst_tuner_norm_get_type (void); GType gst_tuner_norm_get_type (void);
G_END_DECLS G_END_DECLS
#endif /* __GST_TUNER_NORM_H__ */ #endif /* __GST_TUNER_NORM_H__ */

View file

@ -26,6 +26,7 @@
#include <gst/gst.h> #include <gst/gst.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_X_OVERLAY \ #define GST_TYPE_X_OVERLAY \
(gst_x_overlay_get_type ()) (gst_x_overlay_get_type ())
#define GST_X_OVERLAY(obj) \ #define GST_X_OVERLAY(obj) \
@ -39,22 +40,27 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_X_OVERLAY)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_X_OVERLAY))
#define GST_X_OVERLAY_GET_CLASS(inst) \ #define GST_X_OVERLAY_GET_CLASS(inst) \
(G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_X_OVERLAY, GstXOverlayClass)) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_X_OVERLAY, GstXOverlayClass))
typedef struct _GstXOverlay GstXOverlay; typedef struct _GstXOverlay GstXOverlay;
typedef struct _GstXOverlayClass typedef struct _GstXOverlayClass {
{
GTypeInterface klass; GTypeInterface klass;
/* virtual functions */ /* virtual functions */
void (*set_xwindow_id) (GstXOverlay * overlay, gulong xwindow_id); void (* set_xwindow_id) (GstXOverlay *overlay,
gulong xwindow_id);
/* optional virtual functions */ /* optional virtual functions */
void (*get_desired_size) (GstXOverlay * overlay, void (* get_desired_size) (GstXOverlay *overlay,
guint * width, guint * height); guint *width,
void (*expose) (GstXOverlay * overlay); guint *height);
void (* expose) (GstXOverlay *overlay);
/* signals */ /* signals */
void (*have_xwindow_id) (GstXOverlay * overlay, gulong xwindow_id); void (*have_xwindow_id) (GstXOverlay *overlay,
void (*desired_size) (GstXOverlay * overlay, guint width, guint height); gulong xwindow_id);
void (* desired_size) (GstXOverlay *overlay,
guint width,
guint height);
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
} GstXOverlayClass; } GstXOverlayClass;
@ -62,15 +68,14 @@ typedef struct _GstXOverlayClass
GType gst_x_overlay_get_type (void); GType gst_x_overlay_get_type (void);
/* virtual class function wrappers */ /* virtual class function wrappers */
void gst_x_overlay_set_xwindow_id (GstXOverlay * overlay, gulong xwindow_id); void gst_x_overlay_set_xwindow_id (GstXOverlay *overlay, gulong xwindow_id);
void gst_x_overlay_get_desired_size (GstXOverlay * overlay, guint * width, void gst_x_overlay_get_desired_size (GstXOverlay *overlay, guint *width, guint *height);
guint * height); void gst_x_overlay_expose (GstXOverlay *overlay);
void gst_x_overlay_expose (GstXOverlay * overlay);
/* public methods to fire signals */ /* public methods to fire signals */
void gst_x_overlay_got_xwindow_id (GstXOverlay * overlay, gulong xwindow_id); void gst_x_overlay_got_xwindow_id (GstXOverlay *overlay, gulong xwindow_id);
void gst_x_overlay_got_desired_size (GstXOverlay * overlay, guint width, void gst_x_overlay_got_desired_size (GstXOverlay *overlay, guint width, guint height);
guint height);
G_END_DECLS G_END_DECLS
#endif /* __GST_X_OVERLAY_H__ */ #endif /* __GST_X_OVERLAY_H__ */

View file

@ -96,41 +96,45 @@ struct GstMediaInfoPriv
}; };
/* declarations */ /* declarations */
GstMediaInfoStream *gmi_stream_new (void); GstMediaInfoStream *
void gmi_stream_free (GstMediaInfoStream * stream); gmi_stream_new (void);
void gmi_stream_free (GstMediaInfoStream *stream);
GstMediaInfoTrack *gmi_track_new (void); GstMediaInfoTrack *
gmi_track_new (void);
void gmip_reset (GstMediaInfoPriv * priv); void gmip_reset (GstMediaInfoPriv *priv);
gboolean gmip_init (GstMediaInfoPriv * priv, GError ** error); gboolean gmip_init (GstMediaInfoPriv *priv, GError **error);
void gmi_clear_decoder (GstMediaInfo * info); void gmi_clear_decoder (GstMediaInfo *info);
gboolean gmi_seek_to_track (GstMediaInfo * info, long track); gboolean gmi_seek_to_track (GstMediaInfo *info,
long track);
gboolean gmi_set_mime (GstMediaInfo * info, const char *mime); gboolean gmi_set_mime (GstMediaInfo *info,
const char *mime);
void deep_notify_callback (GObject * object, void deep_notify_callback (GObject *object,
GstObject * origin, GParamSpec * pspec, GstMediaInfoPriv * priv); GstObject *origin,
void found_tag_callback (GObject * pipeline, GstElement * source, GParamSpec *pspec,
GstTagList * tags, GstMediaInfoPriv * priv); GstMediaInfoPriv *priv);
void error_callback (GObject * element, GstElement * source, GError * error, void found_tag_callback (GObject *pipeline, GstElement *source, GstTagList *tags, GstMediaInfoPriv *priv);
gchar * debug, GstMediaInfoPriv * priv); void error_callback (GObject *element, GstElement *source, GError *error, gchar *debug, GstMediaInfoPriv *priv);
gboolean gmip_find_type_pre (GstMediaInfoPriv * priv, GError ** error); gboolean gmip_find_type_pre (GstMediaInfoPriv *priv, GError **error);
gboolean gmip_find_type_post (GstMediaInfoPriv * priv); gboolean gmip_find_type_post (GstMediaInfoPriv *priv);
gboolean gmip_find_type (GstMediaInfoPriv * priv, GError ** error); gboolean gmip_find_type (GstMediaInfoPriv *priv, GError **error);
gboolean gmip_find_stream_pre (GstMediaInfoPriv * priv); gboolean gmip_find_stream_pre (GstMediaInfoPriv *priv);
gboolean gmip_find_stream_post (GstMediaInfoPriv * priv); gboolean gmip_find_stream_post (GstMediaInfoPriv *priv);
gboolean gmip_find_stream (GstMediaInfoPriv * priv); gboolean gmip_find_stream (GstMediaInfoPriv *priv);
gboolean gmip_find_track_metadata_pre (GstMediaInfoPriv * priv); gboolean gmip_find_track_metadata_pre (GstMediaInfoPriv *priv);
gboolean gmip_find_track_metadata_post (GstMediaInfoPriv * priv); gboolean gmip_find_track_metadata_post (GstMediaInfoPriv *priv);
gboolean gmip_find_track_metadata (GstMediaInfoPriv * priv); gboolean gmip_find_track_metadata (GstMediaInfoPriv *priv);
gboolean gmip_find_track_streaminfo_pre (GstMediaInfoPriv * priv); gboolean gmip_find_track_streaminfo_pre (GstMediaInfoPriv *priv);
gboolean gmip_find_track_streaminfo_post (GstMediaInfoPriv * priv); gboolean gmip_find_track_streaminfo_post (GstMediaInfoPriv *priv);
gboolean gmip_find_track_streaminfo (GstMediaInfoPriv * priv); gboolean gmip_find_track_streaminfo (GstMediaInfoPriv *priv);
gboolean gmip_find_track_format_pre (GstMediaInfoPriv * priv); gboolean gmip_find_track_format_pre (GstMediaInfoPriv *priv);
gboolean gmip_find_track_format_post (GstMediaInfoPriv * priv); gboolean gmip_find_track_format_post (GstMediaInfoPriv *priv);
gboolean gmip_find_track_format (GstMediaInfoPriv * priv); gboolean gmip_find_track_format (GstMediaInfoPriv *priv);
#endif /* __GST_MEDIA_INFO_PRIV_H__ */ #endif /* __GST_MEDIA_INFO_PRIV_H__ */

View file

@ -23,7 +23,9 @@
#include <gst/gst.h> #include <gst/gst.h>
G_BEGIN_DECLS typedef struct GstMediaInfoPriv GstMediaInfoPriv; G_BEGIN_DECLS
typedef struct GstMediaInfoPriv GstMediaInfoPriv;
typedef struct _GstMediaInfo GstMediaInfo; typedef struct _GstMediaInfo GstMediaInfo;
typedef struct _GstMediaInfoClass GstMediaInfoClass; typedef struct _GstMediaInfoClass GstMediaInfoClass;
@ -41,9 +43,8 @@ struct _GstMediaInfoClass
GObjectClass parent_class; GObjectClass parent_class;
/* signals */ /* signals */
void (*media_info_signal) (GstMediaInfo * gst_media_info); void (*media_info_signal) (GstMediaInfo *gst_media_info);
void (*error_signal) (GstMediaInfo * gst_media_info, GError * error, void (*error_signal) (GstMediaInfo *gst_media_info, GError *error, const gchar *debug);
const gchar * debug);
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
@ -104,20 +105,29 @@ GQuark gst_media_info_error_quark (void);
void gst_media_info_init (void); void gst_media_info_init (void);
GType gst_media_info_get_type (void); GType gst_media_info_get_type (void);
GstMediaInfo *gst_media_info_new (GError ** error); GstMediaInfo * gst_media_info_new (GError **error);
gboolean gst_media_info_set_source (GstMediaInfo * info,
const char *source, GError ** error);
void gst_media_info_read_with_idler (GstMediaInfo * media_info,
const char *location, guint16 GST_MEDIA_INFO_FLAGS, GError ** error);
gboolean gst_media_info_read_idler (GstMediaInfo * media_info,
GstMediaInfoStream ** streamp, GError ** error);
GstMediaInfoStream *gst_media_info_read (GstMediaInfo * media_info,
const char *location, guint16 GST_MEDIA_INFO_FLAGS, GError ** error);
gboolean gst_media_info_read_many (GstMediaInfo * media_info,
GList * locations, guint16 GST_MEDIA_INFO_FLAGS, GError ** error);
GstCaps *gst_media_info_get_next (GstMediaInfo * media_info, GError ** error);
gboolean gst_media_info_set_source (GstMediaInfo *info,
const char *source,
GError **error);
void gst_media_info_read_with_idler (GstMediaInfo *media_info,
const char *location,
guint16 GST_MEDIA_INFO_FLAGS,
GError **error);
gboolean gst_media_info_read_idler (GstMediaInfo *media_info,
GstMediaInfoStream **streamp,
GError **error);
GstMediaInfoStream *
gst_media_info_read (GstMediaInfo *media_info,
const char *location,
guint16 GST_MEDIA_INFO_FLAGS,
GError **error);
gboolean gst_media_info_read_many (GstMediaInfo *media_info,
GList *locations,
guint16 GST_MEDIA_INFO_FLAGS,
GError **error);
GstCaps * gst_media_info_get_next (GstMediaInfo *media_info,
GError **error);
/* /*
* FIXME: reset ? * FIXME: reset ?
gboolean gst_media_info_write (GstMediaInfo *media_info, gboolean gst_media_info_write (GstMediaInfo *media_info,
@ -126,4 +136,5 @@ gboolean gst_media_info_write (GstMediaInfo *media_info,
*/ */
G_END_DECLS G_END_DECLS
#endif /* __GST_MEDIA_INFO_H__ */ #endif /* __GST_MEDIA_INFO_H__ */

View file

@ -27,6 +27,7 @@
#include <gst/mixer/mixer-enumtypes.h> #include <gst/mixer/mixer-enumtypes.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_MIXER \ #define GST_TYPE_MIXER \
(gst_mixer_get_type ()) (gst_mixer_get_type ())
#define GST_MIXER(obj) \ #define GST_MIXER(obj) \
@ -39,7 +40,9 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_MIXER)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_MIXER))
#define GST_MIXER_GET_CLASS(inst) \ #define GST_MIXER_GET_CLASS(inst) \
(G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_MIXER, GstMixerClass)) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_MIXER, GstMixerClass))
#define GST_MIXER_TYPE(klass) (klass->mixer_type) #define GST_MIXER_TYPE(klass) (klass->mixer_type)
typedef struct _GstMixer GstMixer; typedef struct _GstMixer GstMixer;
typedef enum typedef enum
@ -48,28 +51,38 @@ typedef enum
GST_MIXER_SOFTWARE GST_MIXER_SOFTWARE
} GstMixerType; } GstMixerType;
typedef struct _GstMixerClass typedef struct _GstMixerClass {
{
GTypeInterface klass; GTypeInterface klass;
GstMixerType mixer_type; GstMixerType mixer_type;
/* virtual functions */ /* virtual functions */
const GList *(*list_tracks) (GstMixer * mixer); const GList * (* list_tracks) (GstMixer *mixer);
void (*set_volume) (GstMixer * mixer, GstMixerTrack * track, gint * volumes); void (* set_volume) (GstMixer *mixer,
void (*get_volume) (GstMixer * mixer, GstMixerTrack * track, gint * volumes); GstMixerTrack *track,
gint *volumes);
void (* get_volume) (GstMixer *mixer,
GstMixerTrack *track,
gint *volumes);
void (*set_mute) (GstMixer * mixer, GstMixerTrack * track, gboolean mute); void (* set_mute) (GstMixer *mixer,
void (*set_record) (GstMixer * mixer, GstMixerTrack * track, gboolean record); GstMixerTrack *track,
gboolean mute);
void (* set_record) (GstMixer *mixer,
GstMixerTrack *track,
gboolean record);
/* signals */ /* signals */
void (*mute_toggled) (GstMixer * mixer, void (* mute_toggled) (GstMixer *mixer,
GstMixerTrack * channel, gboolean mute); GstMixerTrack *channel,
void (*record_toggled) (GstMixer * mixer, gboolean mute);
GstMixerTrack * channel, gboolean record); void (* record_toggled) (GstMixer *mixer,
void (*volume_changed) (GstMixer * mixer, GstMixerTrack *channel,
GstMixerTrack * channel, gint * volumes); gboolean record);
void (* volume_changed) (GstMixer *mixer,
GstMixerTrack *channel,
gint *volumes);
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
} GstMixerClass; } GstMixerClass;
@ -77,23 +90,31 @@ typedef struct _GstMixerClass
GType gst_mixer_get_type (void); GType gst_mixer_get_type (void);
/* virtual class function wrappers */ /* virtual class function wrappers */
const GList *gst_mixer_list_tracks (GstMixer * mixer); const GList * gst_mixer_list_tracks (GstMixer *mixer);
void gst_mixer_set_volume (GstMixer * mixer, void gst_mixer_set_volume (GstMixer *mixer,
GstMixerTrack * track, gint * volumes); GstMixerTrack *track,
void gst_mixer_get_volume (GstMixer * mixer, gint *volumes);
GstMixerTrack * track, gint * volumes); void gst_mixer_get_volume (GstMixer *mixer,
void gst_mixer_set_mute (GstMixer * mixer, GstMixerTrack *track,
GstMixerTrack * track, gboolean mute); gint *volumes);
void gst_mixer_set_record (GstMixer * mixer, void gst_mixer_set_mute (GstMixer *mixer,
GstMixerTrack * track, gboolean record); GstMixerTrack *track,
gboolean mute);
void gst_mixer_set_record (GstMixer *mixer,
GstMixerTrack *track,
gboolean record);
/* trigger signals */ /* trigger signals */
void gst_mixer_mute_toggled (GstMixer * mixer, void gst_mixer_mute_toggled (GstMixer *mixer,
GstMixerTrack * track, gboolean mute); GstMixerTrack *track,
void gst_mixer_record_toggled (GstMixer * mixer, gboolean mute);
GstMixerTrack * track, gboolean record); void gst_mixer_record_toggled (GstMixer *mixer,
void gst_mixer_volume_changed (GstMixer * mixer, GstMixerTrack *track,
GstMixerTrack * track, gint * volumes); gboolean record);
void gst_mixer_volume_changed (GstMixer *mixer,
GstMixerTrack *track,
gint *volumes);
G_END_DECLS G_END_DECLS
#endif /* __GST_MIXER_H__ */ #endif /* __GST_MIXER_H__ */

View file

@ -25,6 +25,7 @@
#include <gst/gst.h> #include <gst/gst.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_MIXER_TRACK \ #define GST_TYPE_MIXER_TRACK \
(gst_mixer_track_get_type ()) (gst_mixer_track_get_type ())
#define GST_MIXER_TRACK(obj) \ #define GST_MIXER_TRACK(obj) \
@ -37,6 +38,7 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_MIXER_TRACK)) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_MIXER_TRACK))
#define GST_IS_MIXER_TRACK_CLASS(klass) \ #define GST_IS_MIXER_TRACK_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_MIXER_TRACK)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_MIXER_TRACK))
/* /*
* Naming: * Naming:
* *
@ -52,36 +54,39 @@ G_BEGIN_DECLS
* mixer, which means that setting this track will change * mixer, which means that setting this track will change
* the hearable volume on any output. * the hearable volume on any output.
*/ */
typedef enum
{ typedef enum {
GST_MIXER_TRACK_INPUT = (1 << 0), GST_MIXER_TRACK_INPUT = (1<<0),
GST_MIXER_TRACK_OUTPUT = (1 << 1), GST_MIXER_TRACK_OUTPUT = (1<<1),
GST_MIXER_TRACK_MUTE = (1 << 2), GST_MIXER_TRACK_MUTE = (1<<2),
GST_MIXER_TRACK_RECORD = (1 << 3), GST_MIXER_TRACK_RECORD = (1<<3),
GST_MIXER_TRACK_MASTER = (1 << 4), GST_MIXER_TRACK_MASTER = (1<<4),
GST_MIXER_TRACK_SOFTWARE = (1 << 5) GST_MIXER_TRACK_SOFTWARE = (1<<5)
} GstMixerTrackFlags; } GstMixerTrackFlags;
#define GST_MIXER_TRACK_HAS_FLAG(channel, flag) \ #define GST_MIXER_TRACK_HAS_FLAG(channel, flag) \
((channel)->flags & flag) ((channel)->flags & flag)
typedef struct _GstMixerTrack typedef struct _GstMixerTrack {
{
GObject parent; GObject parent;
gchar *label; gchar *label;
GstMixerTrackFlags flags; GstMixerTrackFlags flags;
gint num_channels, min_volume, max_volume; gint num_channels,
min_volume,
max_volume;
} GstMixerTrack; } GstMixerTrack;
typedef struct _GstMixerTrackClass typedef struct _GstMixerTrackClass {
{
GObjectClass parent; GObjectClass parent;
/* signals */ /* signals */
void (*mute_toggled) (GstMixerTrack * channel, gboolean mute); void (* mute_toggled) (GstMixerTrack *channel,
void (*record_toggled) (GstMixerTrack * channel, gboolean record); gboolean mute);
void (*volume_changed) (GstMixerTrack * channel, gint * volumes); void (* record_toggled) (GstMixerTrack *channel,
gboolean record);
void (* volume_changed) (GstMixerTrack *channel,
gint *volumes);
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
} GstMixerTrackClass; } GstMixerTrackClass;
@ -89,4 +94,5 @@ typedef struct _GstMixerTrackClass
GType gst_mixer_track_get_type (void); GType gst_mixer_track_get_type (void);
G_END_DECLS G_END_DECLS
#endif /* __GST_MIXER_TRACK_H__ */ #endif /* __GST_MIXER_TRACK_H__ */

View file

@ -26,6 +26,7 @@
#include <gst/gst.h> #include <gst/gst.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_NAVIGATION \ #define GST_TYPE_NAVIGATION \
(gst_navigation_get_type ()) (gst_navigation_get_type ())
#define GST_NAVIGATION(obj) \ #define GST_NAVIGATION(obj) \
@ -34,14 +35,14 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_NAVIGATION)) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_NAVIGATION))
#define GST_NAVIGATION_GET_IFACE(obj) \ #define GST_NAVIGATION_GET_IFACE(obj) \
(G_TYPE_INSTANCE_GET_INTERFACE ((obj), GST_TYPE_NAVIGATION, GstNavigationInterface)) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GST_TYPE_NAVIGATION, GstNavigationInterface))
typedef struct _GstNavigation GstNavigation; typedef struct _GstNavigation GstNavigation;
typedef struct _GstNavigationInterface typedef struct _GstNavigationInterface {
{
GTypeInterface g_iface; GTypeInterface g_iface;
/* virtual functions */ /* virtual functions */
void (*send_event) (GstNavigation * navigation, GstStructure * structure); void (*send_event) (GstNavigation *navigation, GstStructure *structure);
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
} GstNavigationInterface; } GstNavigationInterface;
@ -49,13 +50,13 @@ typedef struct _GstNavigationInterface
GType gst_navigation_get_type (void); GType gst_navigation_get_type (void);
/* virtual class function wrappers */ /* virtual class function wrappers */
void gst_navigation_send_event (GstNavigation * navigation, void gst_navigation_send_event (GstNavigation *navigation, GstStructure *structure);
GstStructure * structure);
void gst_navigation_send_key_event (GstNavigation * navigation, 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, 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 G_END_DECLS
#endif /* __GST_NAVIGATION_H__ */ #endif /* __GST_NAVIGATION_H__ */

View file

@ -60,29 +60,37 @@ struct _GstPlayClass
{ {
GstPipelineClass parent_class; GstPipelineClass parent_class;
void (*time_tick) (GstPlay * play, gint64 time_nanos); void (*time_tick) (GstPlay *play, gint64 time_nanos);
void (*stream_length) (GstPlay * play, gint64 length_nanos); void (*stream_length) (GstPlay *play, gint64 length_nanos);
void (*have_video_size) (GstPlay * play, gint width, gint height); void (*have_video_size) (GstPlay *play, gint width, gint height);
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
GType gst_play_get_type (void); GType gst_play_get_type (void);
GstPlay *gst_play_new (GError ** error); GstPlay * gst_play_new (GError **error);
gboolean gst_play_set_data_src (GstPlay * play, GstElement * data_src); gboolean gst_play_set_data_src (GstPlay *play,
gboolean gst_play_set_video_sink (GstPlay * play, GstElement * video_sink); GstElement *data_src);
gboolean gst_play_set_audio_sink (GstPlay * play, GstElement * audio_sink); gboolean gst_play_set_video_sink (GstPlay *play,
GstElement *video_sink);
gboolean gst_play_set_audio_sink (GstPlay *play,
GstElement *audio_sink);
gboolean gst_play_set_visualization (GstPlay * play, GstElement * element); gboolean gst_play_set_visualization (GstPlay *play,
gboolean gst_play_connect_visualization (GstPlay * play, gboolean connect); GstElement *element);
gboolean gst_play_connect_visualization (GstPlay *play,
gboolean connect);
gboolean gst_play_set_location (GstPlay * play, const char *location); gboolean gst_play_set_location (GstPlay *play,
char *gst_play_get_location (GstPlay * play); const char *location);
char * gst_play_get_location (GstPlay *play);
gboolean gst_play_seek_to_time (GstPlay * play, gint64 time_nanos); gboolean gst_play_seek_to_time (GstPlay *play,
gint64 time_nanos);
GstElement *gst_play_get_sink_element (GstPlay * play, GstElement * gst_play_get_sink_element (GstPlay *play,
GstElement * element, GstPlaySinkType sink_type); GstElement *element,
GstPlaySinkType sink_type);
#endif /* __GST_PLAY_H__ */ #endif /* __GST_PLAY_H__ */

View file

@ -25,6 +25,7 @@
#include <gst/gst.h> #include <gst/gst.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_PROPERTY_PROBE \ #define GST_TYPE_PROPERTY_PROBE \
(gst_property_probe_get_type ()) (gst_property_probe_get_type ())
#define GST_PROPERTY_PROBE(obj) \ #define GST_PROPERTY_PROBE(obj) \
@ -33,23 +34,27 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_PROPERTY_PROBE)) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_PROPERTY_PROBE))
#define GST_PROPERTY_PROBE_GET_IFACE(obj) \ #define GST_PROPERTY_PROBE_GET_IFACE(obj) \
(G_TYPE_INSTANCE_GET_INTERFACE ((obj), GST_TYPE_PROPERTY_PROBE, GstPropertyProbeInterface)) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GST_TYPE_PROPERTY_PROBE, GstPropertyProbeInterface))
typedef struct _GstPropertyProbe GstPropertyProbe; /* dummy typedef */ typedef struct _GstPropertyProbe GstPropertyProbe; /* dummy typedef */
typedef struct _GstPropertyProbeInterface typedef struct _GstPropertyProbeInterface {
{
GTypeInterface klass; GTypeInterface klass;
/* signals */ /* signals */
void (*probe_needed) (GstPropertyProbe * probe, const GParamSpec * pspec); void (*probe_needed) (GstPropertyProbe *probe,
const GParamSpec *pspec);
/* virtual functions */ /* virtual functions */
const GList *(*get_properties) (GstPropertyProbe * probe); const GList * (*get_properties) (GstPropertyProbe *probe);
gboolean (*needs_probe) (GstPropertyProbe * probe, gboolean (*needs_probe) (GstPropertyProbe *probe,
guint prop_id, const GParamSpec * pspec); guint prop_id,
void (*probe_property) (GstPropertyProbe * probe, const GParamSpec *pspec);
guint prop_id, const GParamSpec * pspec); void (*probe_property) (GstPropertyProbe *probe,
GValueArray *(*get_values) (GstPropertyProbe * probe, guint prop_id,
guint prop_id, const GParamSpec * pspec); const GParamSpec *pspec);
GValueArray * (*get_values) (GstPropertyProbe *probe,
guint prop_id,
const GParamSpec *pspec);
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
} GstPropertyProbeInterface; } GstPropertyProbeInterface;
@ -59,33 +64,34 @@ GType gst_property_probe_get_type (void);
/* virtual class function wrappers */ /* virtual class function wrappers */
/* returns list of GParamSpecs */ /* returns list of GParamSpecs */
const GList *gst_property_probe_get_properties (GstPropertyProbe * probe); const GList * gst_property_probe_get_properties (GstPropertyProbe *probe);
const GParamSpec *gst_property_probe_get_property (GstPropertyProbe * probe, const GParamSpec *gst_property_probe_get_property (GstPropertyProbe *probe,
const gchar * name); const gchar *name);
/* probe one property */ /* probe one property */
void gst_property_probe_probe_property (GstPropertyProbe * probe, void gst_property_probe_probe_property (GstPropertyProbe *probe,
const GParamSpec * pspec); const GParamSpec *pspec);
void gst_property_probe_probe_property_name (GstPropertyProbe * probe, void gst_property_probe_probe_property_name (GstPropertyProbe *probe,
const gchar * name); const gchar *name);
/* do we need a probe? */ /* do we need a probe? */
gboolean gst_property_probe_needs_probe (GstPropertyProbe * probe, gboolean gst_property_probe_needs_probe (GstPropertyProbe *probe,
const GParamSpec * pspec); const GParamSpec *pspec);
gboolean gst_property_probe_needs_probe_name (GstPropertyProbe * probe, gboolean gst_property_probe_needs_probe_name (GstPropertyProbe *probe,
const gchar * name); const gchar *name);
/* returns list of GValues */ /* returns list of GValues */
GValueArray *gst_property_probe_get_values (GstPropertyProbe * probe, GValueArray * gst_property_probe_get_values (GstPropertyProbe *probe,
const GParamSpec * pspec); const GParamSpec *pspec);
GValueArray *gst_property_probe_get_values_name (GstPropertyProbe * probe, GValueArray * gst_property_probe_get_values_name (GstPropertyProbe *probe,
const gchar * name); const gchar *name);
/* sugar */ /* sugar */
GValueArray *gst_property_probe_probe_and_get_values (GstPropertyProbe * probe, 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 * GValueArray * gst_property_probe_probe_and_get_values_name (GstPropertyProbe *probe,
probe, const gchar * name); const gchar *name);
G_END_DECLS G_END_DECLS
#endif /* __GST_PROPERTY_PROBE_H__ */ #endif /* __GST_PROPERTY_PROBE_H__ */

View file

@ -23,22 +23,21 @@
#include "resample.h" #include "resample.h"
void gst_resample_nearest_s16 (gst_resample_t * r); void gst_resample_nearest_s16(gst_resample_t *r);
void gst_resample_bilinear_s16 (gst_resample_t * r); void gst_resample_bilinear_s16(gst_resample_t *r);
void gst_resample_sinc_s16 (gst_resample_t * r); void gst_resample_sinc_s16(gst_resample_t *r);
void gst_resample_sinc_slow_s16 (gst_resample_t * r); void gst_resample_sinc_slow_s16(gst_resample_t *r);
void gst_resample_sinc_ft_s16 (gst_resample_t * r); void gst_resample_sinc_ft_s16(gst_resample_t * r);
void gst_resample_nearest_float (gst_resample_t * r); void gst_resample_nearest_float(gst_resample_t *r);
void gst_resample_bilinear_float (gst_resample_t * r); void gst_resample_bilinear_float(gst_resample_t *r);
void gst_resample_sinc_float (gst_resample_t * r); void gst_resample_sinc_float(gst_resample_t *r);
void gst_resample_sinc_slow_float (gst_resample_t * r); void gst_resample_sinc_slow_float(gst_resample_t *r);
void gst_resample_sinc_ft_float (gst_resample_t * r); void gst_resample_sinc_ft_float(gst_resample_t * r);
typedef struct functable_s functable_t; typedef struct functable_s functable_t;
struct functable_s struct functable_s {
{
double start; double start;
double offset; double offset;
int len; int len;
@ -48,11 +47,11 @@ struct functable_s
double scale; double scale;
double scale2; double scale2;
double (*func_x) (void *, double x); double (*func_x)(void *,double x);
double (*func_dx) (void *, double x); double (*func_dx)(void *,double x);
double (*func2_x) (void *, double x); double (*func2_x)(void *,double x);
double (*func2_dx) (void *, double x); double (*func2_dx)(void *,double x);
double *fx; double *fx;
double *fdx; double *fdx;
@ -60,34 +59,32 @@ struct functable_s
void *priv; void *priv;
}; };
void functable_init (functable_t * t); void functable_init(functable_t *t);
double functable_eval (functable_t * t, double x); double functable_eval(functable_t *t,double x);
double functable_fir (functable_t * t, double x0, int n, double *data, int len); double functable_fir(functable_t *t,double x0,int n,double *data,int len);
void functable_fir2 (functable_t * t, double *r0, double *r1, double x0, void functable_fir2(functable_t *t,double *r0, double *r1, double x0,
int n, double *data, int len); int n,double *data,int len);
double functable_sinc (void *p, double x); double functable_sinc(void *p, double x);
double functable_dsinc (void *p, double x); double functable_dsinc(void *p, double x);
double functable_window_std (void *p, double x); double functable_window_std(void *p, double x);
double functable_window_dstd (void *p, double x); double functable_window_dstd(void *p, double x);
double functable_window_boxcar (void *p, double x); double functable_window_boxcar(void *p, double x);
double functable_window_dboxcar (void *p, double x); double functable_window_dboxcar(void *p, double x);
/* math lib stuff */ /* math lib stuff */
void conv_double_short_table (double *dest, short *src, int n); void conv_double_short_table(double *dest, short *src, int n);
void conv_double_short_unroll (double *dest, short *src, int n); void conv_double_short_unroll(double *dest, short *src, int n);
void conv_double_short_ref (double *dest, short *src, int n); void conv_double_short_ref(double *dest, short *src, int n);
#ifdef HAVE_CPU_PPC #ifdef HAVE_CPU_PPC
void conv_double_short_altivec (double *dest, short *src, int n); void conv_double_short_altivec(double *dest, short *src, int n);
#endif #endif
void conv_short_double_ref (short *dest, double *src, int n); void conv_short_double_ref(short *dest, double *src, int n);
#ifdef HAVE_CPU_PPC #ifdef HAVE_CPU_PPC
void conv_short_double_ppcasm (short *dest, double *src, int n); void conv_short_double_ppcasm(short *dest, double *src, int n);
#endif #endif
#ifdef HAVE_CPU_PPC #ifdef HAVE_CPU_PPC
@ -101,12 +98,12 @@ void conv_short_double_ppcasm (short *dest, double *src, int n);
#define conv_double_float conv_double_float_ref #define conv_double_float conv_double_float_ref
#define conv_float_double conv_float_double_ref #define conv_float_double conv_float_double_ref
void conv_double_short_dstr (double *dest, short *src, int n, int dstr); void conv_double_short_dstr(double *dest, short *src, int n, int dstr);
void conv_short_double_sstr (short *dest, double *src, int n, int dstr); void conv_short_double_sstr(short *dest, double *src, int n, int dstr);
void conv_double_float_ref (double *dest, float *src, int n); void conv_double_float_ref(double *dest, float *src, int n);
void conv_float_double_ref (float *dest, double *src, int n); void conv_float_double_ref(float *dest, double *src, int n);
void conv_double_float_dstr (double *dest, float *src, int n, int dstr); void conv_double_float_dstr(double *dest, float *src, int n, int dstr);
void conv_float_double_sstr (float *dest, double *src, int n, int sstr); void conv_float_double_sstr(float *dest, double *src, int n, int sstr);
#endif /* __PRIVATE_H__ */ #endif /* __PRIVATE_H__ */

View file

@ -21,24 +21,21 @@
#ifndef __GST_RESAMPLE_H__ #ifndef __GST_RESAMPLE_H__
#define __GST_RESAMPLE_H__ #define __GST_RESAMPLE_H__
typedef enum typedef enum {
{
GST_RESAMPLE_NEAREST = 0, GST_RESAMPLE_NEAREST = 0,
GST_RESAMPLE_BILINEAR, GST_RESAMPLE_BILINEAR,
GST_RESAMPLE_SINC_SLOW, GST_RESAMPLE_SINC_SLOW,
GST_RESAMPLE_SINC, GST_RESAMPLE_SINC,
} gst_resample_method; } gst_resample_method;
typedef enum typedef enum {
{
GST_RESAMPLE_S16 = 0, GST_RESAMPLE_S16 = 0,
GST_RESAMPLE_FLOAT GST_RESAMPLE_FLOAT
} gst_resample_format; } gst_resample_format;
typedef struct gst_resample_s gst_resample_t; typedef struct gst_resample_s gst_resample_t;
struct gst_resample_s struct gst_resample_s {
{
/* parameters */ /* parameters */
gst_resample_method method; gst_resample_method method;
@ -53,7 +50,7 @@ struct gst_resample_s
void *priv; void *priv;
void *(*get_buffer) (void *priv, unsigned int size); void *(*get_buffer)(void *priv, unsigned int size);
/* internal parameters */ /* internal parameters */
@ -84,15 +81,16 @@ struct gst_resample_s
double acc[10]; double acc[10];
/* methods */ /* methods */
void (*scale) (gst_resample_t * r); void (*scale)(gst_resample_t *r);
double ack; double ack;
}; };
void gst_resample_init (gst_resample_t * r); void gst_resample_init(gst_resample_t *r);
void gst_resample_reinit (gst_resample_t * r); void gst_resample_reinit(gst_resample_t *r);
void gst_resample_scale (gst_resample_t * r, void *i_buf, unsigned int size); void gst_resample_scale(gst_resample_t *r, void *i_buf, unsigned int size);
#endif /* __GST_RESAMPLE_H__ */ #endif /* __GST_RESAMPLE_H__ */

View file

@ -216,8 +216,7 @@
#define GST_RIFF_rec GST_MAKE_FOURCC ('r', 'e', 'c', ' ') #define GST_RIFF_rec GST_MAKE_FOURCC ('r', 'e', 'c', ' ')
/* common data structures */ /* common data structures */
typedef struct _gst_riff_strh typedef struct _gst_riff_strh {
{
guint32 type; /* stream type */ guint32 type; /* stream type */
guint32 fcc_handler; /* fcc_handler */ guint32 fcc_handler; /* fcc_handler */
guint32 flags; guint32 flags;
@ -236,8 +235,7 @@ typedef struct _gst_riff_strh
/* XXX 16 bytes ? */ /* XXX 16 bytes ? */
} gst_riff_strh; } gst_riff_strh;
typedef struct _gst_riff_strf_vids typedef struct _gst_riff_strf_vids { /* == BitMapInfoHeader */
{ /* == BitMapInfoHeader */
guint32 size; guint32 size;
guint32 width; guint32 width;
guint32 height; guint32 height;
@ -253,8 +251,7 @@ typedef struct _gst_riff_strf_vids
} gst_riff_strf_vids; } gst_riff_strf_vids;
typedef struct _gst_riff_strf_auds typedef struct _gst_riff_strf_auds { /* == WaveHeader (?) */
{ /* == WaveHeader (?) */
guint16 format; guint16 format;
/**** from public Microsoft RIFF docs ******/ /**** from public Microsoft RIFF docs ******/
#define GST_RIFF_WAVE_FORMAT_UNKNOWN (0x0000) #define GST_RIFF_WAVE_FORMAT_UNKNOWN (0x0000)
@ -293,8 +290,7 @@ typedef struct _gst_riff_strf_auds
guint16 size; guint16 size;
} gst_riff_strf_auds; } gst_riff_strf_auds;
typedef struct _gst_riff_strf_iavs typedef struct _gst_riff_strf_iavs {
{
guint32 DVAAuxSrc; guint32 DVAAuxSrc;
guint32 DVAAuxCtl; guint32 DVAAuxCtl;
guint32 DVAAuxSrc1; guint32 DVAAuxSrc1;
@ -305,8 +301,7 @@ typedef struct _gst_riff_strf_iavs
guint32 DVReserved2; guint32 DVReserved2;
} gst_riff_strf_iavs; } gst_riff_strf_iavs;
typedef struct _gst_riff_index_entry typedef struct _gst_riff_index_entry {
{
guint32 id; guint32 id;
guint32 flags; guint32 flags;
#define GST_RIFF_IF_LIST (0x00000001L) #define GST_RIFF_IF_LIST (0x00000001L)
@ -317,8 +312,7 @@ typedef struct _gst_riff_index_entry
guint32 size; guint32 size;
} gst_riff_index_entry; } gst_riff_index_entry;
typedef struct _gst_riff_dmlh typedef struct _gst_riff_dmlh {
{
guint32 totalframes; guint32 totalframes;
} gst_riff_dmlh; } gst_riff_dmlh;

View file

@ -27,15 +27,23 @@
#include "riff-ids.h" #include "riff-ids.h"
G_BEGIN_DECLS G_BEGIN_DECLS
/* /*
* Create one caps. strh/strf can be NULL (for non-fixed caps). * Create one caps. strh/strf can be NULL (for non-fixed caps).
*/ */
GstCaps * gst_riff_create_video_caps (guint32 codec_fcc,
gst_riff_strh * strh, gst_riff_strf_vids * strf, char **codec_name); GstCaps *gst_riff_create_video_caps (guint32 codec_fcc,
gst_riff_strh *strh,
gst_riff_strf_vids *strf,
char **codec_name);
GstCaps *gst_riff_create_audio_caps (guint16 codec_id, GstCaps *gst_riff_create_audio_caps (guint16 codec_id,
gst_riff_strh * strh, gst_riff_strf_auds * strf, char **codec_name); gst_riff_strh *strh,
gst_riff_strf_auds *strf,
char **codec_name);
GstCaps *gst_riff_create_iavs_caps (guint32 codec_fcc, GstCaps *gst_riff_create_iavs_caps (guint32 codec_fcc,
gst_riff_strh * strh, gst_riff_strf_iavs * strf, char **codec_name); gst_riff_strh *strh,
gst_riff_strf_iavs *strf,
char **codec_name);
/* /*
* Create template caps (includes all known types). * Create template caps (includes all known types).
@ -46,4 +54,5 @@ GstCaps *gst_riff_create_audio_template_caps (void);
GstCaps *gst_riff_create_iavs_template_caps (void); GstCaps *gst_riff_create_iavs_template_caps (void);
G_END_DECLS G_END_DECLS
#endif /* __GST_RIFF_READ_H__ */ #endif /* __GST_RIFF_READ_H__ */

View file

@ -27,6 +27,7 @@
#include <gst/bytestream/bytestream.h> #include <gst/bytestream/bytestream.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_RIFF_READ \ #define GST_TYPE_RIFF_READ \
(gst_riff_read_get_type ()) (gst_riff_read_get_type ())
#define GST_RIFF_READ(obj) \ #define GST_RIFF_READ(obj) \
@ -39,13 +40,13 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_RIFF_READ)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_RIFF_READ))
#define GST_RIFF_READ_GET_CLASS(obj) \ #define GST_RIFF_READ_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_RIFF_READ, GstRiffReadClass)) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_RIFF_READ, GstRiffReadClass))
typedef struct _GstRiffLevel
{ typedef struct _GstRiffLevel {
guint64 start, length; guint64 start,
length;
} GstRiffLevel; } GstRiffLevel;
typedef struct _GstRiffRead typedef struct _GstRiffRead {
{
GstElement parent; GstElement parent;
GstPad *sinkpad; GstPad *sinkpad;
@ -54,35 +55,43 @@ typedef struct _GstRiffRead
GList *level; GList *level;
} GstRiffRead; } GstRiffRead;
typedef struct _GstRiffReadClass typedef struct _GstRiffReadClass {
{
GstElementClass parent; GstElementClass parent;
} GstRiffReadClass; } GstRiffReadClass;
GType gst_riff_read_get_type (void); GType gst_riff_read_get_type (void);
guint32 gst_riff_peek_tag (GstRiffRead * riff, guint * level_up); guint32 gst_riff_peek_tag (GstRiffRead *riff,
guint32 gst_riff_peek_list (GstRiffRead * riff); guint *level_up);
guint32 gst_riff_peek_list (GstRiffRead *riff);
GstEvent *gst_riff_read_seek (GstRiffRead * riff, guint64 offset); GstEvent *gst_riff_read_seek (GstRiffRead *riff,
gboolean gst_riff_read_skip (GstRiffRead * riff); guint64 offset);
gboolean gst_riff_read_data (GstRiffRead * riff, gboolean gst_riff_read_skip (GstRiffRead *riff);
guint32 * tag, GstBuffer ** buf); gboolean gst_riff_read_data (GstRiffRead *riff,
gboolean gst_riff_read_ascii (GstRiffRead * riff, guint32 * tag, gchar ** str); guint32 *tag,
gboolean gst_riff_read_list (GstRiffRead * riff, guint32 * tag); GstBuffer **buf);
gboolean gst_riff_read_header (GstRiffRead * read, guint32 * doctype); gboolean gst_riff_read_ascii (GstRiffRead *riff,
guint32 *tag,
gchar **str);
gboolean gst_riff_read_list (GstRiffRead *riff,
guint32 *tag);
gboolean gst_riff_read_header (GstRiffRead *read,
guint32 *doctype);
/* /*
* Utility functions (including byteswapping). * Utility functions (including byteswapping).
*/ */
gboolean gst_riff_read_strh (GstRiffRead * riff, gst_riff_strh ** header); gboolean gst_riff_read_strh (GstRiffRead *riff,
gboolean gst_riff_read_strf_vids (GstRiffRead * riff, gst_riff_strh **header);
gst_riff_strf_vids ** header); gboolean gst_riff_read_strf_vids (GstRiffRead *riff,
gboolean gst_riff_read_strf_auds (GstRiffRead * riff, gst_riff_strf_vids **header);
gst_riff_strf_auds ** header); gboolean gst_riff_read_strf_auds (GstRiffRead *riff,
gboolean gst_riff_read_strf_iavs (GstRiffRead * riff, gst_riff_strf_auds **header);
gst_riff_strf_iavs ** header); gboolean gst_riff_read_strf_iavs (GstRiffRead *riff,
gboolean gst_riff_read_info (GstRiffRead * riff); gst_riff_strf_iavs **header);
gboolean gst_riff_read_info (GstRiffRead *riff);
G_END_DECLS G_END_DECLS
#endif /* __GST_RIFF_READ_H__ */ #endif /* __GST_RIFF_READ_H__ */

View file

@ -24,30 +24,39 @@
#include <gst/gst.h> #include <gst/gst.h>
G_BEGIN_DECLS G_BEGIN_DECLS
/* 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);
void gst_vorbis_tag_add (GstTagList * list,
const gchar * tag, const gchar * value);
GList *gst_tag_to_vorbis_comments (const GstTagList * list, const gchar * tag);
/* 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);
void gst_vorbis_tag_add (GstTagList * list,
const gchar * tag,
const gchar * value);
GList * gst_tag_to_vorbis_comments (const GstTagList * list,
const gchar * tag);
/* functions to convert GstBuffers with vorbiscomment contents to GstTagLists and back */ /* functions to convert GstBuffers with vorbiscomment contents to GstTagLists and back */
GstTagList *gst_tag_list_from_vorbiscomment_buffer (const GstBuffer * buffer, 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 guint8 * id_data,
const guint id_data_length, const gchar * vendor_string); 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 */ /* functions for ID3 tag manipulation */
guint gst_tag_id3_genre_count (void); guint gst_tag_id3_genre_count (void);
G_CONST_RETURN gchar *gst_tag_id3_genre_get (const guint id); G_CONST_RETURN gchar * gst_tag_id3_genre_get (const guint id);
GstTagList *gst_tag_list_new_from_id3v1 (const guint8 * data); 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_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_to_id3_tag (const gchar * gst_tag);
G_END_DECLS G_END_DECLS
#endif /* __GST_TAG_TAG_H__ */ #endif /* __GST_TAG_TAG_H__ */

View file

@ -28,6 +28,7 @@
#include <gst/tuner/tuner-enumtypes.h> #include <gst/tuner/tuner-enumtypes.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_TUNER \ #define GST_TYPE_TUNER \
(gst_tuner_get_type ()) (gst_tuner_get_type ())
#define GST_TUNER(obj) \ #define GST_TUNER(obj) \
@ -40,33 +41,43 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_TUNER)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_TUNER))
#define GST_TUNER_GET_CLASS(inst) \ #define GST_TUNER_GET_CLASS(inst) \
(G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_TUNER, GstTunerClass)) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_TUNER, GstTunerClass))
typedef struct _GstTuner GstTuner; typedef struct _GstTuner GstTuner;
typedef struct _GstTunerClass typedef struct _GstTunerClass {
{
GTypeInterface klass; GTypeInterface klass;
/* virtual functions */ /* virtual functions */
const GList *(*list_channels) (GstTuner * tuner); const GList * (* list_channels) (GstTuner *tuner);
void (*set_channel) (GstTuner * tuner, GstTunerChannel * channel); void (* set_channel) (GstTuner *tuner,
GstTunerChannel *(*get_channel) (GstTuner * tuner); GstTunerChannel *channel);
GstTunerChannel *
(* get_channel) (GstTuner *tuner);
const GList *(*list_norms) (GstTuner * tuner); const GList * (* list_norms) (GstTuner *tuner);
void (*set_norm) (GstTuner * tuner, GstTunerNorm * norm); void (* set_norm) (GstTuner *tuner,
GstTunerNorm *(*get_norm) (GstTuner * tuner); GstTunerNorm *norm);
GstTunerNorm *(* get_norm) (GstTuner *tuner);
void (*set_frequency) (GstTuner * tuner, void (* set_frequency) (GstTuner *tuner,
GstTunerChannel * channel, gulong frequency); GstTunerChannel *channel,
gulong (*get_frequency) (GstTuner * tuner, GstTunerChannel * channel); gulong frequency);
gint (*signal_strength) (GstTuner * tuner, GstTunerChannel * channel); gulong (* get_frequency) (GstTuner *tuner,
GstTunerChannel *channel);
gint (* signal_strength) (GstTuner *tuner,
GstTunerChannel *channel);
/* signals */ /* signals */
void (*channel_changed) (GstTuner * tuner, GstTunerChannel * channel); void (*channel_changed) (GstTuner *tuner,
void (*norm_changed) (GstTuner * tuner, GstTunerNorm * norm); GstTunerChannel *channel);
void (*frequency_changed) (GstTuner * tuner, void (*norm_changed) (GstTuner *tuner,
GstTunerChannel * channel, gulong frequency); GstTunerNorm *norm);
void (*signal_changed) (GstTuner * tuner, void (*frequency_changed) (GstTuner *tuner,
GstTunerChannel * channel, gint signal); GstTunerChannel *channel,
gulong frequency);
void (*signal_changed) (GstTuner *tuner,
GstTunerChannel *channel,
gint signal);
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
} GstTunerClass; } GstTunerClass;
@ -74,31 +85,43 @@ typedef struct _GstTunerClass
GType gst_tuner_get_type (void); GType gst_tuner_get_type (void);
/* virtual class function wrappers */ /* virtual class function wrappers */
const GList *gst_tuner_list_channels (GstTuner * tuner); const GList * gst_tuner_list_channels (GstTuner *tuner);
void gst_tuner_set_channel (GstTuner * tuner, GstTunerChannel * channel); void gst_tuner_set_channel (GstTuner *tuner,
GstTunerChannel *gst_tuner_get_channel (GstTuner * tuner); GstTunerChannel *channel);
GstTunerChannel *
gst_tuner_get_channel (GstTuner *tuner);
const GList *gst_tuner_list_norms (GstTuner * tuner); const GList * gst_tuner_list_norms (GstTuner *tuner);
void gst_tuner_set_norm (GstTuner * tuner, GstTunerNorm * channel); void gst_tuner_set_norm (GstTuner *tuner,
GstTunerNorm *gst_tuner_get_norm (GstTuner * tuner); GstTunerNorm *channel);
GstTunerNorm * gst_tuner_get_norm (GstTuner *tuner);
void gst_tuner_set_frequency (GstTuner * tuner, void gst_tuner_set_frequency (GstTuner *tuner,
GstTunerChannel * channel, gulong frequency); GstTunerChannel *channel,
gulong gst_tuner_get_frequency (GstTuner * tuner, GstTunerChannel * channel); gulong frequency);
gint gst_tuner_signal_strength (GstTuner * tuner, GstTunerChannel * channel); gulong gst_tuner_get_frequency (GstTuner *tuner,
GstTunerChannel *channel);
gint gst_tuner_signal_strength (GstTuner *tuner,
GstTunerChannel *channel);
/* helper functions */ /* helper functions */
GstTunerNorm *gst_tuner_find_norm_by_name (GstTuner * tuner, gchar * norm); GstTunerNorm * gst_tuner_find_norm_by_name (GstTuner *tuner,
GstTunerChannel *gst_tuner_find_channel_by_name (GstTuner * tuner, gchar *norm);
gchar * channel); GstTunerChannel *gst_tuner_find_channel_by_name (GstTuner *tuner,
gchar *channel);
/* trigger signals */ /* trigger signals */
void gst_tuner_channel_changed (GstTuner * tuner, GstTunerChannel * channel); void gst_tuner_channel_changed (GstTuner *tuner,
void gst_tuner_norm_changed (GstTuner * tuner, GstTunerNorm * norm); GstTunerChannel *channel);
void gst_tuner_frequency_changed (GstTuner * tuner, void gst_tuner_norm_changed (GstTuner *tuner,
GstTunerChannel * channel, gulong frequency); GstTunerNorm *norm);
void gst_tuner_signal_changed (GstTuner * tuner, void gst_tuner_frequency_changed (GstTuner *tuner,
GstTunerChannel * channel, gint signal); GstTunerChannel *channel,
gulong frequency);
void gst_tuner_signal_changed (GstTuner *tuner,
GstTunerChannel *channel,
gint signal);
G_END_DECLS G_END_DECLS
#endif /* __GST_TUNER_H__ */ #endif /* __GST_TUNER_H__ */

View file

@ -25,6 +25,7 @@
#include <gst/gst.h> #include <gst/gst.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_TUNER_CHANNEL \ #define GST_TYPE_TUNER_CHANNEL \
(gst_tuner_channel_get_type ()) (gst_tuner_channel_get_type ())
#define GST_TUNER_CHANNEL(obj) \ #define GST_TUNER_CHANNEL(obj) \
@ -37,34 +38,36 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_TUNER_CHANNEL)) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_TUNER_CHANNEL))
#define GST_IS_TUNER_CHANNEL_CLASS(klass) \ #define GST_IS_TUNER_CHANNEL_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_TUNER_CHANNEL)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_TUNER_CHANNEL))
typedef enum
{ typedef enum {
GST_TUNER_CHANNEL_INPUT = (1 << 0), GST_TUNER_CHANNEL_INPUT = (1<<0),
GST_TUNER_CHANNEL_OUTPUT = (1 << 1), GST_TUNER_CHANNEL_OUTPUT = (1<<1),
GST_TUNER_CHANNEL_FREQUENCY = (1 << 2), GST_TUNER_CHANNEL_FREQUENCY = (1<<2),
GST_TUNER_CHANNEL_AUDIO = (1 << 3), GST_TUNER_CHANNEL_AUDIO = (1<<3),
} GstTunerChannelFlags; } GstTunerChannelFlags;
#define GST_TUNER_CHANNEL_HAS_FLAG(channel, flag) \ #define GST_TUNER_CHANNEL_HAS_FLAG(channel, flag) \
((channel)->flags & flag) ((channel)->flags & flag)
typedef struct _GstTunerChannel typedef struct _GstTunerChannel {
{
GObject parent; GObject parent;
gchar *label; gchar *label;
GstTunerChannelFlags flags; GstTunerChannelFlags flags;
gulong min_frequency, max_frequency; gulong min_frequency,
gint min_signal, max_signal; max_frequency;
gint min_signal,
max_signal;
} GstTunerChannel; } GstTunerChannel;
typedef struct _GstTunerChannelClass typedef struct _GstTunerChannelClass {
{
GObjectClass parent; GObjectClass parent;
/* signals */ /* signals */
void (*frequency_changed) (GstTunerChannel * channel, gulong frequency); void (*frequency_changed) (GstTunerChannel *channel,
void (*signal_changed) (GstTunerChannel * channel, gint signal); gulong frequency);
void (*signal_changed) (GstTunerChannel *channel,
gint signal);
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
} GstTunerChannelClass; } GstTunerChannelClass;
@ -72,4 +75,5 @@ typedef struct _GstTunerChannelClass
GType gst_tuner_channel_get_type (void); GType gst_tuner_channel_get_type (void);
G_END_DECLS G_END_DECLS
#endif /* __GST_TUNER_CHANNEL_H__ */ #endif /* __GST_TUNER_CHANNEL_H__ */

View file

@ -25,6 +25,7 @@
#include <gst/gst.h> #include <gst/gst.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_TUNER_NORM \ #define GST_TYPE_TUNER_NORM \
(gst_tuner_norm_get_type ()) (gst_tuner_norm_get_type ())
#define GST_TUNER_NORM(obj) \ #define GST_TUNER_NORM(obj) \
@ -35,16 +36,15 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_TUNER_NORM)) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_TUNER_NORM))
#define GST_IS_TUNER_NORM_CLASS(klass) \ #define GST_IS_TUNER_NORM_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_TUNER_NORM)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_TUNER_NORM))
typedef struct _GstTunerNorm
{ typedef struct _GstTunerNorm {
GObject parent; GObject parent;
gchar *label; gchar *label;
gfloat fps; gfloat fps;
} GstTunerNorm; } GstTunerNorm;
typedef struct _GstTunerNormClass typedef struct _GstTunerNormClass {
{
GObjectClass parent; GObjectClass parent;
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
@ -53,4 +53,5 @@ typedef struct _GstTunerNormClass
GType gst_tuner_norm_get_type (void); GType gst_tuner_norm_get_type (void);
G_END_DECLS G_END_DECLS
#endif /* __GST_TUNER_NORM_H__ */ #endif /* __GST_TUNER_NORM_H__ */

View file

@ -25,17 +25,18 @@
#include <gst/gst.h> #include <gst/gst.h>
G_BEGIN_DECLS typedef struct _GstVideofilter GstVideofilter; G_BEGIN_DECLS
typedef struct _GstVideofilter GstVideofilter;
typedef struct _GstVideofilterClass GstVideofilterClass; typedef struct _GstVideofilterClass GstVideofilterClass;
typedef void (*GstVideofilterFilterFunc) (GstVideofilter * filter, typedef void (*GstVideofilterFilterFunc)(GstVideofilter *filter,
void *out_data, void *in_data); void *out_data, void *in_data);
typedef void (*GstVideofilterSetupFunc) (GstVideofilter * filter); typedef void (*GstVideofilterSetupFunc)(GstVideofilter *filter);
typedef struct _GstVideofilterFormat GstVideofilterFormat; typedef struct _GstVideofilterFormat GstVideofilterFormat;
struct _GstVideofilterFormat struct _GstVideofilterFormat {
{
char *fourcc; char *fourcc;
int bpp; int bpp;
GstVideofilterFilterFunc filter_func; GstVideofilterFilterFunc filter_func;
@ -57,11 +58,10 @@ struct _GstVideofilterFormat
#define GST_IS_VIDEOFILTER_CLASS(obj) \ #define GST_IS_VIDEOFILTER_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VIDEOFILTER)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VIDEOFILTER))
struct _GstVideofilter struct _GstVideofilter {
{
GstElement element; GstElement element;
GstPad *sinkpad, *srcpad; GstPad *sinkpad,*srcpad;
/* video state */ /* video state */
gboolean inited; gboolean inited;
@ -81,29 +81,28 @@ struct _GstVideofilter
GstBuffer *out_buf; GstBuffer *out_buf;
}; };
struct _GstVideofilterClass struct _GstVideofilterClass {
{
GstElementClass parent_class; GstElementClass parent_class;
GPtrArray *formats; GPtrArray *formats;
GstVideofilterSetupFunc setup; GstVideofilterSetupFunc setup;
}; };
GType gst_videofilter_get_type (void); GType gst_videofilter_get_type(void);
int gst_videofilter_get_input_width (GstVideofilter * videofilter); int gst_videofilter_get_input_width(GstVideofilter *videofilter);
int gst_videofilter_get_input_height (GstVideofilter * videofilter); int gst_videofilter_get_input_height(GstVideofilter *videofilter);
void gst_videofilter_set_output_size (GstVideofilter * videofilter, void gst_videofilter_set_output_size(GstVideofilter *videofilter,
int width, int height); int width, int height);
GstVideofilterFormat *gst_videofilter_find_format_by_structure (GstVideofilter * GstVideofilterFormat *gst_videofilter_find_format_by_structure (GstVideofilter *filter,
filter, const GstStructure * structure); const GstStructure *structure);
GstCaps *gst_videofilter_class_get_capslist (GstVideofilterClass * GstCaps *gst_videofilter_class_get_capslist(GstVideofilterClass *videofilterclass);
videofilterclass);
void gst_videofilter_class_add_format (GstVideofilterClass * videofilterclass, void gst_videofilter_class_add_format(GstVideofilterClass *videofilterclass,
GstVideofilterFormat * format); GstVideofilterFormat *format);
void gst_videofilter_class_add_pad_templates (GstVideofilterClass * void gst_videofilter_class_add_pad_templates (GstVideofilterClass *videofilterclass);
videofilterclass);
G_END_DECLS G_END_DECLS
#endif /* __GST_VIDEOFILTER_H__ */ #endif /* __GST_VIDEOFILTER_H__ */

View file

@ -24,8 +24,7 @@
#include <gst/gst.h> #include <gst/gst.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C" {
{
#endif /* __cplusplus */ #endif /* __cplusplus */
#define GST_TYPE_VIDEOSINK (gst_videosink_get_type()) #define GST_TYPE_VIDEOSINK (gst_videosink_get_type())
@ -45,11 +44,10 @@ extern "C"
#define GST_VIDEOSINK_HEIGHT(obj) (GST_VIDEOSINK (obj)->height) #define GST_VIDEOSINK_HEIGHT(obj) (GST_VIDEOSINK (obj)->height)
#define GST_VIDEOSINK_CLOCK(obj) (GST_VIDEOSINK (obj)->clock) #define GST_VIDEOSINK_CLOCK(obj) (GST_VIDEOSINK (obj)->clock)
typedef struct _GstVideoSink GstVideoSink; typedef struct _GstVideoSink GstVideoSink;
typedef struct _GstVideoSinkClass GstVideoSinkClass; typedef struct _GstVideoSinkClass GstVideoSinkClass;
struct _GstVideoSink struct _GstVideoSink {
{
GstElement element; GstElement element;
GstPad *sinkpad; GstPad *sinkpad;
@ -59,16 +57,15 @@ extern "C"
GstClock *clock; GstClock *clock;
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
struct _GstVideoSinkClass struct _GstVideoSinkClass {
{
GstElementClass parent_class; GstElementClass parent_class;
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
GType gst_videosink_get_type (void); GType gst_videosink_get_type (void);
#ifdef __cplusplus #ifdef __cplusplus
} }

View file

@ -110,14 +110,14 @@
/* note: the macro name uses the order on BE systems */ /* note: the macro name uses the order on BE systems */
#if G_BYTE_ORDER == G_BIG_ENDIAN #if G_BYTE_ORDER == G_BIG_ENDIAN
#define GST_VIDEO_CAPS_xRGB_HOST_ENDIAN \ #define GST_VIDEO_CAPS_xRGB_HOST_ENDIAN \
GST_VIDEO_CAPS_xRGB GST_VIDEO_CAPS_xRGB
#define GST_VIDEO_CAPS_BGRx_HOST_ENDIAN \ #define GST_VIDEO_CAPS_BGRx_HOST_ENDIAN \
GST_VIDEO_CAPS_BGRx GST_VIDEO_CAPS_BGRx
#else #else
#define GST_VIDEO_CAPS_xRGB_HOST_ENDIAN \ #define GST_VIDEO_CAPS_xRGB_HOST_ENDIAN \
GST_VIDEO_CAPS_BGRx GST_VIDEO_CAPS_BGRx
#define GST_VIDEO_CAPS_BGRx_HOST_ENDIAN \ #define GST_VIDEO_CAPS_BGRx_HOST_ENDIAN \
GST_VIDEO_CAPS_xRGB GST_VIDEO_CAPS_xRGB
#endif #endif
@ -155,7 +155,9 @@
"framerate = " GST_VIDEO_FPS_RANGE "framerate = " GST_VIDEO_FPS_RANGE
/* functions */ /* functions */
gdouble gst_video_frame_rate (GstPad * pad); gdouble gst_video_frame_rate (GstPad *pad);
gboolean gst_video_get_size (GstPad * pad, gint * width, gint * height); gboolean gst_video_get_size (GstPad *pad,
gint *width,
gint *height);
#endif /* __GST_VIDEO_H__ */ #endif /* __GST_VIDEO_H__ */

View file

@ -24,8 +24,7 @@
#include <gst/gst.h> #include <gst/gst.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C" {
{
#endif /* __cplusplus */ #endif /* __cplusplus */
#define GST_TYPE_VIDEOSINK (gst_videosink_get_type()) #define GST_TYPE_VIDEOSINK (gst_videosink_get_type())
@ -45,11 +44,10 @@ extern "C"
#define GST_VIDEOSINK_HEIGHT(obj) (GST_VIDEOSINK (obj)->height) #define GST_VIDEOSINK_HEIGHT(obj) (GST_VIDEOSINK (obj)->height)
#define GST_VIDEOSINK_CLOCK(obj) (GST_VIDEOSINK (obj)->clock) #define GST_VIDEOSINK_CLOCK(obj) (GST_VIDEOSINK (obj)->clock)
typedef struct _GstVideoSink GstVideoSink; typedef struct _GstVideoSink GstVideoSink;
typedef struct _GstVideoSinkClass GstVideoSinkClass; typedef struct _GstVideoSinkClass GstVideoSinkClass;
struct _GstVideoSink struct _GstVideoSink {
{
GstElement element; GstElement element;
GstPad *sinkpad; GstPad *sinkpad;
@ -59,16 +57,15 @@ extern "C"
GstClock *clock; GstClock *clock;
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
struct _GstVideoSinkClass struct _GstVideoSinkClass {
{
GstElementClass parent_class; GstElementClass parent_class;
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
}; };
GType gst_videosink_get_type (void); GType gst_videosink_get_type (void);
#ifdef __cplusplus #ifdef __cplusplus
} }

View file

@ -26,6 +26,7 @@
#include <gst/gst.h> #include <gst/gst.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_X_OVERLAY \ #define GST_TYPE_X_OVERLAY \
(gst_x_overlay_get_type ()) (gst_x_overlay_get_type ())
#define GST_X_OVERLAY(obj) \ #define GST_X_OVERLAY(obj) \
@ -39,22 +40,27 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_X_OVERLAY)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_X_OVERLAY))
#define GST_X_OVERLAY_GET_CLASS(inst) \ #define GST_X_OVERLAY_GET_CLASS(inst) \
(G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_X_OVERLAY, GstXOverlayClass)) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_X_OVERLAY, GstXOverlayClass))
typedef struct _GstXOverlay GstXOverlay; typedef struct _GstXOverlay GstXOverlay;
typedef struct _GstXOverlayClass typedef struct _GstXOverlayClass {
{
GTypeInterface klass; GTypeInterface klass;
/* virtual functions */ /* virtual functions */
void (*set_xwindow_id) (GstXOverlay * overlay, gulong xwindow_id); void (* set_xwindow_id) (GstXOverlay *overlay,
gulong xwindow_id);
/* optional virtual functions */ /* optional virtual functions */
void (*get_desired_size) (GstXOverlay * overlay, void (* get_desired_size) (GstXOverlay *overlay,
guint * width, guint * height); guint *width,
void (*expose) (GstXOverlay * overlay); guint *height);
void (* expose) (GstXOverlay *overlay);
/* signals */ /* signals */
void (*have_xwindow_id) (GstXOverlay * overlay, gulong xwindow_id); void (*have_xwindow_id) (GstXOverlay *overlay,
void (*desired_size) (GstXOverlay * overlay, guint width, guint height); gulong xwindow_id);
void (* desired_size) (GstXOverlay *overlay,
guint width,
guint height);
gpointer _gst_reserved[GST_PADDING]; gpointer _gst_reserved[GST_PADDING];
} GstXOverlayClass; } GstXOverlayClass;
@ -62,15 +68,14 @@ typedef struct _GstXOverlayClass
GType gst_x_overlay_get_type (void); GType gst_x_overlay_get_type (void);
/* virtual class function wrappers */ /* virtual class function wrappers */
void gst_x_overlay_set_xwindow_id (GstXOverlay * overlay, gulong xwindow_id); void gst_x_overlay_set_xwindow_id (GstXOverlay *overlay, gulong xwindow_id);
void gst_x_overlay_get_desired_size (GstXOverlay * overlay, guint * width, void gst_x_overlay_get_desired_size (GstXOverlay *overlay, guint *width, guint *height);
guint * height); void gst_x_overlay_expose (GstXOverlay *overlay);
void gst_x_overlay_expose (GstXOverlay * overlay);
/* public methods to fire signals */ /* public methods to fire signals */
void gst_x_overlay_got_xwindow_id (GstXOverlay * overlay, gulong xwindow_id); void gst_x_overlay_got_xwindow_id (GstXOverlay *overlay, gulong xwindow_id);
void gst_x_overlay_got_desired_size (GstXOverlay * overlay, guint width, void gst_x_overlay_got_desired_size (GstXOverlay *overlay, guint width, guint height);
guint height);
G_END_DECLS G_END_DECLS
#endif /* __GST_X_OVERLAY_H__ */ #endif /* __GST_X_OVERLAY_H__ */

View file

@ -26,6 +26,7 @@
#include <X11/Xlib.h> #include <X11/Xlib.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_X_WINDOW_LISTENER \ #define GST_TYPE_X_WINDOW_LISTENER \
(gst_x_window_listener_get_type()) (gst_x_window_listener_get_type())
#define GST_X_WINDOW_LISTENER(obj) \ #define GST_X_WINDOW_LISTENER(obj) \
@ -38,21 +39,27 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_X_WINDOW_LISTENER)) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_X_WINDOW_LISTENER))
#define GST_IS_X_WINDOW_LISTENER_CLASS(obj) \ #define GST_IS_X_WINDOW_LISTENER_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_X_WINDOW_LISTENER)) (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_X_WINDOW_LISTENER))
typedef struct _GstXWindowListener GstXWindowListener; typedef struct _GstXWindowListener GstXWindowListener;
typedef struct _GstXWindowListenerClass GstXWindowListenerClass; typedef struct _GstXWindowListenerClass GstXWindowListenerClass;
typedef struct _GstXWindowClip GstXWindowClip; typedef struct _GstXWindowClip GstXWindowClip;
typedef void (*MapWindowFunc) (gpointer your_data, gboolean visible); typedef void (* MapWindowFunc) (gpointer your_data,
typedef void (*SetWindowFunc) (gpointer your_data, gboolean visible);
gint x, gint y, gint w, gint h, GstXWindowClip * clips, gint num_clips); typedef void (* SetWindowFunc) (gpointer your_data,
gint x, gint y,
gint w, gint h,
GstXWindowClip *clips,
gint num_clips);
struct _GstXWindowClip struct _GstXWindowClip {
{ gint32 x_offset,
gint32 x_offset, y_offset, width, height; y_offset,
width,
height;
gpointer data; gpointer data;
}; };
struct _GstXWindowListener struct _GstXWindowListener {
{
GObject parent; GObject parent;
/* "per-instance virtual functions" */ /* "per-instance virtual functions" */
@ -77,24 +84,33 @@ struct _GstXWindowListener
/* the overlay window + own thread */ /* the overlay window + own thread */
Display *display; Display *display;
Drawable child; Drawable child;
gboolean ov_conf, ov_map, ov_visible, ov_refresh, ov_move, ov_wmmap; gboolean ov_conf,
ov_map,
ov_visible,
ov_refresh,
ov_move,
ov_wmmap;
gint ov_visibility; gint ov_visibility;
guint ov_conf_id, ov_refresh_id; guint ov_conf_id,
ov_refresh_id;
gint x, y, w, h; gint x, y, w, h;
GstXWindowClip *clips; GstXWindowClip *clips;
gint num_clips; gint num_clips;
}; };
struct _GstXWindowListenerClass struct _GstXWindowListenerClass {
{
GObjectClass parent; GObjectClass parent;
}; };
GType gst_x_window_listener_get_type (void); GType gst_x_window_listener_get_type (void);
GstXWindowListener *gst_x_window_listener_new (gchar * display, GstXWindowListener *
gst_x_window_listener_new (gchar *display,
MapWindowFunc map_window_func, MapWindowFunc map_window_func,
SetWindowFunc set_window_func, gpointer private_data); SetWindowFunc set_window_func,
void gst_x_window_listener_set_xid (GstXWindowListener * xwin, XID id); gpointer private_data);
void gst_x_window_listener_set_xid (GstXWindowListener *xwin,
XID id);
G_END_DECLS G_END_DECLS
#endif /* __X_WINDOW_LISTENER_H__ */ #endif /* __X_WINDOW_LISTENER_H__ */

View file

@ -27,11 +27,10 @@
#include <gst/bytestream/bytestream.h> #include <gst/bytestream/bytestream.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C" {
{
#endif /* __cplusplus */ #endif /* __cplusplus */
extern GstElementDetails gst_adder_details; extern GstElementDetails gst_adder_details;
#define GST_TYPE_ADDER \ #define GST_TYPE_ADDER \
(gst_adder_get_type()) (gst_adder_get_type())
@ -44,26 +43,23 @@ extern "C"
#define GST_IS_ADDER_CLASS(obj) \ #define GST_IS_ADDER_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ADDER)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ADDER))
typedef struct _GstAdder GstAdder; typedef struct _GstAdder GstAdder;
typedef struct _GstAdderClass GstAdderClass; typedef struct _GstAdderClass GstAdderClass;
typedef struct _GstAdderInputChannel GstAdderInputChannel; typedef struct _GstAdderInputChannel GstAdderInputChannel;
typedef enum _GstAdderFormat GstAdderFormat; typedef enum _GstAdderFormat GstAdderFormat;
enum _GstAdderFormat enum _GstAdderFormat {
{
GST_ADDER_FORMAT_UNSET, GST_ADDER_FORMAT_UNSET,
GST_ADDER_FORMAT_INT, GST_ADDER_FORMAT_INT,
GST_ADDER_FORMAT_FLOAT GST_ADDER_FORMAT_FLOAT
}; };
struct _GstAdderInputChannel struct _GstAdderInputChannel {
{
GstPad *sinkpad; GstPad *sinkpad;
GstByteStream *bytestream; GstByteStream *bytestream;
}; };
struct _GstAdder struct _GstAdder {
{
GstElement element; GstElement element;
GstPad *srcpad; GstPad *srcpad;
@ -86,15 +82,14 @@ extern "C"
/* counters to keep track of timestamps */ /* counters to keep track of timestamps */
gint64 timestamp; gint64 timestamp;
gint64 offset; gint64 offset;
}; };
struct _GstAdderClass struct _GstAdderClass {
{
GstElementClass parent_class; GstElementClass parent_class;
}; };
GType gst_adder_get_type (void); GType gst_adder_get_type (void);
gboolean gst_adder_factory_init (GstElementFactory * factory); gboolean gst_adder_factory_init (GstElementFactory *factory);
#ifdef __cplusplus #ifdef __cplusplus
} }

View file

@ -28,6 +28,8 @@
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_AUDIOSCALE \ #define GST_TYPE_AUDIOSCALE \
(audioscale_get_type()) (audioscale_get_type())
#define GST_AUDIOSCALE(obj) \ #define GST_AUDIOSCALE(obj) \
@ -38,8 +40,8 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIOSCALE)) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AUDIOSCALE))
#define GST_IS_AUDIOSCALE_CLASS(obj) \ #define GST_IS_AUDIOSCALE_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIOSCALE)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIOSCALE))
typedef enum
{ typedef enum {
GST_AUDIOSCALE_NEAREST, GST_AUDIOSCALE_NEAREST,
GST_AUDIOSCALE_BILINEAR, GST_AUDIOSCALE_BILINEAR,
GST_AUDIOSCALE_SINC, GST_AUDIOSCALE_SINC,
@ -48,11 +50,10 @@ G_BEGIN_DECLS
typedef struct _Audioscale Audioscale; typedef struct _Audioscale Audioscale;
typedef struct _AudioscaleClass AudioscaleClass; typedef struct _AudioscaleClass AudioscaleClass;
struct _Audioscale struct _Audioscale {
{
GstElement element; GstElement element;
GstPad *sinkpad, *srcpad; GstPad *sinkpad,*srcpad;
/* audio state */ /* audio state */
gboolean passthru; gboolean passthru;
@ -63,13 +64,14 @@ struct _Audioscale
GstBuffer *outbuf; GstBuffer *outbuf;
}; };
struct _AudioscaleClass struct _AudioscaleClass {
{
GstElementClass parent_class; GstElementClass parent_class;
}; };
GType gst_audioscale_get_type (void); GType gst_audioscale_get_type(void);
G_END_DECLS G_END_DECLS
#endif /* __AUDIOSCALE_H__ */ #endif /* __AUDIOSCALE_H__ */

View file

@ -27,7 +27,10 @@
#include <gst/gst.h> #include <gst/gst.h>
G_BEGIN_DECLS GstElementDetails gst_sinesrc_details; G_BEGIN_DECLS
GstElementDetails gst_sinesrc_details;
#define GST_TYPE_SINESRC \ #define GST_TYPE_SINESRC \
@ -44,8 +47,7 @@ G_BEGIN_DECLS GstElementDetails gst_sinesrc_details;
typedef struct _GstSineSrc GstSineSrc; typedef struct _GstSineSrc GstSineSrc;
typedef struct _GstSineSrcClass GstSineSrcClass; typedef struct _GstSineSrcClass GstSineSrcClass;
struct _GstSineSrc struct _GstSineSrc {
{
GstElement element; GstElement element;
/* pads */ /* pads */
@ -82,13 +84,14 @@ struct _GstSineSrc
GstClock *clock; GstClock *clock;
}; };
struct _GstSineSrcClass struct _GstSineSrcClass {
{
GstElementClass parent_class; GstElementClass parent_class;
}; };
GType gst_sinesrc_get_type (void); GType gst_sinesrc_get_type(void);
gboolean gst_sinesrc_factory_init (GstElementFactory * factory); gboolean gst_sinesrc_factory_init (GstElementFactory *factory);
G_END_DECLS G_END_DECLS
#endif /* __GST_SINESRC_H__ */ #endif /* __GST_SINESRC_H__ */

View file

@ -23,11 +23,13 @@
#include <gst/tag/tag.h> #include <gst/tag/tag.h>
G_BEGIN_DECLS typedef struct _GstTagEntryMatch GstTagEntryMatch; G_BEGIN_DECLS
struct _GstTagEntryMatch
{
gchar *gstreamer_tag; typedef struct _GstTagEntryMatch GstTagEntryMatch;
gchar *original_tag; struct _GstTagEntryMatch {
gchar * gstreamer_tag;
gchar * original_tag;
}; };
@ -35,4 +37,5 @@ GType gst_vorbis_tag_get_type (void);
G_END_DECLS G_END_DECLS
#endif /* __GST_TAG_EDIT_PRIVATE_H__ */ #endif /* __GST_TAG_EDIT_PRIVATE_H__ */

View file

@ -25,8 +25,7 @@
#include <gst/gst.h> #include <gst/gst.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C" {
{
#endif /* __cplusplus */ #endif /* __cplusplus */
#include <stdio.h> #include <stdio.h>
@ -55,22 +54,20 @@ extern "C"
#define GST_IS_TCPSINK_CLASS(obj) \ #define GST_IS_TCPSINK_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_TCPSINK)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_TCPSINK))
typedef struct _GstTCPSink GstTCPSink; typedef struct _GstTCPSink GstTCPSink;
typedef struct _GstTCPSinkClass GstTCPSinkClass; typedef struct _GstTCPSinkClass GstTCPSinkClass;
typedef enum typedef enum {
{
GST_TCPSINK_OPEN = GST_ELEMENT_FLAG_LAST, GST_TCPSINK_OPEN = GST_ELEMENT_FLAG_LAST,
GST_TCPSINK_FLAG_LAST = GST_ELEMENT_FLAG_LAST + 2, GST_TCPSINK_FLAG_LAST = GST_ELEMENT_FLAG_LAST + 2,
} GstTCPSinkFlags; } GstTCPSinkFlags;
struct _GstTCPSink struct _GstTCPSink {
{
GstElement element; GstElement element;
/* pads */ /* pads */
GstPad *sinkpad, *srcpad; GstPad *sinkpad,*srcpad;
int sock; int sock;
struct sockaddr_in theiraddr; struct sockaddr_in theiraddr;
@ -82,14 +79,13 @@ extern "C"
guint mtu; guint mtu;
GstClock *clock; GstClock *clock;
}; };
struct _GstTCPSinkClass struct _GstTCPSinkClass {
{
GstElementClass parent_class; GstElementClass parent_class;
}; };
GType gst_tcpsink_get_type (void); GType gst_tcpsink_get_type(void);
#ifdef __cplusplus #ifdef __cplusplus

View file

@ -24,8 +24,7 @@
#include <gst/gst.h> #include <gst/gst.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C" {
{
#endif /* __cplusplus */ #endif /* __cplusplus */
#include <errno.h> #include <errno.h>
@ -50,24 +49,22 @@ extern "C"
#define GST_IS_TCPSRC_CLASS(obj) \ #define GST_IS_TCPSRC_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_TCPSRC)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_TCPSRC))
typedef struct _GstTCPSrc GstTCPSrc; typedef struct _GstTCPSrc GstTCPSrc;
typedef struct _GstTCPSrcClass GstTCPSrcClass; typedef struct _GstTCPSrcClass GstTCPSrcClass;
typedef enum typedef enum {
{
GST_TCPSRC_OPEN = GST_ELEMENT_FLAG_LAST, GST_TCPSRC_OPEN = GST_ELEMENT_FLAG_LAST,
GST_TCPSRC_1ST_BUF, GST_TCPSRC_1ST_BUF,
GST_TCPSRC_CONNECTED, GST_TCPSRC_CONNECTED,
GST_TCPSRC_FLAG_LAST, GST_TCPSRC_FLAG_LAST,
} GstTCPSrcFlags; } GstTCPSrcFlags;
struct _GstTCPSrc struct _GstTCPSrc {
{
GstElement element; GstElement element;
/* pads */ /* pads */
GstPad *sinkpad, *srcpad; GstPad *sinkpad,*srcpad;
int port; int port;
int sock; int sock;
@ -78,14 +75,13 @@ extern "C"
struct sockaddr_in myaddr; struct sockaddr_in myaddr;
GstClock *clock; GstClock *clock;
}; };
struct _GstTCPSrcClass struct _GstTCPSrcClass {
{
GstElementClass parent_class; GstElementClass parent_class;
}; };
GType gst_tcpsrc_get_type (void); GType gst_tcpsrc_get_type(void);
#ifdef __cplusplus #ifdef __cplusplus

View file

@ -26,12 +26,11 @@
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C" {
{
#endif /* __cplusplus */ #endif /* __cplusplus */
/* debugging */ /* debugging */
GST_DEBUG_CATEGORY_EXTERN (videoscale_debug); GST_DEBUG_CATEGORY_EXTERN (videoscale_debug);
#define GST_CAT_DEFAULT videoscale_debug #define GST_CAT_DEFAULT videoscale_debug
#define GST_TYPE_VIDEOSCALE \ #define GST_TYPE_VIDEOSCALE \
@ -45,22 +44,20 @@ extern "C"
#define GST_IS_VIDEOSCALE_CLASS(obj) \ #define GST_IS_VIDEOSCALE_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VIDEOSCALE)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VIDEOSCALE))
typedef enum typedef enum {
{
GST_VIDEOSCALE_POINT_SAMPLE, GST_VIDEOSCALE_POINT_SAMPLE,
GST_VIDEOSCALE_NEAREST, GST_VIDEOSCALE_NEAREST,
GST_VIDEOSCALE_BILINEAR, GST_VIDEOSCALE_BILINEAR,
GST_VIDEOSCALE_BICUBIC GST_VIDEOSCALE_BICUBIC
} GstVideoScaleMethod; } GstVideoScaleMethod;
typedef struct _GstVideoscale GstVideoscale; typedef struct _GstVideoscale GstVideoscale;
typedef struct _GstVideoscaleClass GstVideoscaleClass; typedef struct _GstVideoscaleClass GstVideoscaleClass;
struct _GstVideoscale struct _GstVideoscale {
{
GstElement element; GstElement element;
GstPad *sinkpad, *srcpad; GstPad *sinkpad,*srcpad;
/* video state */ /* video state */
gboolean inited; gboolean inited;
@ -79,19 +76,18 @@ extern "C"
gint to_buf_size; gint to_buf_size;
#if 0 #if 0
guchar *temp; guchar *temp;
guchar (*filter) (guchar * src, gdouble x, gdouble y, gint sw, gint sh); guchar (*filter) (guchar *src, gdouble x, gdouble y, gint sw, gint sh);
guchar copy_row[8192]; guchar copy_row[8192];
#endif #endif
}; };
struct _GstVideoscaleClass struct _GstVideoscaleClass {
{
GstElementClass parent_class; GstElementClass parent_class;
}; };
GType gst_videoscale_get_type (void); GType gst_videoscale_get_type(void);
void gst_videoscale_setup (GstVideoscale *); void gst_videoscale_setup(GstVideoscale *);
#define gst_videoscale_scale(scale, src, dest) (scale)->scale_cc((scale), (src), (dest)) #define gst_videoscale_scale(scale, src, dest) (scale)->scale_cc((scale), (src), (dest))
#ifdef __cplusplus #ifdef __cplusplus

View file

@ -23,11 +23,10 @@
#include "gstvideoscale.h" #include "gstvideoscale.h"
struct videoscale_format_struct struct videoscale_format_struct {
{
unsigned int fourcc; unsigned int fourcc;
int bpp; int bpp;
void (*scale) (GstVideoscale *, unsigned char *dest, unsigned char *src); void (*scale)(GstVideoscale *,unsigned char *dest, unsigned char *src);
int depth; int depth;
unsigned int endianness; unsigned int endianness;
unsigned int red_mask; unsigned int red_mask;
@ -38,11 +37,10 @@ struct videoscale_format_struct
extern struct videoscale_format_struct videoscale_formats[]; extern struct videoscale_format_struct videoscale_formats[];
extern int videoscale_n_formats; extern int videoscale_n_formats;
GstStructure *videoscale_get_structure (struct videoscale_format_struct GstStructure *videoscale_get_structure(struct videoscale_format_struct *format);
*format);
struct videoscale_format_struct *videoscale_find_by_structure (GstStructure * struct videoscale_format_struct *videoscale_find_by_structure (GstStructure *structure);
structure);
#endif #endif

View file

@ -23,8 +23,8 @@
/* scalers */ /* scalers */
void gst_videoscale_generate_rowbytes_x86 (unsigned char *copy_row, int src_w, void gst_videoscale_generate_rowbytes_x86 (unsigned char *copy_row, int src_w, int dst_w, int bpp);
int dst_w, int bpp); void gst_videoscale_scale_nearest_x86 (GstVideoscale *scale,
void gst_videoscale_scale_nearest_x86 (GstVideoscale * scale, unsigned char *src, unsigned char *dest,
unsigned char *src, unsigned char *dest, int sw, int sh, int dw, int dh); int sw, int sh, int dw, int dh);
#endif /* __GST_VIDEOSCALE__X86_H__ */ #endif /* __GST_VIDEOSCALE__X86_H__ */

View file

@ -26,6 +26,7 @@
#include <gst/gst.h> #include <gst/gst.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_VIDEOTESTSRC \ #define GST_TYPE_VIDEOTESTSRC \
(gst_videotestsrc_get_type()) (gst_videotestsrc_get_type())
#define GST_VIDEOTESTSRC(obj) \ #define GST_VIDEOTESTSRC(obj) \
@ -36,8 +37,8 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_VIDEOTESTSRC)) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_VIDEOTESTSRC))
#define GST_IS_VIDEOTESTSRC_CLASS(obj) \ #define GST_IS_VIDEOTESTSRC_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VIDEOTESTSRC)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VIDEOTESTSRC))
typedef enum
{ typedef enum {
GST_VIDEOTESTSRC_SMPTE, GST_VIDEOTESTSRC_SMPTE,
GST_VIDEOTESTSRC_SNOW, GST_VIDEOTESTSRC_SNOW,
GST_VIDEOTESTSRC_BLACK, GST_VIDEOTESTSRC_BLACK,
@ -46,11 +47,10 @@ G_BEGIN_DECLS
typedef struct _GstVideotestsrc GstVideotestsrc; typedef struct _GstVideotestsrc GstVideotestsrc;
typedef struct _GstVideotestsrcClass GstVideotestsrcClass; typedef struct _GstVideotestsrcClass GstVideotestsrcClass;
struct _GstVideotestsrc struct _GstVideotestsrc {
{
GstElement element; GstElement element;
GstPad *sinkpad, *srcpad; GstPad *sinkpad,*srcpad;
/* parameters */ /* parameters */
gboolean sync; gboolean sync;
@ -69,17 +69,15 @@ struct _GstVideotestsrc
int type; int type;
GstClock *clock; GstClock *clock;
void (*make_image) (GstVideotestsrc * v, unsigned char *dest, int w, int h); void (*make_image)(GstVideotestsrc *v, unsigned char *dest, int w, int h);
}; };
struct _GstVideotestsrcClass struct _GstVideotestsrcClass {
{
GstElementClass parent_class; GstElementClass parent_class;
}; };
GType GType gst_videotestsrc_get_type(void) G_GNUC_CONST;
gst_videotestsrc_get_type (void)
G_GNUC_CONST;
G_END_DECLS G_END_DECLS
#endif /* __GST_VIDEOTESTSRC_H__ */ #endif /* __GST_VIDEOTESTSRC_H__ */

View file

@ -20,10 +20,9 @@
#ifndef __VIDEOTESTSRC_H__ #ifndef __VIDEOTESTSRC_H__
#define __VIDEOTESTSRC_H__ #define __VIDEOTESTSRC_H__
struct vts_color_struct struct vts_color_struct{
{ int Y,U,V;
int Y, U, V; int R,G,B;
int R, G, B;
}; };
typedef struct paintinfo_struct paintinfo; typedef struct paintinfo_struct paintinfo;
@ -55,20 +54,18 @@ struct fourcc_list_struct
unsigned int blue_mask; unsigned int blue_mask;
}; };
struct fourcc_list_struct *paintrect_find_fourcc (int find_fourcc); struct fourcc_list_struct * paintrect_find_fourcc (int find_fourcc);
struct fourcc_list_struct *paintrect_find_name (const char *name); struct fourcc_list_struct * paintrect_find_name (const char *name);
struct fourcc_list_struct *paintinfo_find_by_structure (const GstStructure * struct fourcc_list_struct *paintinfo_find_by_structure(
structure); const GstStructure *structure);
GstStructure *paint_get_structure (struct fourcc_list_struct *format); GstStructure *paint_get_structure(struct fourcc_list_struct *format);
int gst_videotestsrc_get_size (GstVideotestsrc * v, int w, int h); int gst_videotestsrc_get_size (GstVideotestsrc * v, int w, int h);
void gst_videotestsrc_smpte (GstVideotestsrc * v, unsigned char *dest, int w, void gst_videotestsrc_smpte (GstVideotestsrc * v, unsigned char *dest, int w, int h);
int h); void gst_videotestsrc_snow (GstVideotestsrc * v, unsigned char *dest, int w, int h);
void gst_videotestsrc_snow (GstVideotestsrc * v, unsigned char *dest, int w, void gst_videotestsrc_black (GstVideotestsrc * v, unsigned char *dest, int w, int h);
int h);
void gst_videotestsrc_black (GstVideotestsrc * v, unsigned char *dest, int w,
int h);
extern struct fourcc_list_struct fourcc_list[]; extern struct fourcc_list_struct fourcc_list[];
extern int n_fourccs; extern int n_fourccs;
#endif #endif

View file

@ -28,8 +28,7 @@
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C" {
{
#endif /* __cplusplus */ #endif /* __cplusplus */
@ -44,18 +43,16 @@ extern "C"
#define GST_IS_VOLUME_CLASS(obj) \ #define GST_IS_VOLUME_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VOLUME)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VOLUME))
typedef struct _GstVolume GstVolume; typedef struct _GstVolume GstVolume;
typedef struct _GstVolumeClass GstVolumeClass; typedef struct _GstVolumeClass GstVolumeClass;
typedef enum _GstVolumeFormat GstVolumeFormat; typedef enum _GstVolumeFormat GstVolumeFormat;
enum _GstVolumeFormat enum _GstVolumeFormat {
{ GST_VOLUME_FORMAT_INT=1,
GST_VOLUME_FORMAT_INT = 1,
GST_VOLUME_FORMAT_FLOAT GST_VOLUME_FORMAT_FLOAT
}; };
struct _GstVolume struct _GstVolume {
{
GstElement element; GstElement element;
GstPad *sinkpad, *srcpad; GstPad *sinkpad, *srcpad;
@ -66,14 +63,13 @@ extern "C"
gfloat volume_f, real_vol_f; /* _f(loat) values on each update */ gfloat volume_f, real_vol_f; /* _f(loat) values on each update */
GList *tracklist; GList *tracklist;
}; };
struct _GstVolumeClass struct _GstVolumeClass {
{
GstElementClass parent_class; GstElementClass parent_class;
}; };
GType gst_volume_get_type (void); GType gst_volume_get_type(void);
#ifdef __cplusplus #ifdef __cplusplus
} }

View file

@ -27,6 +27,7 @@
#include "v4l_calls.h" #include "v4l_calls.h"
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_V4L_COLOR_BALANCE_CHANNEL \ #define GST_TYPE_V4L_COLOR_BALANCE_CHANNEL \
(gst_v4l_color_balance_channel_get_type ()) (gst_v4l_color_balance_channel_get_type ())
#define GST_V4L_COLOR_BALANCE_CHANNEL(obj) \ #define GST_V4L_COLOR_BALANCE_CHANNEL(obj) \
@ -39,20 +40,19 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_V4L_COLOR_BALANCE_CHANNEL)) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_V4L_COLOR_BALANCE_CHANNEL))
#define GST_IS_V4L_COLOR_BALANCE_CHANNEL_CLASS(klass) \ #define GST_IS_V4L_COLOR_BALANCE_CHANNEL_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_V4L_COLOR_BALANCE_CHANNEL)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_V4L_COLOR_BALANCE_CHANNEL))
typedef struct _GstV4lColorBalanceChannel
{ typedef struct _GstV4lColorBalanceChannel {
GstColorBalanceChannel parent; GstColorBalanceChannel parent;
GstV4lPictureType index; GstV4lPictureType index;
} GstV4lColorBalanceChannel; } GstV4lColorBalanceChannel;
typedef struct _GstV4lColorBalanceChannelClass typedef struct _GstV4lColorBalanceChannelClass {
{
GstColorBalanceChannelClass parent; GstColorBalanceChannelClass parent;
} GstV4lColorBalanceChannelClass; } 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__ */ #endif /* __GST_V4L_COLOR_BALANCE_H__ */

View file

@ -41,6 +41,7 @@
#include <gst/gst.h> #include <gst/gst.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_V4LELEMENT \ #define GST_TYPE_V4LELEMENT \
(gst_v4lelement_get_type()) (gst_v4lelement_get_type())
#define GST_V4LELEMENT(obj) \ #define GST_V4LELEMENT(obj) \
@ -53,11 +54,11 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_V4LELEMENT)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_V4LELEMENT))
#define GST_V4LELEMENT_GET_CLASS(obj) \ #define GST_V4LELEMENT_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_V4LELEMENT, GstV4lElementClass)) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_V4LELEMENT, GstV4lElementClass))
typedef struct _GstV4lElement GstV4lElement; typedef struct _GstV4lElement GstV4lElement;
typedef struct _GstV4lElementClass GstV4lElementClass; typedef struct _GstV4lElementClass GstV4lElementClass;
struct _GstV4lElement struct _GstV4lElement {
{
GstElement element; GstElement element;
/* the video device */ /* the video device */
@ -88,26 +89,30 @@ struct _GstV4lElement
gchar *display; gchar *display;
}; };
struct _GstV4lElementClass struct _GstV4lElementClass {
{
GstElementClass parent_class; GstElementClass parent_class;
/* probed devices */ /* probed devices */
GList *devices; GList *devices;
/* signals */ /* signals */
void (*open) (GstElement * element, const gchar * device); void (*open) (GstElement *element,
void (*close) (GstElement * element, const gchar * device); const gchar *device);
void (*close) (GstElement *element,
const gchar *device);
/* actions */ /* actions */
gboolean (*get_attribute) (GstElement * element, gboolean (*get_attribute) (GstElement *element,
const gchar * attr_name, int *value); const gchar *attr_name,
gboolean (*set_attribute) (GstElement * element, int *value);
const gchar * attr_name, const int value); gboolean (*set_attribute) (GstElement *element,
const gchar *attr_name,
const int value);
}; };
GType gst_v4lelement_get_type (void); GType gst_v4lelement_get_type(void);
G_END_DECLS G_END_DECLS
#endif /* __GST_V4LELEMENT_H__ */ #endif /* __GST_V4LELEMENT_H__ */

View file

@ -26,6 +26,8 @@
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_V4LMJPEGSINK \ #define GST_TYPE_V4LMJPEGSINK \
(gst_v4lmjpegsink_get_type()) (gst_v4lmjpegsink_get_type())
#define GST_V4LMJPEGSINK(obj) \ #define GST_V4LMJPEGSINK(obj) \
@ -36,11 +38,11 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_V4LMJPEGSINK)) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_V4LMJPEGSINK))
#define GST_IS_V4LMJPEGSINK_CLASS(obj) \ #define GST_IS_V4LMJPEGSINK_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_V4LMJPEGSINK)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_V4LMJPEGSINK))
typedef struct _GstV4lMjpegSink GstV4lMjpegSink; typedef struct _GstV4lMjpegSink GstV4lMjpegSink;
typedef struct _GstV4lMjpegSinkClass GstV4lMjpegSinkClass; typedef struct _GstV4lMjpegSinkClass GstV4lMjpegSinkClass;
struct _GstV4lMjpegSink struct _GstV4lMjpegSink {
{
GstV4lElement v4lelement; GstV4lElement v4lelement;
/* the sink pas */ /* the sink pas */
@ -77,16 +79,16 @@ struct _GstV4lMjpegSink
gint bufsize; /* in KB */ gint bufsize; /* in KB */
}; };
struct _GstV4lMjpegSinkClass struct _GstV4lMjpegSinkClass {
{
GstV4lElementClass parent_class; GstV4lElementClass parent_class;
/* signals */ /* signals */
void (*frame_displayed) (GstElement * element); void (*frame_displayed) (GstElement *element);
}; };
GType gst_v4lmjpegsink_get_type (void); GType gst_v4lmjpegsink_get_type(void);
G_END_DECLS G_END_DECLS
#endif /* __GST_SDLVIDEOSINK_H__ */ #endif /* __GST_SDLVIDEOSINK_H__ */

View file

@ -25,6 +25,7 @@
#include <videodev_mjpeg.h> #include <videodev_mjpeg.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_V4LMJPEGSRC \ #define GST_TYPE_V4LMJPEGSRC \
(gst_v4lmjpegsrc_get_type()) (gst_v4lmjpegsrc_get_type())
#define GST_V4LMJPEGSRC(obj) \ #define GST_V4LMJPEGSRC(obj) \
@ -35,11 +36,11 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_V4LMJPEGSRC)) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_V4LMJPEGSRC))
#define GST_IS_V4LMJPEGSRC_CLASS(obj) \ #define GST_IS_V4LMJPEGSRC_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_V4LMJPEGSRC)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_V4LMJPEGSRC))
typedef struct _GstV4lMjpegSrc GstV4lMjpegSrc; typedef struct _GstV4lMjpegSrc GstV4lMjpegSrc;
typedef struct _GstV4lMjpegSrcClass GstV4lMjpegSrcClass; typedef struct _GstV4lMjpegSrcClass GstV4lMjpegSrcClass;
struct _GstV4lMjpegSrc struct _GstV4lMjpegSrc {
{
GstV4lElement v4lelement; GstV4lElement v4lelement;
/* pads */ /* pads */
@ -94,18 +95,19 @@ struct _GstV4lMjpegSrc
gint numbufs; gint numbufs;
}; };
struct _GstV4lMjpegSrcClass struct _GstV4lMjpegSrcClass {
{
GstV4lElementClass parent_class; GstV4lElementClass parent_class;
void (*frame_capture) (GObject * object); void (*frame_capture) (GObject *object);
void (*frame_drop) (GObject * object); void (*frame_drop) (GObject *object);
void (*frame_insert) (GObject * object); void (*frame_insert) (GObject *object);
void (*frame_lost) (GObject * object, gint num_lost); void (*frame_lost) (GObject *object,
gint num_lost);
}; };
GType gst_v4lmjpegsrc_get_type (void); GType gst_v4lmjpegsrc_get_type(void);
G_END_DECLS G_END_DECLS
#endif /* __GST_V4LMJPEGSRC_H__ */ #endif /* __GST_V4LMJPEGSRC_H__ */

View file

@ -23,6 +23,7 @@
#include <gstv4lelement.h> #include <gstv4lelement.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_V4LSRC \ #define GST_TYPE_V4LSRC \
(gst_v4lsrc_get_type()) (gst_v4lsrc_get_type())
#define GST_V4LSRC(obj) \ #define GST_V4LSRC(obj) \
@ -33,19 +34,18 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_V4LSRC)) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_V4LSRC))
#define GST_IS_V4LSRC_CLASS(obj) \ #define GST_IS_V4LSRC_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_V4LSRC)) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_V4LSRC))
typedef struct _GstV4lSrc GstV4lSrc; typedef struct _GstV4lSrc GstV4lSrc;
typedef struct _GstV4lSrcClass GstV4lSrcClass; typedef struct _GstV4lSrcClass GstV4lSrcClass;
enum enum {
{
QUEUE_STATE_ERROR = -1, QUEUE_STATE_ERROR = -1,
QUEUE_STATE_READY_FOR_QUEUE, QUEUE_STATE_READY_FOR_QUEUE,
QUEUE_STATE_QUEUED, QUEUE_STATE_QUEUED,
QUEUE_STATE_SYNCED, QUEUE_STATE_SYNCED,
}; };
struct _GstV4lSrc struct _GstV4lSrc {
{
GstV4lElement v4lelement; GstV4lElement v4lelement;
/* pads */ /* pads */
@ -90,17 +90,17 @@ struct _GstV4lSrc
gboolean use_fixed_fps; gboolean use_fixed_fps;
}; };
struct _GstV4lSrcClass struct _GstV4lSrcClass {
{
GstV4lElementClass parent_class; GstV4lElementClass parent_class;
void (*frame_capture) (GObject * object); void (*frame_capture) (GObject *object);
void (*frame_drop) (GObject * object); void (*frame_drop) (GObject *object);
void (*frame_insert) (GObject * object); void (*frame_insert) (GObject *object);
}; };
GType gst_v4lsrc_get_type (void); GType gst_v4lsrc_get_type(void);
G_END_DECLS G_END_DECLS
#endif /* __GST_V4LSRC_H__ */ #endif /* __GST_V4LSRC_H__ */

View file

@ -26,6 +26,7 @@
#include <gst/tuner/tuner.h> #include <gst/tuner/tuner.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_V4L_TUNER_CHANNEL \ #define GST_TYPE_V4L_TUNER_CHANNEL \
(gst_v4l_tuner_channel_get_type ()) (gst_v4l_tuner_channel_get_type ())
#define GST_V4L_TUNER_CHANNEL(obj) \ #define GST_V4L_TUNER_CHANNEL(obj) \
@ -38,8 +39,8 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_V4L_TUNER_CHANNEL)) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_V4L_TUNER_CHANNEL))
#define GST_IS_V4L_TUNER_CHANNEL_CLASS(klass) \ #define GST_IS_V4L_TUNER_CHANNEL_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_V4L_TUNER_CHANNEL)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_V4L_TUNER_CHANNEL))
typedef struct _GstV4lTunerChannel
{ typedef struct _GstV4lTunerChannel {
GstTunerChannel parent; GstTunerChannel parent;
gint index; gint index;
@ -47,8 +48,7 @@ G_BEGIN_DECLS
gint audio; gint audio;
} GstV4lTunerChannel; } GstV4lTunerChannel;
typedef struct _GstV4lTunerChannelClass typedef struct _GstV4lTunerChannelClass {
{
GstTunerChannelClass parent; GstTunerChannelClass parent;
} GstV4lTunerChannelClass; } GstV4lTunerChannelClass;
@ -65,21 +65,19 @@ typedef struct _GstV4lTunerChannelClass
#define GST_IS_V4L_TUNER_NORM_CLASS(klass) \ #define GST_IS_V4L_TUNER_NORM_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_V4L_TUNER_NORM)) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_V4L_TUNER_NORM))
typedef struct _GstV4lTunerNorm typedef struct _GstV4lTunerNorm {
{
GstTunerNorm parent; GstTunerNorm parent;
gint index; gint index;
} GstV4lTunerNorm; } GstV4lTunerNorm;
typedef struct _GstV4lTunerNormClass typedef struct _GstV4lTunerNormClass {
{
GstTunerNormClass parent; GstTunerNormClass parent;
} GstV4lTunerNormClass; } GstV4lTunerNormClass;
GType gst_v4l_tuner_channel_get_type (void); GType gst_v4l_tuner_channel_get_type (void);
GType gst_v4l_tuner_norm_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__ */ #endif /* __GST_V4L_TUNER_H__ */

View file

@ -27,13 +27,16 @@
#include "gstv4lelement.h" #include "gstv4lelement.h"
G_BEGIN_DECLS void gst_v4l_xoverlay_interface_init (GstXOverlayClass * klass); G_BEGIN_DECLS
GstXWindowListener *gst_v4l_xoverlay_new (GstV4lElement * v4lelement); void gst_v4l_xoverlay_interface_init (GstXOverlayClass *klass);
void gst_v4l_xoverlay_free (GstV4lElement * v4lelement);
GstXWindowListener *
gst_v4l_xoverlay_new (GstV4lElement *v4lelement);
void gst_v4l_xoverlay_free (GstV4lElement *v4lelement);
/* signal handlers */ /* signal handlers */
void gst_v4l_xoverlay_open (GstV4lElement * v4lelement); void gst_v4l_xoverlay_open (GstV4lElement *v4lelement);
void gst_v4l_xoverlay_close (GstV4lElement * v4lelement); void gst_v4l_xoverlay_close (GstV4lElement *v4lelement);
#endif /* __GST_V4L_X_OVERLAY_H__ */ #endif /* __GST_V4L_X_OVERLAY_H__ */

View file

@ -24,8 +24,7 @@
#include "gst/gst-i18n-plugin.h" #include "gst/gst-i18n-plugin.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C" {
{
#endif /* __cplusplus */ #endif /* __cplusplus */
@ -86,58 +85,71 @@ extern "C"
} }
typedef enum typedef enum {
{
V4L_PICTURE_HUE = 0, V4L_PICTURE_HUE = 0,
V4L_PICTURE_BRIGHTNESS, V4L_PICTURE_BRIGHTNESS,
V4L_PICTURE_CONTRAST, V4L_PICTURE_CONTRAST,
V4L_PICTURE_SATURATION, V4L_PICTURE_SATURATION,
} GstV4lPictureType; } GstV4lPictureType;
typedef enum typedef enum {
{
V4L_AUDIO_VOLUME = 0, V4L_AUDIO_VOLUME = 0,
V4L_AUDIO_MUTE, V4L_AUDIO_MUTE,
V4L_AUDIO_MODE, /* stereo, mono, ... (see videodev.h) */ V4L_AUDIO_MODE, /* stereo, mono, ... (see videodev.h) */
} GstV4lAudioType; } GstV4lAudioType;
/* open/close the device */ /* open/close the device */
gboolean gst_v4l_open (GstV4lElement * v4lelement); gboolean gst_v4l_open (GstV4lElement *v4lelement);
gboolean gst_v4l_close (GstV4lElement * v4lelement); gboolean gst_v4l_close (GstV4lElement *v4lelement);
/* norm control (norm = VIDEO_MODE_{PAL|NTSC|SECAM|AUTO}) */ /* norm control (norm = VIDEO_MODE_{PAL|NTSC|SECAM|AUTO}) */
gboolean gst_v4l_get_chan_norm (GstV4lElement * v4lelement, gboolean gst_v4l_get_chan_norm (GstV4lElement *v4lelement,
gint * channel, gint * norm); gint *channel,
gboolean gst_v4l_set_chan_norm (GstV4lElement * v4lelement, gint *norm);
gint channel, gint norm); gboolean gst_v4l_set_chan_norm (GstV4lElement *v4lelement,
GList *gst_v4l_get_chan_names (GstV4lElement * v4lelement); gint channel,
gint norm);
GList *gst_v4l_get_chan_names (GstV4lElement *v4lelement);
/* frequency control */ /* frequency control */
gboolean gst_v4l_get_signal (GstV4lElement * v4lelement, gboolean gst_v4l_get_signal (GstV4lElement *v4lelement,
gint tunernum, guint * signal); gint tunernum,
gboolean gst_v4l_get_frequency (GstV4lElement * v4lelement, guint *signal);
gint tunernum, gulong * frequency); gboolean gst_v4l_get_frequency (GstV4lElement *v4lelement,
gboolean gst_v4l_set_frequency (GstV4lElement * v4lelement, gint tunernum,
gint tunernum, gulong frequency); gulong *frequency);
gboolean gst_v4l_set_frequency (GstV4lElement *v4lelement,
gint tunernum,
gulong frequency);
/* picture control */ /* picture control */
gboolean gst_v4l_get_picture (GstV4lElement * v4lelement, gboolean gst_v4l_get_picture (GstV4lElement *v4lelement,
GstV4lPictureType type, gint * value); GstV4lPictureType type,
gboolean gst_v4l_set_picture (GstV4lElement * v4lelement, gint *value);
GstV4lPictureType type, gint value); gboolean gst_v4l_set_picture (GstV4lElement *v4lelement,
GstV4lPictureType type,
gint value);
/* audio control */ /* audio control */
gboolean gst_v4l_get_audio (GstV4lElement * v4lelement, gboolean gst_v4l_get_audio (GstV4lElement *v4lelement,
gint audionum, GstV4lAudioType type, gint * value); gint audionum,
gboolean gst_v4l_set_audio (GstV4lElement * v4lelement, GstV4lAudioType type,
gint audionum, GstV4lAudioType type, gint value); gint *value);
gboolean gst_v4l_set_audio (GstV4lElement *v4lelement,
gint audionum,
GstV4lAudioType type,
gint value);
/* overlay */ /* overlay */
gboolean gst_v4l_set_overlay (GstV4lElement * v4lelement); gboolean gst_v4l_set_overlay (GstV4lElement *v4lelement);
gboolean gst_v4l_set_window (GstElement * element, gboolean gst_v4l_set_window (GstElement *element,
gint x, gint y, gint w, gint h, struct video_clip *clips, gint num_clips); gint x, gint y,
gboolean gst_v4l_enable_overlay (GstV4lElement * v4lelement, gboolean enable); gint w, gint h,
struct video_clip *clips,
gint num_clips);
gboolean gst_v4l_enable_overlay (GstV4lElement *v4lelement,
gboolean enable);
#ifdef __cplusplus #ifdef __cplusplus

View file

@ -24,27 +24,31 @@
#include "v4l_calls.h" #include "v4l_calls.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C" {
{
#endif /* __cplusplus */ #endif /* __cplusplus */
/* frame playback on device */ /* frame playback on device */
gboolean gst_v4lmjpegsink_set_buffer (GstV4lMjpegSink * v4lmjpegsink, gboolean gst_v4lmjpegsink_set_buffer (GstV4lMjpegSink *v4lmjpegsink,
gint numbufs, gint bufsize); gint numbufs,
gboolean gst_v4lmjpegsink_set_playback (GstV4lMjpegSink * v4lmjpegsink, gint bufsize);
gboolean gst_v4lmjpegsink_set_playback (GstV4lMjpegSink *v4lmjpegsink,
gint width, gint width,
gint height, gint x_offset, gint y_offset, gint norm, gint interlacing); gint height,
gboolean gst_v4lmjpegsink_playback_init (GstV4lMjpegSink * v4lmjpegsink); gint x_offset,
gboolean gst_v4lmjpegsink_playback_start (GstV4lMjpegSink * v4lmjpegsink); gint y_offset,
guint8 *gst_v4lmjpegsink_get_buffer (GstV4lMjpegSink * v4lmjpegsink, gint norm,
gint interlacing);
gboolean gst_v4lmjpegsink_playback_init (GstV4lMjpegSink *v4lmjpegsink);
gboolean gst_v4lmjpegsink_playback_start (GstV4lMjpegSink *v4lmjpegsink);
guint8 * gst_v4lmjpegsink_get_buffer (GstV4lMjpegSink *v4lmjpegsink,
gint num); gint num);
gboolean gst_v4lmjpegsink_play_frame (GstV4lMjpegSink * v4lmjpegsink, gboolean gst_v4lmjpegsink_play_frame (GstV4lMjpegSink *v4lmjpegsink,
gint num); gint num);
gboolean gst_v4lmjpegsink_wait_frame (GstV4lMjpegSink * v4lmjpegsink, gboolean gst_v4lmjpegsink_wait_frame (GstV4lMjpegSink *v4lmjpegsink,
gint * num); gint *num);
gboolean gst_v4lmjpegsink_playback_stop (GstV4lMjpegSink * v4lmjpegsink); gboolean gst_v4lmjpegsink_playback_stop (GstV4lMjpegSink *v4lmjpegsink);
gboolean gst_v4lmjpegsink_playback_deinit (GstV4lMjpegSink * v4lmjpegsink); gboolean gst_v4lmjpegsink_playback_deinit (GstV4lMjpegSink *v4lmjpegsink);

View file

@ -24,30 +24,36 @@
#include "v4l_calls.h" #include "v4l_calls.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C" {
{
#endif /* __cplusplus */ #endif /* __cplusplus */
/* frame grabbing/capture */ /* frame grabbing/capture */
gboolean gst_v4lmjpegsrc_set_buffer (GstV4lMjpegSrc * v4lmjpegsrc, gboolean gst_v4lmjpegsrc_set_buffer (GstV4lMjpegSrc *v4lmjpegsrc,
gint numbufs, gint bufsize); gint numbufs,
gboolean gst_v4lmjpegsrc_set_capture (GstV4lMjpegSrc * v4lmjpegsrc, gint bufsize);
gint decimation, gint quality); gboolean gst_v4lmjpegsrc_set_capture (GstV4lMjpegSrc *v4lmjpegsrc,
gboolean gst_v4lmjpegsrc_set_capture_m (GstV4lMjpegSrc * v4lmjpegsrc, gint decimation,
gint quality);
gboolean gst_v4lmjpegsrc_set_capture_m (GstV4lMjpegSrc *v4lmjpegsrc,
gint x_offset, gint x_offset,
gint y_offset, gint y_offset,
gint width, gint width,
gint height, gint h_decimation, gint v_decimation, gint quality); gint height,
gboolean gst_v4lmjpegsrc_capture_init (GstV4lMjpegSrc * v4lmjpegsrc); gint h_decimation,
gboolean gst_v4lmjpegsrc_capture_start (GstV4lMjpegSrc * v4lmjpegsrc); gint v_decimation,
gboolean gst_v4lmjpegsrc_grab_frame (GstV4lMjpegSrc * v4lmjpegsrc, gint quality);
gint * num, gint * size); gboolean gst_v4lmjpegsrc_capture_init (GstV4lMjpegSrc *v4lmjpegsrc);
guint8 *gst_v4lmjpegsrc_get_buffer (GstV4lMjpegSrc * v4lmjpegsrc, gint num); gboolean gst_v4lmjpegsrc_capture_start (GstV4lMjpegSrc *v4lmjpegsrc);
gboolean gst_v4lmjpegsrc_requeue_frame (GstV4lMjpegSrc * v4lmjpegsrc, gboolean gst_v4lmjpegsrc_grab_frame (GstV4lMjpegSrc *v4lmjpegsrc,
gint *num,
gint *size);
guint8 * gst_v4lmjpegsrc_get_buffer (GstV4lMjpegSrc *v4lmjpegsrc,
gint num); gint num);
gboolean gst_v4lmjpegsrc_capture_stop (GstV4lMjpegSrc * v4lmjpegsrc); gboolean gst_v4lmjpegsrc_requeue_frame (GstV4lMjpegSrc *v4lmjpegsrc,
gboolean gst_v4lmjpegsrc_capture_deinit (GstV4lMjpegSrc * v4lmjpegsrc); gint num);
gboolean gst_v4lmjpegsrc_capture_stop (GstV4lMjpegSrc *v4lmjpegsrc);
gboolean gst_v4lmjpegsrc_capture_deinit (GstV4lMjpegSrc *v4lmjpegsrc);
#ifdef __cplusplus #ifdef __cplusplus

View file

@ -24,24 +24,22 @@
#include "v4l_calls.h" #include "v4l_calls.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C" {
{
#endif /* __cplusplus */ #endif /* __cplusplus */
/* frame grabbing/capture (palette = VIDEO_PALETTE_* - see videodev.h) */ /* frame grabbing/capture (palette = VIDEO_PALETTE_* - see videodev.h) */
gboolean gst_v4lsrc_set_capture (GstV4lSrc * v4lsrc, gint width, gint height, gboolean gst_v4lsrc_set_capture (GstV4lSrc *v4lsrc, gint width, gint height, gint palette);
gint palette); gboolean gst_v4lsrc_capture_init (GstV4lSrc *v4lsrc);
gboolean gst_v4lsrc_capture_init (GstV4lSrc * v4lsrc); gboolean gst_v4lsrc_capture_start (GstV4lSrc *v4lsrc);
gboolean gst_v4lsrc_capture_start (GstV4lSrc * v4lsrc); gboolean gst_v4lsrc_grab_frame (GstV4lSrc *v4lsrc, gint *num);
gboolean gst_v4lsrc_grab_frame (GstV4lSrc * v4lsrc, gint * num); guint8 * gst_v4lsrc_get_buffer (GstV4lSrc *v4lsrc, gint num);
guint8 *gst_v4lsrc_get_buffer (GstV4lSrc * v4lsrc, gint num); gboolean gst_v4lsrc_requeue_frame (GstV4lSrc *v4lsrc, gint num);
gboolean gst_v4lsrc_requeue_frame (GstV4lSrc * v4lsrc, gint num); gboolean gst_v4lsrc_capture_stop (GstV4lSrc *v4lsrc);
gboolean gst_v4lsrc_capture_stop (GstV4lSrc * v4lsrc); gboolean gst_v4lsrc_capture_deinit (GstV4lSrc *v4lsrc);
gboolean gst_v4lsrc_capture_deinit (GstV4lSrc * v4lsrc);
/* "the ugliest hack ever, now available at your local mirror" */ /* "the ugliest hack ever, now available at your local mirror" */
gboolean gst_v4lsrc_try_palette (GstV4lSrc * v4lsrc, gint palette); gboolean gst_v4lsrc_try_palette (GstV4lSrc *v4lsrc, gint palette);
#ifdef __cplusplus #ifdef __cplusplus

View file

@ -38,6 +38,7 @@
#include <math.h> #include <math.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_XIMAGESINK \ #define GST_TYPE_XIMAGESINK \
(gst_ximagesink_get_type()) (gst_ximagesink_get_type())
#define GST_XIMAGESINK(obj) \ #define GST_XIMAGESINK(obj) \
@ -48,6 +49,7 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_XIMAGESINK)) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_XIMAGESINK))
#define GST_IS_XIMAGESINK_CLASS(obj) \ #define GST_IS_XIMAGESINK_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_XIMAGESINK)) (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_XIMAGESINK))
typedef struct _GstXContext GstXContext; typedef struct _GstXContext GstXContext;
typedef struct _GstXWindow GstXWindow; typedef struct _GstXWindow GstXWindow;
typedef struct _GstXImage GstXImage; typedef struct _GstXImage GstXImage;
@ -56,8 +58,7 @@ typedef struct _GstXImageSink GstXImageSink;
typedef struct _GstXImageSinkClass GstXImageSinkClass; typedef struct _GstXImageSinkClass GstXImageSinkClass;
/* Global X Context stuff */ /* Global X Context stuff */
struct _GstXContext struct _GstXContext {
{
Display *disp; Display *disp;
Screen *screen; Screen *screen;
@ -79,8 +80,7 @@ struct _GstXContext
}; };
/* XWindow stuff */ /* XWindow stuff */
struct _GstXWindow struct _GstXWindow {
{
Window win; Window win;
gint width, height; gint width, height;
gboolean internal; gboolean internal;
@ -88,8 +88,7 @@ struct _GstXWindow
}; };
/* XImage stuff */ /* XImage stuff */
struct _GstXImage struct _GstXImage {
{
/* Reference to the ximagesink we belong to */ /* Reference to the ximagesink we belong to */
GstXImageSink *ximagesink; GstXImageSink *ximagesink;
@ -103,8 +102,7 @@ struct _GstXImage
gint width, height, size; gint width, height, size;
}; };
struct _GstXImageSink struct _GstXImageSink {
{
/* Our element stuff */ /* Our element stuff */
GstVideoSink videosink; GstVideoSink videosink;
@ -130,12 +128,12 @@ struct _GstXImageSink
gboolean sw_scaling_failed; gboolean sw_scaling_failed;
}; };
struct _GstXImageSinkClass struct _GstXImageSinkClass {
{
GstVideoSinkClass parent_class; GstVideoSinkClass parent_class;
}; };
GType gst_ximagesink_get_type (void); GType gst_ximagesink_get_type(void);
G_END_DECLS G_END_DECLS
#endif /* __GST_XIMAGESINK_H__ */ #endif /* __GST_XIMAGESINK_H__ */

View file

@ -41,6 +41,7 @@
#include <math.h> #include <math.h>
G_BEGIN_DECLS G_BEGIN_DECLS
#define GST_TYPE_XVIMAGESINK \ #define GST_TYPE_XVIMAGESINK \
(gst_xvimagesink_get_type()) (gst_xvimagesink_get_type())
#define GST_XVIMAGESINK(obj) \ #define GST_XVIMAGESINK(obj) \
@ -51,6 +52,7 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_XVIMAGESINK)) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_XVIMAGESINK))
#define GST_IS_XVIMAGESINK_CLASS(obj) \ #define GST_IS_XVIMAGESINK_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_XVIMAGESINK)) (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_XVIMAGESINK))
typedef struct _GstXContext GstXContext; typedef struct _GstXContext GstXContext;
typedef struct _GstXWindow GstXWindow; typedef struct _GstXWindow GstXWindow;
typedef struct _GstXvImage GstXvImage; typedef struct _GstXvImage GstXvImage;
@ -60,8 +62,7 @@ typedef struct _GstXvImageSink GstXvImageSink;
typedef struct _GstXvImageSinkClass GstXvImageSinkClass; typedef struct _GstXvImageSinkClass GstXvImageSinkClass;
/* Global X Context stuff */ /* Global X Context stuff */
struct _GstXContext struct _GstXContext {
{
Display *disp; Display *disp;
Screen *screen; Screen *screen;
@ -89,8 +90,7 @@ struct _GstXContext
}; };
/* XWindow stuff */ /* XWindow stuff */
struct _GstXWindow struct _GstXWindow {
{
Window win; Window win;
gint width, height; gint width, height;
gboolean internal; gboolean internal;
@ -98,15 +98,13 @@ struct _GstXWindow
}; };
/* XvImage format stuff */ /* XvImage format stuff */
struct _GstXvImageFormat struct _GstXvImageFormat {
{
gint format; gint format;
GstCaps *caps; GstCaps *caps;
}; };
/* XvImage stuff */ /* XvImage stuff */
struct _GstXvImage struct _GstXvImage {
{
/* Reference to the xvimagesink we belong to */ /* Reference to the xvimagesink we belong to */
GstXvImageSink *xvimagesink; GstXvImageSink *xvimagesink;
@ -120,8 +118,7 @@ struct _GstXvImage
gint width, height, size; gint width, height, size;
}; };
struct _GstXvImageSink struct _GstXvImageSink {
{
/* Our element stuff */ /* Our element stuff */
GstVideoSink videosink; GstVideoSink videosink;
@ -153,12 +150,12 @@ struct _GstXvImageSink
gboolean synchronous; gboolean synchronous;
}; };
struct _GstXvImageSinkClass struct _GstXvImageSinkClass {
{
GstVideoSinkClass parent_class; GstVideoSinkClass parent_class;
}; };
GType gst_xvimagesink_get_type (void); GType gst_xvimagesink_get_type(void);
G_END_DECLS G_END_DECLS
#endif /* __GST_XVIMAGESINK_H__ */ #endif /* __GST_XVIMAGESINK_H__ */

View file

@ -25,8 +25,7 @@
#include <gst/gst.h> #include <gst/gst.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C" {
{
#endif /* __cplusplus */ #endif /* __cplusplus */
@ -41,19 +40,17 @@ extern "C"
#define IS_SINESRC_CLASS(obj) \ #define IS_SINESRC_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),TYPE_SINESRC)) (G_TYPE_CHECK_CLASS_TYPE((klass),TYPE_SINESRC))
typedef struct _SineSrc SineSrc; typedef struct _SineSrc SineSrc;
typedef struct _SineSrcClass SineSrcClass; typedef struct _SineSrcClass SineSrcClass;
typedef void (*PreGetFunc) (SineSrc * src); typedef void (*PreGetFunc) (SineSrc *src);
typedef enum typedef enum {
{
SINE_SRC_INT, SINE_SRC_INT,
SINE_SRC_FLOAT SINE_SRC_FLOAT
} SineSrcAudio; } SineSrcAudio;
struct _SineSrc struct _SineSrc {
{
GstElement element; GstElement element;
/* pads */ /* pads */
@ -73,17 +70,16 @@ extern "C"
/* freaky stuff for testing */ /* freaky stuff for testing */
PreGetFunc pre_get_func; PreGetFunc pre_get_func;
}; };
struct _SineSrcClass struct _SineSrcClass {
{
GstElementClass parent_class; GstElementClass parent_class;
}; };
GType sinesrc_get_type (void); GType sinesrc_get_type (void);
GstElement *sinesrc_new (void); GstElement * sinesrc_new (void);
void sinesrc_set_pre_get_func (SineSrc * src, PreGetFunc func); void sinesrc_set_pre_get_func (SineSrc *src, PreGetFunc func);
#ifdef __cplusplus #ifdef __cplusplus
} }

View file

@ -25,8 +25,7 @@
#include <gst/gst.h> #include <gst/gst.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C" {
{
#endif /* __cplusplus */ #endif /* __cplusplus */
@ -41,19 +40,17 @@ extern "C"
#define IS_SINESRC_CLASS(obj) \ #define IS_SINESRC_CLASS(obj) \
(G_TYPE_CHECK_CLASS_TYPE((klass),TYPE_SINESRC)) (G_TYPE_CHECK_CLASS_TYPE((klass),TYPE_SINESRC))
typedef struct _SineSrc SineSrc; typedef struct _SineSrc SineSrc;
typedef struct _SineSrcClass SineSrcClass; typedef struct _SineSrcClass SineSrcClass;
typedef void (*PreGetFunc) (SineSrc * src); typedef void (*PreGetFunc) (SineSrc *src);
typedef enum typedef enum {
{
SINE_SRC_INT, SINE_SRC_INT,
SINE_SRC_FLOAT SINE_SRC_FLOAT
} SineSrcAudio; } SineSrcAudio;
struct _SineSrc struct _SineSrc {
{
GstElement element; GstElement element;
/* pads */ /* pads */
@ -73,17 +70,16 @@ extern "C"
/* freaky stuff for testing */ /* freaky stuff for testing */
PreGetFunc pre_get_func; PreGetFunc pre_get_func;
}; };
struct _SineSrcClass struct _SineSrcClass {
{
GstElementClass parent_class; GstElementClass parent_class;
}; };
GType sinesrc_get_type (void); GType sinesrc_get_type (void);
GstElement *sinesrc_new (void); GstElement * sinesrc_new (void);
void sinesrc_set_pre_get_func (SineSrc * src, PreGetFunc func); void sinesrc_set_pre_get_func (SineSrc *src, PreGetFunc func);
#ifdef __cplusplus #ifdef __cplusplus
} }