mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 19:51:11 +00:00
b6d31c1c72
Original commit message from CVS: Megapatch, changes which states are available, how they're used, and how they're set. Also modifies the scheduling system, breaking pulled buffers. Check mail archives for more details.
2516 lines
52 KiB
Text
2516 lines
52 KiB
Text
<MACRO>
|
|
<NAME>COTHREAD_STACKSIZE</NAME>
|
|
#define COTHREAD_STACKSIZE 8192
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>COTHREAD_MAXTHREADS</NAME>
|
|
#define COTHREAD_MAXTHREADS 16
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>STACK_SIZE</NAME>
|
|
#define STACK_SIZE 0x200000
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>CURRENT_STACK_FRAME</NAME>
|
|
#define CURRENT_STACK_FRAME ({ char __csf; &__csf; })
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>cothread_state</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>cothread_context</NAME>
|
|
</STRUCT>
|
|
<USER_FUNCTION>
|
|
<NAME>cothread_func</NAME>
|
|
<RETURNS>int </RETURNS>
|
|
int argc,char **argv
|
|
</USER_FUNCTION>
|
|
<MACRO>
|
|
<NAME>COTHREAD_STARTED</NAME>
|
|
#define COTHREAD_STARTED 0x01
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>cothread_state</NAME>
|
|
struct cothread_state {
|
|
cothread_context *ctx;
|
|
int threadnum;
|
|
|
|
cothread_func func;
|
|
int argc;
|
|
char **argv;
|
|
|
|
int flags;
|
|
int *sp;
|
|
int *pc;
|
|
jmp_buf jmp;
|
|
};
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>cothread_context</NAME>
|
|
struct cothread_context {
|
|
cothread_state *threads[COTHREAD_MAXTHREADS];
|
|
int nthreads;
|
|
int current;
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>cothread_init</NAME>
|
|
<RETURNS>cothread_context *</RETURNS>
|
|
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>cothread_create</NAME>
|
|
<RETURNS>cothread_state *</RETURNS>
|
|
cothread_context *ctx
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>cothread_setfunc</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
cothread_state *thread,cothread_func func,int argc,char **argv
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>cothread_switch</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
cothread_state *thread
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>cothread_main</NAME>
|
|
<RETURNS>cothread_state *</RETURNS>
|
|
cothread_context *ctx
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_init</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
int *argc,char **argv[]
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>DEBUG</NAME>
|
|
#define DEBUG(format,args...) g_print("DEBUG: " format, ##args)
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>DEBUG</NAME>
|
|
#define DEBUG(format,args...)
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_TYPE_BIN</NAME>
|
|
#define GST_TYPE_BIN \
|
|
(gst_bin_get_type())
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_BIN</NAME>
|
|
#define GST_BIN(obj) \
|
|
(GTK_CHECK_CAST((obj),GST_TYPE_BIN,GstBin))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_BIN_CLASS</NAME>
|
|
#define GST_BIN_CLASS(klass) \
|
|
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_BIN,GstBinClass))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_BIN</NAME>
|
|
#define GST_IS_BIN(obj) \
|
|
(GTK_CHECK_TYPE((obj),GST_TYPE_BIN))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_BIN_CLASS</NAME>
|
|
#define GST_IS_BIN_CLASS(obj) \
|
|
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_BIN)))
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>GstBin</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstBinClass</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstBin</NAME>
|
|
struct GstBin {
|
|
GstElement element;
|
|
|
|
gint numchildren;
|
|
GList *children;
|
|
|
|
GList *entries;
|
|
gint numentries;
|
|
|
|
cothread_context *threadcontext;
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_bin_get_type</NAME>
|
|
<RETURNS>GtkType </RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_bin_new</NAME>
|
|
<RETURNS>GstElement *</RETURNS>
|
|
gchar *name
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_bin_add</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstBin *bin,GstElement *element
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_bin_remove</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstBin *bin,GstElement *element
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_bin_get_by_name</NAME>
|
|
<RETURNS>GstElement *</RETURNS>
|
|
GstBin *bin,gchar *name
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_bin_get_list</NAME>
|
|
<RETURNS>GList *</RETURNS>
|
|
GstBin *bin
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_bin_set_state_type</NAME>
|
|
<RETURNS>gboolean </RETURNS>
|
|
GstBin *bin,GstElementState state,GtkType type
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_bin_iterate</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstBin *bin
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_bin_create_plan</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstBin *bin
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>GST_BUFFER</NAME>
|
|
#define GST_BUFFER(buf) \
|
|
((GstBuffer *)(buf))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_BUFFER_FLAGS</NAME>
|
|
#define GST_BUFFER_FLAGS(buf) \
|
|
(GST_BUFFER(buf)->flags)
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_BUFFER_FLAG_IS_SET</NAME>
|
|
#define GST_BUFFER_FLAG_IS_SET(buf,flag) \
|
|
(GST_BUFFER_FLAGS(buf) & (flag))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_BUFFER_FLAG_SET</NAME>
|
|
#define GST_BUFFER_FLAG_SET(buf,flag) \
|
|
G_STMT_START{ (GST_BUFFER_FLAGS(buf) |= (flag)); }G_STMT_END
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_BUFFER_FLAG_UNSET</NAME>
|
|
#define GST_BUFFER_FLAG_UNSET(buf,flag) \
|
|
G_STMT_START{ (GST_BUFFER_FLAGS(buf) &= ~(flag)); }G_STMT_END
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_BUFFER_TYPE</NAME>
|
|
#define GST_BUFFER_TYPE(buf) (GST_BUFFER(buf)->type)
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_BUFFER_DATA</NAME>
|
|
#define GST_BUFFER_DATA(buf) (GST_BUFFER(buf)->data)
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_BUFFER_SIZE</NAME>
|
|
#define GST_BUFFER_SIZE(buf) (GST_BUFFER(buf)->size)
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_BUFFER_OFFSET</NAME>
|
|
#define GST_BUFFER_OFFSET(buf) (GST_BUFFER(buf)->offset)
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_BUFFER_MAXSIZE</NAME>
|
|
#define GST_BUFFER_MAXSIZE(buf) (GST_BUFFER(buf)->maxsize)
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_BUFFER_TIMESTAMP</NAME>
|
|
#define GST_BUFFER_TIMESTAMP(buf) (GST_BUFFER(buf)->timestamp)
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_BUFFER_LOCK</NAME>
|
|
#define GST_BUFFER_LOCK(buf) (g_mutex_lock(GST_BUFFER(buf)->lock))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_BUFFER_TRYLOCK</NAME>
|
|
#define GST_BUFFER_TRYLOCK(buf) (g_mutex_trylock(GST_BUFFER(buf)->lock))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_BUFFER_UNLOCK</NAME>
|
|
#define GST_BUFFER_UNLOCK(buf) (g_mutex_unlock(GST_BUFFER(buf)->lock))
|
|
</MACRO>
|
|
<ENUM>
|
|
<NAME>GstBufferFlags</NAME>
|
|
typedef enum {
|
|
GST_BUFFER_READONLY = (1 << 0),
|
|
GST_BUFFER_EOS = (1 << 1),
|
|
GST_BUFFER_ORIGINAL = (1 << 2),
|
|
GST_BUFFER_DONTFREE = (1 << 3),
|
|
} GstBufferFlags;
|
|
</ENUM>
|
|
<STRUCT>
|
|
<NAME>GstBuffer</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstBuffer</NAME>
|
|
struct GstBuffer {
|
|
/* locking */
|
|
GMutex *lock;
|
|
|
|
/* refcounting */
|
|
#ifdef HAVE_ATOMIC_H
|
|
atomic_t refcount;
|
|
#else
|
|
int refcount;
|
|
#endif
|
|
|
|
/* data type of this buffer */
|
|
guint16 type;
|
|
/* flags */
|
|
guint16 flags;
|
|
|
|
/* pointer to data, its size, and offset in original source if known */
|
|
guchar *data;
|
|
guint32 size;
|
|
guint32 maxsize;
|
|
guint32 offset;
|
|
|
|
/* timestamp */
|
|
guint64 timestamp;
|
|
/* max age */
|
|
guint64 maxage;
|
|
|
|
/* pointer to metadata, is really lame right now */
|
|
GSList *metas;
|
|
|
|
/* subbuffer support, who's my parent? */
|
|
GstBuffer *parent;
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_buffer_new</NAME>
|
|
<RETURNS>GstBuffer *</RETURNS>
|
|
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_buffer_create_sub</NAME>
|
|
<RETURNS>GstBuffer *</RETURNS>
|
|
GstBuffer *parent,guint32 offset,guint32 size
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_buffer_ref</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstBuffer *buffer
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_buffer_ref_by_count</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstBuffer *buffer,int count
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_buffer_unref</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstBuffer *buffer
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_buffer_destroy</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstBuffer *buffer
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_buffer_add_meta</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstBuffer *buffer,GstMeta *meta
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_buffer_get_first_meta</NAME>
|
|
<RETURNS>GstMeta *</RETURNS>
|
|
GstBuffer *buffer
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_buffer_get_metas</NAME>
|
|
<RETURNS>GSList *</RETURNS>
|
|
GstBuffer *buffer
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_buffer_remove_meta</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstBuffer *buffer,GstMeta *meta
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>GST_TYPE_CONNECTION</NAME>
|
|
#define GST_TYPE_CONNECTION \
|
|
(gst_connection_get_type())
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_CONNECTION</NAME>
|
|
#define GST_CONNECTION(obj) \
|
|
(GTK_CHECK_CAST((obj),GST_TYPE_CONNECTION,GstConnection))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_CONNECTION_CLASS</NAME>
|
|
#define GST_CONNECTION_CLASS(klass) \
|
|
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_CONNECTION,GstConnectionClass))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_CONNECTION</NAME>
|
|
#define GST_IS_CONNECTION(obj) \
|
|
(GTK_CHECK_TYPE((obj),GST_TYPE_CONNECTION))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_CONNECTION_CLASS</NAME>
|
|
#define GST_IS_CONNECTION_CLASS(obj) \
|
|
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_CONNECTION)))
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>GstConnection</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstConnectionClass</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstConnection</NAME>
|
|
struct GstConnection {
|
|
GstElement element;
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_connection_get_type</NAME>
|
|
<RETURNS>GtkType </RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_connection_new</NAME>
|
|
<RETURNS>GstElement *</RETURNS>
|
|
gchar *name
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_connection_push</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstConnection *connection
|
|
</FUNCTION>
|
|
<ENUM>
|
|
<NAME>GstElementState</NAME>
|
|
typedef enum {
|
|
GST_STATE_COMPLETE = (1 << 0),
|
|
GST_STATE_RUNNING = (1 << 1),
|
|
GST_STATE_DISCOVERY = (1 << 2),
|
|
GST_STATE_PREROLL = (1 << 3),
|
|
|
|
GST_STATE_PLAYING = (1 << 4),
|
|
GST_STATE_PAUSED = (1 << 5),
|
|
|
|
GST_STATE_MAX = (1 << 15),
|
|
} GstElementState;
|
|
</ENUM>
|
|
<MACRO>
|
|
<NAME>GST_STATE</NAME>
|
|
#define GST_STATE(obj) (GST_ELEMENT(obj)->state)
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_STATE_IS_SET</NAME>
|
|
#define GST_STATE_IS_SET(obj,flag) (GST_STATE (obj) & (flag))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_STATE_SET</NAME>
|
|
#define GST_STATE_SET(obj,flag) \
|
|
G_STMT_START{ (GST_STATE (obj) |= (flag)); \
|
|
gst_info("set '%s' state %d(%s)\n",gst_element_get_name(obj),flag, \
|
|
_gst_print_statename(flag)); \
|
|
}G_STMT_END
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_STATE_UNSET</NAME>
|
|
#define GST_STATE_UNSET(obj,flag) \
|
|
G_STMT_START{ (GST_STATE (obj) &= ~(flag)); \
|
|
gst_info("unset '%s' state %d(%s)\n",gst_element_get_name(obj),flag, \
|
|
_gst_print_statename(flag)); \
|
|
}G_STMT_END
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_TYPE_ELEMENT</NAME>
|
|
#define GST_TYPE_ELEMENT \
|
|
(gst_element_get_type())
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_ELEMENT</NAME>
|
|
#define GST_ELEMENT(obj) \
|
|
(GTK_CHECK_CAST((obj),GST_TYPE_ELEMENT,GstElement))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_ELEMENT_CLASS</NAME>
|
|
#define GST_ELEMENT_CLASS(klass) \
|
|
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_ELEMENT,GstElementClass))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_ELEMENT</NAME>
|
|
#define GST_IS_ELEMENT(obj) \
|
|
(GTK_CHECK_TYPE((obj),GST_TYPE_ELEMENT))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_ELEMENT_CLASS</NAME>
|
|
#define GST_IS_ELEMENT_CLASS(obj) \
|
|
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_ELEMENT))
|
|
</MACRO>
|
|
<ENUM>
|
|
<NAME>GstElementFlags</NAME>
|
|
typedef enum {
|
|
GST_ELEMENT_MULTI_OUT = (1 << 16),
|
|
} GstElementFlags;
|
|
</ENUM>
|
|
<MACRO>
|
|
<NAME>GST_ELEMENT_IS_MULTI_OUT</NAME>
|
|
#define GST_ELEMENT_IS_MULTI_OUT(obj) ((GST_FLAGS(obj) & GST_ELEMENT_MULTI_OUT)
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>GstElement</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstElementClass</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstElementDetails</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstElementFactory</NAME>
|
|
</STRUCT>
|
|
<USER_FUNCTION>
|
|
<NAME>GstElementLoopFunction</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstElement *element
|
|
</USER_FUNCTION>
|
|
<STRUCT>
|
|
<NAME>GstElement</NAME>
|
|
struct GstElement {
|
|
GstObject object;
|
|
|
|
gchar *name;
|
|
|
|
guint16 state;
|
|
|
|
GstElementLoopFunction loopfunc;
|
|
cothread_state *threadstate;
|
|
|
|
guint16 numpads;
|
|
GList *pads;
|
|
|
|
GstElement *manager;
|
|
};
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstElementDetails</NAME>
|
|
struct GstElementDetails {
|
|
gchar *longname; /* long, english name */
|
|
gchar *class; /* type of element, kinda */
|
|
gchar *description; /* insights of one form or another */
|
|
gchar *version; /* version of the element */
|
|
gchar *author; /* who wrote this thing? */
|
|
gchar *copyright; /* copyright details (year, etc.) */
|
|
};
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstElementFactory</NAME>
|
|
struct GstElementFactory {
|
|
gchar *name; /* name of element */
|
|
GtkType type; /* unique GtkType of element */
|
|
|
|
GstElementDetails *details; /* pointer to details struct */
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_element_get_type</NAME>
|
|
<RETURNS>GtkType </RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_element_new</NAME>
|
|
<RETURNS>GstElement *</RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_element_set_loop_function</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstElement *element,GstElementLoopFunction loop
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_element_set_name</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstElement *element,gchar *name
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_element_get_name</NAME>
|
|
<RETURNS>gchar *</RETURNS>
|
|
GstElement *element
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_element_set_manager</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstElement *element,GstElement *manager
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_element_get_manager</NAME>
|
|
<RETURNS>GstElement *</RETURNS>
|
|
GstElement *element
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_element_add_pad</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstElement *element,GstPad *pad
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_element_add_ghost_pad</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstElement *element,GstPad *pad
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_element_get_pad</NAME>
|
|
<RETURNS>GstPad *</RETURNS>
|
|
GstElement *element,gchar *name
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_element_get_pad_list</NAME>
|
|
<RETURNS>GList *</RETURNS>
|
|
GstElement *element
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_element_connect</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstElement *src,gchar *srcpadname,GstElement *dest,gchar *destpadname
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_element_set_state</NAME>
|
|
<RETURNS>gboolean </RETURNS>
|
|
GstElement *element,GstElementState state
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_element_error</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstElement *element,gchar *error
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_element_change_state</NAME>
|
|
<RETURNS>gboolean </RETURNS>
|
|
GstElement *element,GstElementState state
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>gst_element_destroy</NAME>
|
|
#define gst_element_destroy(element) gst_object_destroy(GST_OBJECT(element))
|
|
</MACRO>
|
|
<FUNCTION>
|
|
<NAME>gst_element_save_thyself</NAME>
|
|
<RETURNS>xmlNodePtr </RETURNS>
|
|
GstElement *element,xmlNodePtr parent
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_elementfactory_new</NAME>
|
|
<RETURNS>GstElementFactory *</RETURNS>
|
|
gchar *name,GtkType type,GstElementDetails *details
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_elementfactory_register</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstElementFactory *elementfactory
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_elementfactory_find</NAME>
|
|
<RETURNS>GstElementFactory *</RETURNS>
|
|
gchar *name
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_elementfactory_get_list</NAME>
|
|
<RETURNS>GList *</RETURNS>
|
|
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_elementfactory_create</NAME>
|
|
<RETURNS>GstElement *</RETURNS>
|
|
GstElementFactory *factory,gchar *name
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_elementfactory_make</NAME>
|
|
<RETURNS>GstElement *</RETURNS>
|
|
gchar *factoryname,gchar *name
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_element_loopfunc_wrapper</NAME>
|
|
<RETURNS>int </RETURNS>
|
|
int argc,char **argv
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>GST_TYPE_FILTER</NAME>
|
|
#define GST_TYPE_FILTER \
|
|
(gst_filter_get_type())
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_FILTER</NAME>
|
|
#define GST_FILTER(obj) \
|
|
(GTK_CHECK_CAST((obj),GST_TYPE_FILTER,GstFilter))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_FILTER_CLASS</NAME>
|
|
#define GST_FILTER_CLASS(klass) \
|
|
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_FILTER,GstFilterClass))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_FILTER</NAME>
|
|
#define GST_IS_FILTER(obj) \
|
|
(GTK_CHECK_TYPE((obj),GST_TYPE_FILTER))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_FILTER_CLASS</NAME>
|
|
#define GST_IS_FILTER_CLASS(obj) \
|
|
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_FILTER))
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>GstFilter</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstFilterClass</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstFilter</NAME>
|
|
struct GstFilter {
|
|
GstElement element;
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_filter_get_type</NAME>
|
|
<RETURNS>GtkType </RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_filter_new</NAME>
|
|
<RETURNS>GstElement *</RETURNS>
|
|
gchar *name
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>GST_SHOW_INFO</NAME>
|
|
#define GST_SHOW_INFO
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>gst_info</NAME>
|
|
#define gst_info(format,args...) fprintf(stderr,format,##args)
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>gst_info</NAME>
|
|
#define gst_info(format,args...)
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_META</NAME>
|
|
#define GST_META(meta) ((GstMeta *)(meta))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_META_FLAGS</NAME>
|
|
#define GST_META_FLAGS(buf) \
|
|
(GST_META(buf)->flags)
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_META_FLAG_IS_SET</NAME>
|
|
#define GST_META_FLAG_IS_SET(meta,flag) \
|
|
(GST_META_FLAGS(meta) & (flag))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_META_FLAG_SET</NAME>
|
|
#define GST_META_FLAG_SET(meta,flag) \
|
|
G_STMT_START{ (GST_META_FLAGS(meta) |= (flag)); }G_STMT_END
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_META_FLAG_UNSET</NAME>
|
|
#define GST_META_FLAG_UNSET(meta,flag) \
|
|
G_STMT_START{ (GST_META_FLAGS(meta) &= ~(flag)); }G_STMT_END
|
|
</MACRO>
|
|
<ENUM>
|
|
<NAME>GstMetaFlags</NAME>
|
|
typedef enum {
|
|
GST_META_FREEABLE = 1 << 0,
|
|
} GstMetaFlags;
|
|
</ENUM>
|
|
<STRUCT>
|
|
<NAME>GstMeta</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstMeta</NAME>
|
|
struct GstMeta {
|
|
/* locking */
|
|
GMutex *lock;
|
|
|
|
/* refcounting */
|
|
#ifdef HAVE_ATOMIC_H
|
|
atomic_t refcount;
|
|
#else
|
|
int refcount;
|
|
#endif
|
|
|
|
guint16 type;
|
|
guint16 flags;
|
|
|
|
void *data;
|
|
guint16 size;
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_meta_new_size</NAME>
|
|
<RETURNS>GstMeta *</RETURNS>
|
|
gint size
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>gst_meta_new</NAME>
|
|
#define gst_meta_new(type) (type *)gst_meta_new_size(sizeof(type))
|
|
</MACRO>
|
|
<FUNCTION>
|
|
<NAME>gst_meta_ref</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstMeta *meta
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_meta_unref</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstMeta *meta
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>GST_TYPE_OBJECT</NAME>
|
|
#define GST_TYPE_OBJECT \
|
|
(gst_object_get_type())
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_OBJECT</NAME>
|
|
#define GST_OBJECT(obj) \
|
|
(GTK_CHECK_CAST((obj),GST_TYPE_OBJECT,GstObject))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_OBJECT_CLASS</NAME>
|
|
#define GST_OBJECT_CLASS(klass) \
|
|
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_OBJECT,GstObjectClass))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_OBJECT</NAME>
|
|
#define GST_IS_OBJECT(obj) \
|
|
(GTK_CHECK_TYPE((obj),GST_TYPE_OBJECT))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_OBJECT_CLASS</NAME>
|
|
#define GST_IS_OBJECT_CLASS(obj) \
|
|
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_OBJECT))
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>GstObject</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstObjectClass</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstObject</NAME>
|
|
struct GstObject {
|
|
GtkObject object;
|
|
|
|
/* have to have a refcount for the object */
|
|
#ifdef HAVE_ATOMIC_H
|
|
atomic_t refcount;
|
|
#else
|
|
int refcount;
|
|
#endif
|
|
|
|
/* locking for all sorts of things (like the refcount) */
|
|
GMutex *lock;
|
|
|
|
/* this objects parent */
|
|
GstObject *parent;
|
|
};
|
|
</STRUCT>
|
|
<MACRO>
|
|
<NAME>GST_FLAGS</NAME>
|
|
#define GST_FLAGS(obj) GTK_OBJECT_FLAGS(obj)
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_FLAG_IS_SET</NAME>
|
|
#define GST_FLAG_IS_SET(obj,flag) (GST_FLAGS (obj) & (flag))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_FLAG_SET</NAME>
|
|
#define GST_FLAG_SET(obj,flag) G_STMT_START{ (GST_FLAGS (obj) |= (flag)); }G_STMT_END
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_FLAG_UNSET</NAME>
|
|
#define GST_FLAG_UNSET(obj,flag) G_STMT_START{ (GST_FLAGS (obj) &= ~(flag)); }G_STMT_END
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_LOCK</NAME>
|
|
#define GST_LOCK(obj) (g_mutex_lock(GST_OBJECT(obj)->lock))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_TRYLOCK</NAME>
|
|
#define GST_TRYLOCK(obj) (g_mutex_trylock(GST_OBJECT(obj)->lock))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_UNLOCK</NAME>
|
|
#define GST_UNLOCK(obj) (g_mutex_unlock(GST_OBJECT(obj)->lock))
|
|
</MACRO>
|
|
<FUNCTION>
|
|
<NAME>gst_object_get_type</NAME>
|
|
<RETURNS>GtkType </RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_object_new</NAME>
|
|
<RETURNS>GstObject *</RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_object_set_parent</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstObject *object,GstObject *parent
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_object_get_parent</NAME>
|
|
<RETURNS>GstObject *</RETURNS>
|
|
GstObject *object
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_object_unparent</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstObject *object
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>gst_object_ref</NAME>
|
|
#define gst_object_ref(object) gtk_object_ref(GTK_OBJECT(object));
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>gst_object_unref</NAME>
|
|
#define gst_object_unref(object) gtk_object_unref(GTK_OBJECT(object));
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>gst_object_sink</NAME>
|
|
#define gst_object_sink(object) gtk_object_sink(GTK_OBJECT(object));
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>gst_object_destroy</NAME>
|
|
#define gst_object_destroy(object) gtk_object_destroy(GTK_OBJECT(object))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_TYPE_PAD</NAME>
|
|
#define GST_TYPE_PAD (gst_pad_get_type())
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_PAD</NAME>
|
|
#define GST_PAD(obj) (GTK_CHECK_CAST((obj),GST_TYPE_PAD,GstPad))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_PAD_CLASS</NAME>
|
|
#define GST_PAD_CLASS(klass) (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_PAD,GstPadClass))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_PAD</NAME>
|
|
#define GST_IS_PAD(obj) (GTK_CHECK_TYPE((obj),GST_TYPE_PAD))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_PAD_CLASS</NAME>
|
|
#define GST_IS_PAD_CLASS(obj) (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_PAD))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_PAD_CONNECTED</NAME>
|
|
#define GST_PAD_CONNECTED(pad) ((pad)->peer != NULL)
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_PAD_CAN_PULL</NAME>
|
|
#define GST_PAD_CAN_PULL(pad) ((pad)->pullfunc != NULL)
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>GstPad</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstPadClass</NAME>
|
|
</STRUCT>
|
|
<USER_FUNCTION>
|
|
<NAME>GstPadChainFunction</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstPad *pad,GstBuffer *buf
|
|
</USER_FUNCTION>
|
|
<USER_FUNCTION>
|
|
<NAME>GstPadPullFunction</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstPad *pad
|
|
</USER_FUNCTION>
|
|
<USER_FUNCTION>
|
|
<NAME>GstPadPushFunction</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstPad *pad
|
|
</USER_FUNCTION>
|
|
<ENUM>
|
|
<NAME>GstPadDirection</NAME>
|
|
typedef enum {
|
|
GST_PAD_UNKNOWN,
|
|
GST_PAD_SRC,
|
|
GST_PAD_SINK,
|
|
} GstPadDirection;
|
|
</ENUM>
|
|
<STRUCT>
|
|
<NAME>GstPad</NAME>
|
|
struct GstPad {
|
|
GstObject object;
|
|
|
|
gchar *name;
|
|
guint16 type;
|
|
|
|
GstPadDirection direction;
|
|
|
|
GstPad *peer;
|
|
|
|
GstBuffer *bufpen;
|
|
|
|
GstPadChainFunction chainfunc;
|
|
GstPadPullFunction pullfunc;
|
|
GstPadPushFunction pushfunc;
|
|
|
|
GstObject *parent;
|
|
GList *ghostparents;
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_pad_get_type</NAME>
|
|
<RETURNS>GtkType </RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_pad_new</NAME>
|
|
<RETURNS>GstPad *</RETURNS>
|
|
gchar *name,GstPadDirection direction
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_pad_destroy</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstPad *pad
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_pad_get_direction</NAME>
|
|
<RETURNS>GstPadDirection </RETURNS>
|
|
GstPad *pad
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_pad_set_chain_function</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstPad *pad,GstPadChainFunction chain
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_pad_set_pull_function</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstPad *pad, GstPadPullFunction pull
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_pad_get_type_id</NAME>
|
|
<RETURNS>guint16 </RETURNS>
|
|
GstPad *pad
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_pad_set_type_id</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstPad *pad,guint16 id
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_pad_set_name</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstPad *pad,gchar *name
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_pad_get_name</NAME>
|
|
<RETURNS>gchar *</RETURNS>
|
|
GstPad *pad
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>gst_pad_destroy</NAME>
|
|
#define gst_pad_destroy(pad) gst_object_destroy(GST_OBJECT(pad))
|
|
</MACRO>
|
|
<FUNCTION>
|
|
<NAME>gst_pad_set_parent</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstPad *pad,GstObject *parent
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_pad_add_ghost_parent</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstPad *pad,GstObject *parent
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_pad_remove_ghost_parent</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstPad *pad,GstObject *parent
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_pad_get_parent</NAME>
|
|
<RETURNS>GstObject *</RETURNS>
|
|
GstPad *pad
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_pad_get_ghost_parents</NAME>
|
|
<RETURNS>GList *</RETURNS>
|
|
GstPad *pad
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_pad_get_peer</NAME>
|
|
<RETURNS>GstPad *</RETURNS>
|
|
GstPad *pad
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_pad_connect</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstPad *srcpad,GstPad *sinkpad
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_pad_push</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstPad *pad,GstBuffer *buffer
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_pad_pull</NAME>
|
|
<RETURNS>GstBuffer *</RETURNS>
|
|
GstPad *pad
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_pad_save_thyself</NAME>
|
|
<RETURNS>xmlNodePtr </RETURNS>
|
|
GstPad *pad,xmlNodePtr parent
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>GST_TYPE_PIPELINE</NAME>
|
|
#define GST_TYPE_PIPELINE \
|
|
(gst_pipeline_get_type())
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_PIPELINE</NAME>
|
|
#define GST_PIPELINE(obj) \
|
|
(GTK_CHECK_CAST((obj),GST_TYPE_PIPELINE,GstPipeline))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_PIPELINE_CLASS</NAME>
|
|
#define GST_PIPELINE_CLASS(klass) \
|
|
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_PIPELINE,GstPipelineClass))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_PIPELINE</NAME>
|
|
#define GST_IS_PIPELINE(obj) \
|
|
(GTK_CHECK_TYPE((obj),GST_TYPE_PIPELINE))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_PIPELINE_CLASS</NAME>
|
|
#define GST_IS_PIPELINE_CLASS(obj) \
|
|
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_PIPELINE)))
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>GstPipeline</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstPipelineClass</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstPipeline</NAME>
|
|
struct GstPipeline {
|
|
GstBin bin;
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_pipeline_get_type</NAME>
|
|
<RETURNS>GtkType </RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_pipeline_new</NAME>
|
|
<RETURNS>GstPipeline *</RETURNS>
|
|
guchar *name
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>gst_pipeline_destroy</NAME>
|
|
#define gst_pipeline_destroy(pipeline) gst_object_destroy(GST_OBJECT(pipeline))
|
|
</MACRO>
|
|
<FUNCTION>
|
|
<NAME>gst_pipeline_iterate</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstPipeline *pipeline
|
|
</FUNCTION>
|
|
<STRUCT>
|
|
<NAME>GstPlugin</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstPluginElement</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstPlugin</NAME>
|
|
struct GstPlugin {
|
|
gchar *name; /* name of the plugin */
|
|
gchar *longname; /* long name of plugin */
|
|
gchar *filename; /* filename it came from */
|
|
|
|
GList *types; /* list of types provided */
|
|
GList *elements; /* list of elements provided */
|
|
GList *identifiers; /* list of identifiers */
|
|
};
|
|
</STRUCT>
|
|
<USER_FUNCTION>
|
|
<NAME>GstPluginInitFunc</NAME>
|
|
<RETURNS>GstPlugin *</RETURNS>
|
|
GModule *module
|
|
</USER_FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_plugin_new</NAME>
|
|
<RETURNS>GstPlugin *</RETURNS>
|
|
gchar *name
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_plugin_set_longname</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstPlugin *plugin,gchar *longname
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_plugin_load_all</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_plugin_load</NAME>
|
|
<RETURNS>gboolean </RETURNS>
|
|
gchar *name
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_library_load</NAME>
|
|
<RETURNS>gboolean </RETURNS>
|
|
gchar *name
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_plugin_load_absolute</NAME>
|
|
<RETURNS>gboolean </RETURNS>
|
|
gchar *name
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_plugin_add_factory</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstPlugin *plugin,GstElementFactory *factory
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_plugin_find</NAME>
|
|
<RETURNS>GstPlugin *</RETURNS>
|
|
gchar *name
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_plugin_get_list</NAME>
|
|
<RETURNS>GList *</RETURNS>
|
|
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_plugin_find_elementfactory</NAME>
|
|
<RETURNS>GstElementFactory *</RETURNS>
|
|
gchar *name
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>GST_TYPE_SINK</NAME>
|
|
#define GST_TYPE_SINK \
|
|
(gst_sink_get_type())
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_SINK</NAME>
|
|
#define GST_SINK(obj) \
|
|
(GTK_CHECK_CAST((obj),GST_TYPE_SINK,GstSink))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_SINK_CLASS</NAME>
|
|
#define GST_SINK_CLASS(klass) \
|
|
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_SINK,GstSinkClass))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_SINK</NAME>
|
|
#define GST_IS_SINK(obj) \
|
|
(GTK_CHECK_TYPE((obj),GST_TYPE_SINK))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_SINK_CLASS</NAME>
|
|
#define GST_IS_SINK_CLASS(obj) \
|
|
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_SINK))
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>GstSink</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstSinkClass</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstSink</NAME>
|
|
struct GstSink {
|
|
GstElement element;
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_sink_get_type</NAME>
|
|
<RETURNS>GtkType </RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_sink_new</NAME>
|
|
<RETURNS>GstObject *</RETURNS>
|
|
gchar *name
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>GST_TYPE_SRC</NAME>
|
|
#define GST_TYPE_SRC \
|
|
(gst_src_get_type())
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_SRC</NAME>
|
|
#define GST_SRC(obj) \
|
|
(GTK_CHECK_CAST((obj),GST_TYPE_SRC,GstSrc))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_SRC_CLASS</NAME>
|
|
#define GST_SRC_CLASS(klass) \
|
|
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_SRC,GstSrcClass))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_SRC</NAME>
|
|
#define GST_IS_SRC(obj) \
|
|
(GTK_CHECK_TYPE((obj),GST_TYPE_SRC))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_SRC_CLASS</NAME>
|
|
#define GST_IS_SRC_CLASS(obj) \
|
|
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_SRC))
|
|
</MACRO>
|
|
<ENUM>
|
|
<NAME>GstSrcFlags</NAME>
|
|
typedef enum {
|
|
GST_SRC_ASYNC = 1 << 0,
|
|
} GstSrcFlags;
|
|
</ENUM>
|
|
<MACRO>
|
|
<NAME>GST_SRC_FLAGS</NAME>
|
|
#define GST_SRC_FLAGS(obj) \
|
|
(GST_SRC(obj)->flags)
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_SRC_ASYNC</NAME>
|
|
#define GST_SRC_ASYNC(obj) \
|
|
((GST_SRC_FLAGS(obj) & GST_SRC_ASYNC))
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>GstSrc</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstSrcClass</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstSrc</NAME>
|
|
struct GstSrc {
|
|
GstElement element;
|
|
gint32 flags;
|
|
};
|
|
</STRUCT>
|
|
<MACRO>
|
|
<NAME>GST_SRC_SET_FLAGS</NAME>
|
|
#define GST_SRC_SET_FLAGS(src,flag) \
|
|
G_STMT_START{ (GST_SRC_FLAGS (src) |= (flag)); }G_STMT_END
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_SRC_UNSET_FLAGS</NAME>
|
|
#define GST_SRC_UNSET_FLAGS(src,flag) \
|
|
G_STMT_START{ (GST_SRC_FLAGS (src) &= ~(flag)); }G_STMT_END
|
|
</MACRO>
|
|
<FUNCTION>
|
|
<NAME>gst_src_get_type</NAME>
|
|
<RETURNS>GtkType </RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_src_signal_eos</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstSrc *src
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_src_push</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstSrc *src
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_src_push_region</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstSrc *src,gulong offset,gulong size
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>GST_TYPE_TEE</NAME>
|
|
#define GST_TYPE_TEE \
|
|
(gst_tee_get_type())
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_TEE</NAME>
|
|
#define GST_TEE(obj) \
|
|
(GTK_CHECK_CAST((obj),GST_TYPE_TEE,GstTee))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_TEE_CLASS</NAME>
|
|
#define GST_TEE_CLASS(klass) \
|
|
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_TEE,GstTeeClass))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_TEE</NAME>
|
|
#define GST_IS_TEE(obj) \
|
|
(GTK_CHECK_TYPE((obj),GST_TYPE_TEE))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_TEE_CLASS</NAME>
|
|
#define GST_IS_TEE_CLASS(obj) \
|
|
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_TEE)))
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>GstTee</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstTeeClass</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstTee</NAME>
|
|
struct GstTee {
|
|
GstFilter filter;
|
|
|
|
GstPad *sinkpad;
|
|
|
|
gint numsrcpads;
|
|
GSList *srcpads;
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_tee_get_type</NAME>
|
|
<RETURNS>GtkType </RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_tee_new</NAME>
|
|
<RETURNS>GstElement *</RETURNS>
|
|
gchar *name
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_tee_chain</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstPad *pad,GstBuffer *buf
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_tee_new_pad</NAME>
|
|
<RETURNS>gchar *</RETURNS>
|
|
GstTee *tee
|
|
</FUNCTION>
|
|
<ENUM>
|
|
<NAME>GstThreadState</NAME>
|
|
typedef enum {
|
|
GST_THREAD_CREATE = (1 << 16),
|
|
GST_THREAD_STATE_SPINNING = (1 << 17),
|
|
GST_THREAD_STATE_REAPING = (1 << 18),
|
|
} GstThreadState;
|
|
</ENUM>
|
|
<MACRO>
|
|
<NAME>GST_TYPE_THREAD</NAME>
|
|
#define GST_TYPE_THREAD \
|
|
(gst_thread_get_type())
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_THREAD</NAME>
|
|
#define GST_THREAD(obj) \
|
|
(GTK_CHECK_CAST((obj),GST_TYPE_THREAD,GstThread))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_THREAD_CLASS</NAME>
|
|
#define GST_THREAD_CLASS(klass) \
|
|
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_THREAD,GstThreadClass))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_THREAD</NAME>
|
|
#define GST_IS_THREAD(obj) \
|
|
(GTK_CHECK_TYPE((obj),GST_TYPE_THREAD))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_THREAD_CLASS</NAME>
|
|
#define GST_IS_THREAD_CLASS(obj) \
|
|
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_THREAD)))
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>GstThread</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstThreadClass</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstThread</NAME>
|
|
struct GstThread {
|
|
GstBin bin;
|
|
|
|
pthread_t thread_id; /* id of the thread, if any */
|
|
GMutex *lock; /* thread lock/condititon pair... */
|
|
GCond *cond; /* used to control the thread */
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_thread_get_type</NAME>
|
|
<RETURNS>GtkType </RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_thread_new</NAME>
|
|
<RETURNS>GstElement *</RETURNS>
|
|
guchar *name
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_thread_main_loop</NAME>
|
|
<RETURNS>void *</RETURNS>
|
|
void *arg
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_thread_iterate</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstThread *thread
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_trace_read_tsc</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
guint64 *dst
|
|
</FUNCTION>
|
|
<STRUCT>
|
|
<NAME>GstTrace</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstTraceEntry</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstTrace</NAME>
|
|
struct GstTrace {
|
|
/* where this trace is going */
|
|
gchar *filename;
|
|
int fd;
|
|
|
|
/* current buffer, size, head offset */
|
|
GstTraceEntry *buf;
|
|
gint bufsize;
|
|
gint bufoffset;
|
|
};
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstTraceEntry</NAME>
|
|
struct GstTraceEntry {
|
|
guint64 timestamp;
|
|
guint32 sequence;
|
|
guint32 data;
|
|
gchar message[112];
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_trace_new</NAME>
|
|
<RETURNS>GstTrace *</RETURNS>
|
|
guchar *filename,gint size
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_trace_destroy</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstTrace *trace
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_trace_flush</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstTrace *trace
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>gst_trace_get_size</NAME>
|
|
#define gst_trace_get_size(trace) ((trace)->bufsize)
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>gst_trace_get_offset</NAME>
|
|
#define gst_trace_get_offset(trace) ((trace)->bufoffset)
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>gst_trace_get_remaining</NAME>
|
|
#define gst_trace_get_remaining(trace) ((trace)->bufsize - (trace)->bufoffset)
|
|
</MACRO>
|
|
<FUNCTION>
|
|
<NAME>gst_trace_set_default</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstTrace *trace
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>TRACE_ENABLE</NAME>
|
|
#define TRACE_ENABLE
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>gst_trace_add_entry</NAME>
|
|
#define gst_trace_add_entry(trace,seq,data,msg) \
|
|
if (_gst_trace_on) { \
|
|
_gst_trace_add_entry(trace,(guint32)seq,(guint32)data,msg); \
|
|
}
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>gst_trace_add_entry</NAME>
|
|
#define gst_trace_add_entry(trace,seq,data,msg)
|
|
</MACRO>
|
|
<USER_FUNCTION>
|
|
<NAME>GstTypeFindFunc</NAME>
|
|
<RETURNS>gboolean </RETURNS>
|
|
GstBuffer *buf,gpointer *private
|
|
</USER_FUNCTION>
|
|
<STRUCT>
|
|
<NAME>GstType</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstTypeFactory</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstType</NAME>
|
|
struct GstType {
|
|
guint16 id; /* type id (assigned) */
|
|
|
|
gchar *mime; /* MIME type */
|
|
gchar *exts; /* space-delimited list of extensions */
|
|
|
|
GstTypeFindFunc typefindfunc; /* typefind function */
|
|
|
|
GList *srcs; /* list of src objects for this type */
|
|
GList *sinks; /* list of sink objects for type */
|
|
};
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstTypeFactory</NAME>
|
|
struct GstTypeFactory {
|
|
gchar *mime;
|
|
gchar *exts;
|
|
GstTypeFindFunc typefindfunc;
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_type_register</NAME>
|
|
<RETURNS>guint16 </RETURNS>
|
|
GstTypeFactory *factory
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_type_find_by_mime</NAME>
|
|
<RETURNS>guint16 </RETURNS>
|
|
gchar *mime
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_type_find_by_ext</NAME>
|
|
<RETURNS>guint16 </RETURNS>
|
|
gchar *ext
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_type_add_src</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
guint16 id,GstElementFactory *src
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_type_add_sink</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
guint16 id,GstElementFactory *sink
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_type_get_srcs</NAME>
|
|
<RETURNS>GList *</RETURNS>
|
|
guint16 id
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_type_get_sinks</NAME>
|
|
<RETURNS>GList *</RETURNS>
|
|
guint16 id
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_type_find_by_id</NAME>
|
|
<RETURNS>GstType *</RETURNS>
|
|
guint16 id
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_type_get_list</NAME>
|
|
<RETURNS>GList *</RETURNS>
|
|
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_util_get_int_arg</NAME>
|
|
<RETURNS>gint </RETURNS>
|
|
GtkObject *object,guchar *argname
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_util_get_long_arg</NAME>
|
|
<RETURNS>glong </RETURNS>
|
|
GtkObject *object,guchar *argname
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_util_get_float_arg</NAME>
|
|
<RETURNS>gfloat </RETURNS>
|
|
GtkObject *object,guchar *argname
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_util_get_double_arg</NAME>
|
|
<RETURNS>gdouble </RETURNS>
|
|
GtkObject *object,guchar *argname
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_util_get_string_arg</NAME>
|
|
<RETURNS>guchar *</RETURNS>
|
|
GtkObject *object,guchar *argname
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_util_get_pointer_arg</NAME>
|
|
<RETURNS>gpointer </RETURNS>
|
|
GtkObject *object,guchar *argname
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_util_get_widget_arg</NAME>
|
|
<RETURNS>GtkWidget *</RETURNS>
|
|
GtkObject *object,guchar *argname
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_xml_write</NAME>
|
|
<RETURNS>xmlDocPtr </RETURNS>
|
|
GstElement *element
|
|
</FUNCTION>
|
|
<TYPEDEF>
|
|
<NAME>GstClockTime</NAME>
|
|
typedef guint64 GstClockTime;
|
|
</TYPEDEF>
|
|
<TYPEDEF>
|
|
<NAME>GstClockTimeDiff</NAME>
|
|
typedef gint64 GstClockTimeDiff;
|
|
</TYPEDEF>
|
|
<MACRO>
|
|
<NAME>GST_CLOCK_DIFF</NAME>
|
|
#define GST_CLOCK_DIFF(s, e) (GstClockTimeDiff)((s)-(e))
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>GstClock</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstClock</NAME>
|
|
struct GstClock {
|
|
gchar *name;
|
|
GstClockTime start_time;
|
|
GstClockTime current_time;
|
|
GstClockTimeDiff adjust;
|
|
gboolean locking;
|
|
GList *sinkobjects;
|
|
GMutex *sinkmutex;
|
|
GMutex *lock;
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_clock_new</NAME>
|
|
<RETURNS>GstClock *</RETURNS>
|
|
gchar *name
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_clock_get_system</NAME>
|
|
<RETURNS>GstClock *</RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_clock_register</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstClock *clock, GstObject *obj
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_clock_set</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstClock *clock, GstClockTime time
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_clock_reset</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstClock *clock
|
|
</FUNCTION>
|
|
<FUNCTION>
|
|
<NAME>gst_clock_wait</NAME>
|
|
<RETURNS>void </RETURNS>
|
|
GstClock *clock, GstClockTime time, GstObject *obj
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>GST_TYPE_ASYNCDISKSRC</NAME>
|
|
#define GST_TYPE_ASYNCDISKSRC \
|
|
(gst_asyncdisksrc_get_type())
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_ASYNCDISKSRC</NAME>
|
|
#define GST_ASYNCDISKSRC(obj) \
|
|
(GTK_CHECK_CAST((obj),GST_TYPE_ASYNCDISKSRC,GstAsyncDiskSrc))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_ASYNCDISKSRC_CLASS</NAME>
|
|
#define GST_ASYNCDISKSRC_CLASS(klass) \
|
|
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_ASYNCDISKSRC,GstAsyncDiskSrcClass))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_ASYNCDISKSRC</NAME>
|
|
#define GST_IS_ASYNCDISKSRC(obj) \
|
|
(GTK_CHECK_TYPE((obj),GST_TYPE_ASYNCDISKSRC))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_ASYNCDISKSRC_CLASS</NAME>
|
|
#define GST_IS_ASYNCDISKSRC_CLASS(obj) \
|
|
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_ASYNCDISKSRC))
|
|
</MACRO>
|
|
<ENUM>
|
|
<NAME>GstAsyncDiskSrcFlags</NAME>
|
|
typedef enum {
|
|
GST_ASYNCDISKSRC_OPEN = (1 << 16),
|
|
} GstAsyncDiskSrcFlags;
|
|
</ENUM>
|
|
<STRUCT>
|
|
<NAME>GstAsyncDiskSrc</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstAsyncDiskSrcClass</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstAsyncDiskSrc</NAME>
|
|
struct GstAsyncDiskSrc {
|
|
GstSrc src;
|
|
/* pads */
|
|
GstPad *srcpad;
|
|
|
|
/* filename */
|
|
gchar *filename;
|
|
/* fd */
|
|
gint fd;
|
|
|
|
/* mapping parameters */
|
|
gulong size; /* how long is the file? */
|
|
guchar *map; /* where the file is mapped to */
|
|
|
|
/* details for fallback synchronous read */
|
|
gulong curoffset; /* current offset in file */
|
|
gulong bytes_per_read; /* bytes per read */
|
|
|
|
gulong seq; /* buffer sequence number */
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_asyncdisksrc_get_type</NAME>
|
|
<RETURNS>GtkType </RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>GST_TYPE_AUDIOSINK</NAME>
|
|
#define GST_TYPE_AUDIOSINK \
|
|
(gst_audiosink_get_type())
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_AUDIOSINK</NAME>
|
|
#define GST_AUDIOSINK(obj) \
|
|
(GTK_CHECK_CAST((obj),GST_TYPE_AUDIOSINK,GstAudioSink))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_AUDIOSINK_CLASS</NAME>
|
|
#define GST_AUDIOSINK_CLASS(klass) \
|
|
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIOSINK,GstAudioSinkClass))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_AUDIOSINK</NAME>
|
|
#define GST_IS_AUDIOSINK(obj) \
|
|
(GTK_CHECK_TYPE((obj),GST_TYPE_AUDIOSINK))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_AUDIOSINK_CLASS</NAME>
|
|
#define GST_IS_AUDIOSINK_CLASS(obj) \
|
|
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIOSINK)))
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>GstAudioSink</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstAudioSinkClass</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstAudioSink</NAME>
|
|
struct GstAudioSink {
|
|
GstSink sink;
|
|
|
|
GstPad *sinkpad;
|
|
|
|
GstClockTime clocktime;
|
|
GstClock *clock;
|
|
/* soundcard state */
|
|
int fd;
|
|
int caps; /* the capabilities */
|
|
gint format;
|
|
gint channels;
|
|
gint frequency;
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_audiosink_get_type</NAME>
|
|
<RETURNS>GtkType </RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>GST_TYPE_AUDIOSRC</NAME>
|
|
#define GST_TYPE_AUDIOSRC \
|
|
(gst_audiosrc_get_type())
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_AUDIOSRC</NAME>
|
|
#define GST_AUDIOSRC(obj) \
|
|
(GTK_CHECK_CAST((obj),GST_TYPE_AUDIOSRC,GstAudioSrc))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_AUDIOSRC_CLASS</NAME>
|
|
#define GST_AUDIOSRC_CLASS(klass) \
|
|
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIOSRC,GstAudioSrcClass))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_AUDIOSRC</NAME>
|
|
#define GST_IS_AUDIOSRC(obj) \
|
|
(GTK_CHECK_TYPE((obj),GST_TYPE_AUDIOSRC))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_AUDIOSRC_CLASS</NAME>
|
|
#define GST_IS_AUDIOSRC_CLASS(obj) \
|
|
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIOSRC)))
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>GstAudioSrc</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstAudioSrcClass</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstAudioSrc</NAME>
|
|
struct GstAudioSrc {
|
|
GstSrc src;
|
|
|
|
/* pads */
|
|
GstPad *srcpad;
|
|
|
|
/* sound card */
|
|
gint fd;
|
|
|
|
/* audio parameters */
|
|
gint format;
|
|
gint channels;
|
|
gint frequency;
|
|
|
|
/* blocking */
|
|
gulong curoffset;
|
|
gulong bytes_per_read;
|
|
|
|
gulong seq;
|
|
|
|
MetaAudioRaw *meta;
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_audiosrc_get_type</NAME>
|
|
<RETURNS>GtkType </RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>GST_TYPE_DISKSRC</NAME>
|
|
#define GST_TYPE_DISKSRC \
|
|
(gst_disksrc_get_type())
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_DISKSRC</NAME>
|
|
#define GST_DISKSRC(obj) \
|
|
(GTK_CHECK_CAST((obj),GST_TYPE_DISKSRC,GstDiskSrc))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_DISKSRC_CLASS</NAME>
|
|
#define GST_DISKSRC_CLASS(klass) \
|
|
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_DISKSRC,GstDiskSrcClass))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_DISKSRC</NAME>
|
|
#define GST_IS_DISKSRC(obj) \
|
|
(GTK_CHECK_TYPE((obj),GST_TYPE_DISKSRC))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_DISKSRC_CLASS</NAME>
|
|
#define GST_IS_DISKSRC_CLASS(obj) \
|
|
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_DISKSRC)))
|
|
</MACRO>
|
|
<ENUM>
|
|
<NAME>GstDiskSrcFlags</NAME>
|
|
typedef enum {
|
|
GST_DISKSRC_OPEN = (1 << 16),
|
|
} GstDiskSrcFlags;
|
|
</ENUM>
|
|
<STRUCT>
|
|
<NAME>GstDiskSrc</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstDiskSrcClass</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstDiskSrc</NAME>
|
|
struct GstDiskSrc {
|
|
GstSrc src;
|
|
/* pads */
|
|
GstPad *srcpad;
|
|
|
|
/* filename */
|
|
gchar *filename;
|
|
/* fd */
|
|
gint fd;
|
|
|
|
gulong curoffset; /* current offset in file */
|
|
gulong bytes_per_read; /* bytes per read */
|
|
|
|
gulong seq; /* buffer sequence number */
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_disksrc_get_type</NAME>
|
|
<RETURNS>GtkType </RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>GST_TYPE_ESDSINK</NAME>
|
|
#define GST_TYPE_ESDSINK \
|
|
(gst_esdsink_get_type())
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_ESDSINK</NAME>
|
|
#define GST_ESDSINK(obj) \
|
|
(GTK_CHECK_CAST((obj),GST_TYPE_ESDSINK,GstEsdSink))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_ESDSINK_CLASS</NAME>
|
|
#define GST_ESDSINK_CLASS(klass) \
|
|
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_ESDSINK,GstEsdSinkClass))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_ESDSINK</NAME>
|
|
#define GST_IS_ESDSINK(obj) \
|
|
(GTK_CHECK_TYPE((obj),GST_TYPE_ESDSINK))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_ESDSINK_CLASS</NAME>
|
|
#define GST_IS_ESDSINK_CLASS(obj) \
|
|
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_ESDSINK)))
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>GstEsdSink</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstEsdSinkClass</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstEsdSink</NAME>
|
|
struct GstEsdSink {
|
|
GstFilter filter;
|
|
|
|
GstPad *sinkpad;
|
|
|
|
/* soundcard state */
|
|
|
|
int fd;
|
|
gint format;
|
|
gint channels;
|
|
gint frequency;
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_esdsink_get_type</NAME>
|
|
<RETURNS>GtkType </RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>GST_TYPE_FAKESINK</NAME>
|
|
#define GST_TYPE_FAKESINK \
|
|
(gst_fakesink_get_type())
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_FAKESINK</NAME>
|
|
#define GST_FAKESINK(obj) \
|
|
(GTK_CHECK_CAST((obj),GST_TYPE_FAKESINK,GstFakeSink))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_FAKESINK_CLASS</NAME>
|
|
#define GST_FAKESINK_CLASS(klass) \
|
|
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_FAKESINK,GstFakeSinkClass))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_FAKESINK</NAME>
|
|
#define GST_IS_FAKESINK(obj) \
|
|
(GTK_CHECK_TYPE((obj),GST_TYPE_FAKESINK))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_FAKESINK_CLASS</NAME>
|
|
#define GST_IS_FAKESINK_CLASS(obj) \
|
|
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_FAKESINK)))
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>GstFakeSink</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstFakeSinkClass</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstFakeSink</NAME>
|
|
struct GstFakeSink {
|
|
GstSink sink;
|
|
|
|
GstPad *sinkpad;
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_fakesink_get_type</NAME>
|
|
<RETURNS>GtkType </RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>GST_TYPE_FAKESRC</NAME>
|
|
#define GST_TYPE_FAKESRC \
|
|
(gst_fakesrc_get_type())
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_FAKESRC</NAME>
|
|
#define GST_FAKESRC(obj) \
|
|
(GTK_CHECK_CAST((obj),GST_TYPE_FAKESRC,GstFakeSrc))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_FAKESRC_CLASS</NAME>
|
|
#define GST_FAKESRC_CLASS(klass) \
|
|
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_FAKESRC,GstFakeSrcClass))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_FAKESRC</NAME>
|
|
#define GST_IS_FAKESRC(obj) \
|
|
(GTK_CHECK_TYPE((obj),GST_TYPE_FAKESRC))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_FAKESRC_CLASS</NAME>
|
|
#define GST_IS_FAKESRC_CLASS(obj) \
|
|
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_FAKESRC)))
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>GstFakeSrc</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstFakeSrcClass</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstFakeSrc</NAME>
|
|
struct GstFakeSrc {
|
|
GstSrc src;
|
|
|
|
GstPad *srcpad;
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_fakesrc_get_type</NAME>
|
|
<RETURNS>GtkType </RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>GST_TYPE_FDSINK</NAME>
|
|
#define GST_TYPE_FDSINK \
|
|
(gst_fdsink_get_type())
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_FDSINK</NAME>
|
|
#define GST_FDSINK(obj) \
|
|
(GTK_CHECK_CAST((obj),GST_TYPE_FDSINK,GstFdSink))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_FDSINK_CLASS</NAME>
|
|
#define GST_FDSINK_CLASS(klass) \
|
|
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_FDSINK,GstFdSinkClass))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_FDSINK</NAME>
|
|
#define GST_IS_FDSINK(obj) \
|
|
(GTK_CHECK_TYPE((obj),GST_TYPE_FDSINK))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_FDSINK_CLASS</NAME>
|
|
#define GST_IS_FDSINK_CLASS(obj) \
|
|
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_FDSINK)))
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>GstFdSink</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstFdSinkClass</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstFdSink</NAME>
|
|
struct GstFdSink {
|
|
GstSink sink;
|
|
|
|
GstPad *sinkpad;
|
|
|
|
int fd;
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_fdsink_get_type</NAME>
|
|
<RETURNS>GtkType </RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>GST_TYPE_FDSRC</NAME>
|
|
#define GST_TYPE_FDSRC \
|
|
(gst_fdsrc_get_type())
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_FDSRC</NAME>
|
|
#define GST_FDSRC(obj) \
|
|
(GTK_CHECK_CAST((obj),GST_TYPE_FDSRC,GstFdSrc))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_FDSRC_CLASS</NAME>
|
|
#define GST_FDSRC_CLASS(klass) \
|
|
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_FDSRC,GstFdSrcClass))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_FDSRC</NAME>
|
|
#define GST_IS_FDSRC(obj) \
|
|
(GTK_CHECK_TYPE((obj),GST_TYPE_FDSRC))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_FDSRC_CLASS</NAME>
|
|
#define GST_IS_FDSRC_CLASS(obj) \
|
|
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_FDSRC)))
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>GstFdSrc</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstFdSrcClass</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstFdSrc</NAME>
|
|
struct GstFdSrc {
|
|
GstSrc src;
|
|
/* pads */
|
|
GstPad *srcpad;
|
|
|
|
/* fd */
|
|
gint fd;
|
|
|
|
gulong curoffset; /* current offset in file */
|
|
gulong bytes_per_read; /* bytes per read */
|
|
|
|
gulong seq; /* buffer sequence number */
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_fdsrc_get_type</NAME>
|
|
<RETURNS>GtkType </RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>GST_TYPE_HTTPSRC</NAME>
|
|
#define GST_TYPE_HTTPSRC \
|
|
(gst_httpsrc_get_type())
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_HTTPSRC</NAME>
|
|
#define GST_HTTPSRC(obj) \
|
|
(GTK_CHECK_CAST((obj),GST_TYPE_HTTPSRC,GstHttpSrc))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_HTTPSRC_CLASS</NAME>
|
|
#define GST_HTTPSRC_CLASS(klass) \
|
|
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_HTTPSRC,GstHttpSrcClass))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_HTTPSRC</NAME>
|
|
#define GST_IS_HTTPSRC(obj) \
|
|
(GTK_CHECK_TYPE((obj),GST_TYPE_HTTPSRC))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_HTTPSRC_CLASS</NAME>
|
|
#define GST_IS_HTTPSRC_CLASS(obj) \
|
|
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_HTTPSRC)))
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>GstHttpSrc</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstHttpSrcClass</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstHttpSrc</NAME>
|
|
struct GstHttpSrc {
|
|
GstSrc src;
|
|
/* pads */
|
|
GstPad *srcpad;
|
|
|
|
gchar *url;
|
|
ghttp_request *request;
|
|
int fd;
|
|
|
|
gulong curoffset; /* current offset in file */
|
|
gulong bytes_per_read; /* bytes per read */
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_httpsrc_get_type</NAME>
|
|
<RETURNS>GtkType </RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>GST_TYPE_IDENTITY</NAME>
|
|
#define GST_TYPE_IDENTITY \
|
|
(gst_identity_get_type())
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IDENTITY</NAME>
|
|
#define GST_IDENTITY(obj) \
|
|
(GTK_CHECK_CAST((obj),GST_TYPE_IDENTITY,GstIdentity))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IDENTITY_CLASS</NAME>
|
|
#define GST_IDENTITY_CLASS(klass) \
|
|
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_IDENTITY,GstIdentityClass))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_IDENTITY</NAME>
|
|
#define GST_IS_IDENTITY(obj) \
|
|
(GTK_CHECK_TYPE((obj),GST_TYPE_IDENTITY))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_IDENTITY_CLASS</NAME>
|
|
#define GST_IS_IDENTITY_CLASS(obj) \
|
|
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_IDENTITY)))
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>GstIdentity</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstIdentityClass</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstIdentity</NAME>
|
|
struct GstIdentity {
|
|
GstFilter filter;
|
|
|
|
GstPad *sinkpad;
|
|
GstPad *srcpad;
|
|
|
|
gint control;
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_identity_get_type</NAME>
|
|
<RETURNS>GtkType </RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>GST_TYPE_QUEUE</NAME>
|
|
#define GST_TYPE_QUEUE \
|
|
(gst_queue_get_type())
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_QUEUE</NAME>
|
|
#define GST_QUEUE(obj) \
|
|
(GTK_CHECK_CAST((obj),GST_TYPE_QUEUE,GstQueue))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_QUEUE_CLASS</NAME>
|
|
#define GST_QUEUE_CLASS(klass) \
|
|
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_QUEUE,GstQueueClass))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_QUEUE</NAME>
|
|
#define GST_IS_QUEUE(obj) \
|
|
(GTK_CHECK_TYPE((obj),GST_TYPE_QUEUE))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_QUEUE_CLASS</NAME>
|
|
#define GST_IS_QUEUE_CLASS(obj) \
|
|
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_QUEUE)))
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>GstQueue</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstQueueClass</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstQueue</NAME>
|
|
struct GstQueue {
|
|
GstConnection Connection;
|
|
|
|
GstPad *sinkpad;
|
|
GstPad *srcpad;
|
|
|
|
/* the queue of buffers we're keeping our grubby hands on */
|
|
GList *queue;
|
|
GList *tail; /* have to keep track of this myself */
|
|
|
|
gint level_buffers; /* number of buffers queued here */
|
|
gint max_buffers; /* maximum number of buffers queued here */
|
|
gint level_bytes; /* number of bytes queued here */
|
|
gint size_buffers; /* size of queue in buffers */
|
|
gint size_bytes; /* size of queue in bytes */
|
|
|
|
GMutex *emptylock; /* used when the queue is empty */
|
|
GCond *emptycond;
|
|
GMutex *fulllock; /* used when the queue is full */
|
|
GCond *fullcond;
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_queue_get_type</NAME>
|
|
<RETURNS>GtkType </RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<MACRO>
|
|
<NAME>GST_TYPE_SINESRC</NAME>
|
|
#define GST_TYPE_SINESRC \
|
|
(gst_sinesrc_get_type())
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_SINESRC</NAME>
|
|
#define GST_SINESRC(obj) \
|
|
(GTK_CHECK_CAST((obj),GST_TYPE_SINESRC,GstSineSrc))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_SINESRC_CLASS</NAME>
|
|
#define GST_SINESRC_CLASS(klass) \
|
|
(GTK_CHECK_CLASS_CAST((klass),GST_TYPE_SINESRC,GstSineSrcClass))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_SINESRC</NAME>
|
|
#define GST_IS_SINESRC(obj) \
|
|
(GTK_CHECK_TYPE((obj),GST_TYPE_SINESRC))
|
|
</MACRO>
|
|
<MACRO>
|
|
<NAME>GST_IS_SINESRC_CLASS</NAME>
|
|
#define GST_IS_SINESRC_CLASS(obj) \
|
|
(GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_SINESRC)))
|
|
</MACRO>
|
|
<STRUCT>
|
|
<NAME>GstSineSrc</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstSineSrcClass</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>GstSineSrc</NAME>
|
|
struct GstSineSrc {
|
|
GstSrc src;
|
|
|
|
/* pads */
|
|
GstPad *srcpad;
|
|
|
|
/* parameters */
|
|
gdouble volume;
|
|
gint freq;
|
|
|
|
/* audio parameters */
|
|
gint format;
|
|
gint channels;
|
|
gint frequency;
|
|
|
|
/* state */
|
|
double mTheta;
|
|
|
|
gulong seq;
|
|
|
|
MetaAudioRaw meta;
|
|
gboolean sentmeta;
|
|
};
|
|
</STRUCT>
|
|
<FUNCTION>
|
|
<NAME>gst_sinesrc_get_type</NAME>
|
|
<RETURNS>GtkType </RETURNS>
|
|
void
|
|
</FUNCTION>
|
|
<STRUCT>
|
|
<NAME>MetaAudioRaw</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>MetaAudioRaw</NAME>
|
|
struct MetaAudioRaw {
|
|
GstMeta meta;
|
|
|
|
/* formatting information */
|
|
gint format;
|
|
gint channels;
|
|
gint frequency;
|
|
gint bps;
|
|
};
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>MetaAudioSpectrum</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>MetaAudioSpectrum</NAME>
|
|
struct MetaAudioSpectrum {
|
|
GstMeta meta;
|
|
|
|
/* data representation */
|
|
gint16 bands; /* how many bands are represented */
|
|
gint8 channels; /* how many audio channels are there? */
|
|
gboolean interleaved; /* are the channels interleaved? */
|
|
|
|
/* spectrum details */
|
|
gint16 lowfreq;
|
|
gint16 highfreq;
|
|
gint16 steps;
|
|
};
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>MetaVideoRaw</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>MetaDGA</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>MetaOverlay</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>OverlayClip</NAME>
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>OverlayClip</NAME>
|
|
struct OverlayClip {
|
|
int x1, x2, y1, y2;
|
|
};
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>MetaDGA</NAME>
|
|
struct MetaDGA {
|
|
// the base address of the screen
|
|
void *base;
|
|
// the dimensions of the screen
|
|
int swidth, sheight;
|
|
// the number of bytes in a line
|
|
int bytes_per_line;
|
|
};
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>MetaOverlay</NAME>
|
|
struct MetaOverlay {
|
|
// the position of the window
|
|
int wx, wy;
|
|
// a reference to the object sending overlay change events
|
|
GtkWidget *overlay_element;
|
|
// the number of overlay regions
|
|
int clip_count;
|
|
// the overlay regions of the display window
|
|
struct _OverlayClip overlay_clip[32];
|
|
|
|
gint width;
|
|
gint height;
|
|
|
|
gboolean did_overlay;
|
|
gboolean fully_obscured;
|
|
};
|
|
</STRUCT>
|
|
<STRUCT>
|
|
<NAME>MetaVideoRaw</NAME>
|
|
struct MetaVideoRaw {
|
|
GstMeta meta;
|
|
|
|
/* formatting information */
|
|
gint format;
|
|
GdkVisual *visual;
|
|
// dimensions of the video buffer
|
|
gint width;
|
|
gint height;
|
|
// a pointer to the overlay info if the sink supports this
|
|
MetaOverlay *overlay_info;
|
|
// a pointer to the DGA info if the sink supports this
|
|
MetaDGA *dga_info;
|
|
};
|
|
</STRUCT>
|