2 <NAME>COTHREAD_STACKSIZE</NAME>
3 #define COTHREAD_STACKSIZE 8192
6 <NAME>COTHREAD_MAXTHREADS</NAME>
7 #define COTHREAD_MAXTHREADS 16
10 <NAME>STACK_SIZE</NAME>
11 #define STACK_SIZE 0x200000
14 <NAME>CURRENT_STACK_FRAME</NAME>
15 #define CURRENT_STACK_FRAME ({ char __csf; &__csf; })
18 <NAME>cothread_state</NAME>
21 <NAME>cothread_context</NAME>
24 <NAME>cothread_func</NAME>
25 <RETURNS>int </RETURNS>
29 <NAME>COTHREAD_STARTED</NAME>
30 #define COTHREAD_STARTED 0x01
33 <NAME>cothread_state</NAME>
34 struct cothread_state {
35 cothread_context *ctx;
49 <NAME>cothread_context</NAME>
50 struct cothread_context {
51 cothread_state *threads[COTHREAD_MAXTHREADS];
57 <NAME>cothread_init</NAME>
58 <RETURNS>cothread_context *</RETURNS>
62 <NAME>cothread_create</NAME>
63 <RETURNS>cothread_state *</RETURNS>
67 <NAME>cothread_setfunc</NAME>
68 <RETURNS>void </RETURNS>
69 cothread_state *thread,cothread_func func,int argc,char **argv
72 <NAME>cothread_switch</NAME>
73 <RETURNS>void </RETURNS>
74 cothread_state *thread
77 <NAME>cothread_main</NAME>
78 <RETURNS>cothread_state *</RETURNS>
83 <RETURNS>void </RETURNS>
84 int *argc,char **argv[]
88 <RETURNS>void </RETURNS>
92 <NAME>gst_main_quit</NAME>
93 <RETURNS>void </RETURNS>
98 #define DEBUG(format, args...) g_print("DEBUG:(%d) " format, getpid() , ##args)
102 #define DEBUG(format, args...)
105 <NAME>gst_bin_details</NAME>
106 extern GstElementDetails gst_bin_details;
109 <NAME>GST_TYPE_BIN</NAME>
110 #define GST_TYPE_BIN \
115 #define GST_BIN(obj) \
116 (GTK_CHECK_CAST((obj),GST_TYPE_BIN,GstBin))
119 <NAME>GST_BIN_CLASS</NAME>
120 #define GST_BIN_CLASS(klass) \
121 (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_BIN,GstBinClass))
124 <NAME>GST_IS_BIN</NAME>
125 #define GST_IS_BIN(obj) \
126 (GTK_CHECK_TYPE((obj),GST_TYPE_BIN))
129 <NAME>GST_IS_BIN_CLASS</NAME>
130 #define GST_IS_BIN_CLASS(obj) \
131 (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_BIN))
137 <NAME>GstBinClass</NAME>
149 gboolean need_cothreads;
153 cothread_context *threadcontext;
154 gboolean use_cothreads;
158 <NAME>GstBinClass</NAME>
160 GstElementClass parent_class;
162 void (*object_added) (GstObject *object,GstObject *child);
164 /* change the state of elements of the given type */
165 gboolean (*change_state_type) (GstBin *bin,
166 GstElementState state,
169 /* create a plan for the execution of the bin */
170 void (*create_plan) (GstBin *bin);
172 /* run a full iteration of operation */
173 void (*iterate) (GstBin *bin);
177 <NAME>gst_bin_get_type</NAME>
178 <RETURNS>GtkType </RETURNS>
182 <NAME>gst_bin_new</NAME>
183 <RETURNS>GstElement *</RETURNS>
187 <NAME>gst_bin_destroy</NAME>
188 #define gst_bin_destroy(bin) gst_object_destroy(GST_OBJECT(bin))
191 <NAME>gst_bin_add</NAME>
192 <RETURNS>void </RETURNS>
193 GstBin *bin,GstElement *element
196 <NAME>gst_bin_remove</NAME>
197 <RETURNS>void </RETURNS>
198 GstBin *bin,GstElement *element
201 <NAME>gst_bin_get_by_name</NAME>
202 <RETURNS>GstElement *</RETURNS>
203 GstBin *bin,gchar *name
206 <NAME>gst_bin_get_list</NAME>
207 <RETURNS>GList *</RETURNS>
211 <NAME>gst_bin_set_state_type</NAME>
212 <RETURNS>gboolean </RETURNS>
213 GstBin *bin,GstElementState state,GtkType type
216 <NAME>gst_bin_iterate</NAME>
217 <RETURNS>void </RETURNS>
221 <NAME>gst_bin_create_plan</NAME>
222 <RETURNS>void </RETURNS>
226 <NAME>gst_bin_use_cothreads</NAME>
227 <RETURNS>void </RETURNS>
228 GstBin *bin, gboolean enabled
231 <NAME>GST_BUFFER</NAME>
232 #define GST_BUFFER(buf) \
236 <NAME>GST_BUFFER_FLAGS</NAME>
237 #define GST_BUFFER_FLAGS(buf) \
238 (GST_BUFFER(buf)->flags)
241 <NAME>GST_BUFFER_FLAG_IS_SET</NAME>
242 #define GST_BUFFER_FLAG_IS_SET(buf,flag) \
243 (GST_BUFFER_FLAGS(buf) & (flag))
246 <NAME>GST_BUFFER_FLAG_SET</NAME>
247 #define GST_BUFFER_FLAG_SET(buf,flag) \
248 G_STMT_START{ (GST_BUFFER_FLAGS(buf) |= (flag)); }G_STMT_END
251 <NAME>GST_BUFFER_FLAG_UNSET</NAME>
252 #define GST_BUFFER_FLAG_UNSET(buf,flag) \
253 G_STMT_START{ (GST_BUFFER_FLAGS(buf) &= ~(flag)); }G_STMT_END
256 <NAME>GST_BUFFER_TYPE</NAME>
257 #define GST_BUFFER_TYPE(buf) (GST_BUFFER(buf)->type)
260 <NAME>GST_BUFFER_DATA</NAME>
261 #define GST_BUFFER_DATA(buf) (GST_BUFFER(buf)->data)
264 <NAME>GST_BUFFER_SIZE</NAME>
265 #define GST_BUFFER_SIZE(buf) (GST_BUFFER(buf)->size)
268 <NAME>GST_BUFFER_OFFSET</NAME>
269 #define GST_BUFFER_OFFSET(buf) (GST_BUFFER(buf)->offset)
272 <NAME>GST_BUFFER_MAXSIZE</NAME>
273 #define GST_BUFFER_MAXSIZE(buf) (GST_BUFFER(buf)->maxsize)
276 <NAME>GST_BUFFER_TIMESTAMP</NAME>
277 #define GST_BUFFER_TIMESTAMP(buf) (GST_BUFFER(buf)->timestamp)
280 <NAME>GST_BUFFER_LOCK</NAME>
281 #define GST_BUFFER_LOCK(buf) (g_mutex_lock(GST_BUFFER(buf)->lock))
284 <NAME>GST_BUFFER_TRYLOCK</NAME>
285 #define GST_BUFFER_TRYLOCK(buf) (g_mutex_trylock(GST_BUFFER(buf)->lock))
288 <NAME>GST_BUFFER_UNLOCK</NAME>
289 #define GST_BUFFER_UNLOCK(buf) (g_mutex_unlock(GST_BUFFER(buf)->lock))
292 <NAME>GstBufferFlags</NAME>
294 GST_BUFFER_READONLY = (1 << 0),
295 GST_BUFFER_EOS = (1 << 1),
296 GST_BUFFER_ORIGINAL = (1 << 2),
297 GST_BUFFER_DONTFREE = (1 << 3),
298 GST_BUFFER_FLUSH = (1 << 4),
302 <NAME>GstBuffer</NAME>
305 <NAME>GstBuffer</NAME>
313 #define GST_BUFFER_REFCOUNT(buf) (atomic_read(&(GST_BUFFER((buf))->refcount)))
316 #define GST_BUFFER_REFCOUNT(buf) (GST_BUFFER(buf)->refcount)
319 /* data type of this buffer */
324 /* pointer to data, its size, and offset in original source if known */
335 /* pointer to metadata, is really lame right now */
338 /* subbuffer support, who's my parent? */
341 /* this is a pointer to the buffer pool (if any) */
346 <NAME>gst_buffer_new</NAME>
347 <RETURNS>GstBuffer *</RETURNS>
351 <NAME>gst_buffer_new_from_pool</NAME>
352 <RETURNS>GstBuffer *</RETURNS>
356 <NAME>gst_buffer_create_sub</NAME>
357 <RETURNS>GstBuffer *</RETURNS>
358 GstBuffer *parent,guint32 offset,guint32 size
361 <NAME>gst_buffer_append</NAME>
362 <RETURNS>GstBuffer *</RETURNS>
363 GstBuffer *buffer, GstBuffer *append
366 <NAME>gst_buffer_ref</NAME>
367 <RETURNS>void </RETURNS>
371 <NAME>gst_buffer_ref_by_count</NAME>
372 <RETURNS>void </RETURNS>
373 GstBuffer *buffer,int count
376 <NAME>gst_buffer_unref</NAME>
377 <RETURNS>void </RETURNS>
381 <NAME>gst_buffer_destroy</NAME>
382 <RETURNS>void </RETURNS>
386 <NAME>gst_buffer_add_meta</NAME>
387 <RETURNS>void </RETURNS>
388 GstBuffer *buffer,GstMeta *meta
391 <NAME>gst_buffer_get_first_meta</NAME>
392 <RETURNS>GstMeta *</RETURNS>
396 <NAME>gst_buffer_get_metas</NAME>
397 <RETURNS>GSList *</RETURNS>
401 <NAME>gst_buffer_remove_meta</NAME>
402 <RETURNS>void </RETURNS>
403 GstBuffer *buffer,GstMeta *meta
406 <NAME>GstClockTime</NAME>
407 typedef guint64 GstClockTime;
410 <NAME>GstClockTimeDiff</NAME>
411 typedef gint64 GstClockTimeDiff;
414 <NAME>GST_CLOCK_DIFF</NAME>
415 #define GST_CLOCK_DIFF(s, e) (GstClockTimeDiff)((s)-(e))
418 <NAME>GstClock</NAME>
421 <NAME>GstClock</NAME>
424 GstClockTime start_time;
425 GstClockTime current_time;
426 GstClockTimeDiff adjust;
429 gint num, num_locked;
435 <NAME>gst_clock_new</NAME>
436 <RETURNS>GstClock *</RETURNS>
440 <NAME>gst_clock_get_system</NAME>
441 <RETURNS>GstClock *</RETURNS>
445 <NAME>gst_clock_register</NAME>
446 <RETURNS>void </RETURNS>
447 GstClock *clock, GstObject *obj
450 <NAME>gst_clock_set</NAME>
451 <RETURNS>void </RETURNS>
452 GstClock *clock, GstClockTime time
455 <NAME>gst_clock_reset</NAME>
456 <RETURNS>void </RETURNS>
460 <NAME>gst_clock_wait</NAME>
461 <RETURNS>void </RETURNS>
462 GstClock *clock, GstClockTime time, GstObject *obj
465 <NAME>gst_clock_current_diff</NAME>
466 <RETURNS>GstClockTimeDiff </RETURNS>
467 GstClock *clock, GstClockTime time
470 <NAME>GST_TYPE_CONNECTION</NAME>
471 #define GST_TYPE_CONNECTION \
472 (gst_connection_get_type())
475 <NAME>GST_CONNECTION</NAME>
476 #define GST_CONNECTION(obj) \
477 (GTK_CHECK_CAST((obj),GST_TYPE_CONNECTION,GstConnection))
480 <NAME>GST_CONNECTION_CLASS</NAME>
481 #define GST_CONNECTION_CLASS(klass) \
482 (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_CONNECTION,GstConnectionClass))
485 <NAME>GST_IS_CONNECTION</NAME>
486 #define GST_IS_CONNECTION(obj) \
487 (GTK_CHECK_TYPE((obj),GST_TYPE_CONNECTION))
490 <NAME>GST_IS_CONNECTION_CLASS</NAME>
491 #define GST_IS_CONNECTION_CLASS(obj) \
492 (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_CONNECTION)))
495 <NAME>GstConnection</NAME>
498 <NAME>GstConnectionClass</NAME>
501 <NAME>GstConnection</NAME>
502 struct GstConnection {
507 <NAME>GstConnectionClass</NAME>
508 struct GstConnectionClass {
509 GstElementClass parent_class;
512 void (*push) (GstConnection *connection);
516 <NAME>gst_connection_get_type</NAME>
517 <RETURNS>GtkType </RETURNS>
521 <NAME>gst_connection_new</NAME>
522 <RETURNS>GstElement *</RETURNS>
526 <NAME>gst_connection_push</NAME>
527 <RETURNS>void </RETURNS>
528 GstConnection *connection
531 <NAME>GstElementState</NAME>
533 GST_STATE_NONE_PENDING = -1,
536 GST_STATE_PLAYING = 2,
537 GST_STATE_PAUSED = 3,
541 <NAME>GstElementStateReturn</NAME>
543 GST_STATE_FAILURE = 0,
544 GST_STATE_SUCCESS = 1,
546 } GstElementStateReturn;
549 <NAME>GST_STATE</NAME>
550 #define GST_STATE(obj) (GST_ELEMENT(obj)->current_state)
553 <NAME>GST_STATE_PENDING</NAME>
554 #define GST_STATE_PENDING(obj) (GST_ELEMENT(obj)->pending_state)
557 <NAME>GST_TYPE_ELEMENT</NAME>
558 #define GST_TYPE_ELEMENT \
559 (gst_element_get_type())
562 <NAME>GST_ELEMENT</NAME>
563 #define GST_ELEMENT(obj) \
564 (GTK_CHECK_CAST((obj),GST_TYPE_ELEMENT,GstElement))
567 <NAME>GST_ELEMENT_CLASS</NAME>
568 #define GST_ELEMENT_CLASS(klass) \
569 (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_ELEMENT,GstElementClass))
572 <NAME>GST_IS_ELEMENT</NAME>
573 #define GST_IS_ELEMENT(obj) \
574 (GTK_CHECK_TYPE((obj),GST_TYPE_ELEMENT))
577 <NAME>GST_IS_ELEMENT_CLASS</NAME>
578 #define GST_IS_ELEMENT_CLASS(obj) \
579 (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_ELEMENT))
582 <NAME>GstElementFlags</NAME>
584 GST_ELEMENT_MULTI_IN = (1 << 0),
588 <NAME>GST_ELEMENT_IS_MULTI_IN</NAME>
589 #define GST_ELEMENT_IS_MULTI_IN(obj) (GST_FLAGS(obj) & GST_ELEMENT_MULTI_IN)
592 <NAME>GstElement</NAME>
595 <NAME>GstElementClass</NAME>
598 <NAME>GstElementDetails</NAME>
601 <NAME>GstElementFactory</NAME>
604 <NAME>GstElementLoopFunction</NAME>
605 <RETURNS>void </RETURNS>
609 <NAME>GstElement</NAME>
615 guint8 current_state;
616 guint8 pending_state;
618 GstElementLoopFunction loopfunc;
619 cothread_state *threadstate;
628 <NAME>GstElementClass</NAME>
629 struct GstElementClass {
630 GstObjectClass parent_class;
632 /* the elementfactory that created us */
633 GstElementFactory *elementfactory;
635 /* signal callbacks */
636 void (*state_change) (GstElement *element,GstElementState state);
637 void (*new_pad) (GstElement *element,GstPad *pad);
638 void (*new_ghost_pad) (GstElement *element,GstPad *pad);
639 void (*error) (GstElement *element,gchar *error);
642 // gboolean (*start) (GstElement *element,GstElementState state);
643 // gboolean (*stop) (GstElement *element);
645 /* change the element state */
646 GstElementStateReturn (*change_state) (GstElement *element);
648 /* create or read XML representation of self */
649 xmlNodePtr (*save_thyself)(GstElement *element,xmlNodePtr parent);
650 void (*restore_thyself)(GstElement *element,xmlNodePtr *self);
654 <NAME>GstElementDetails</NAME>
655 struct GstElementDetails {
656 gchar *longname; /* long, english name */
657 gchar *class; /* type of element, kinda */
658 gchar *description; /* insights of one form or another */
659 gchar *version; /* version of the element */
660 gchar *author; /* who wrote this thing? */
661 gchar *copyright; /* copyright details (year, etc.) */
665 <NAME>GstElementFactory</NAME>
666 struct GstElementFactory {
667 gchar *name; /* name of element */
668 GtkType type; /* unique GtkType of element */
670 GstElementDetails *details; /* pointer to details struct */
677 <NAME>gst_element_get_type</NAME>
678 <RETURNS>GtkType </RETURNS>
682 <NAME>gst_element_new</NAME>
683 <RETURNS>GstElement *</RETURNS>
687 <NAME>gst_element_set_loop_function</NAME>
688 <RETURNS>void </RETURNS>
689 GstElement *element,GstElementLoopFunction loop
692 <NAME>gst_element_set_name</NAME>
693 <RETURNS>void </RETURNS>
694 GstElement *element,gchar *name
697 <NAME>gst_element_get_name</NAME>
698 <RETURNS>gchar *</RETURNS>
702 <NAME>gst_element_set_manager</NAME>
703 <RETURNS>void </RETURNS>
704 GstElement *element,GstElement *manager
707 <NAME>gst_element_get_manager</NAME>
708 <RETURNS>GstElement *</RETURNS>
712 <NAME>gst_element_add_pad</NAME>
713 <RETURNS>void </RETURNS>
714 GstElement *element,GstPad *pad
717 <NAME>gst_element_add_ghost_pad</NAME>
718 <RETURNS>void </RETURNS>
719 GstElement *element,GstPad *pad
722 <NAME>gst_element_get_pad</NAME>
723 <RETURNS>GstPad *</RETURNS>
724 GstElement *element,gchar *name
727 <NAME>gst_element_get_pad_list</NAME>
728 <RETURNS>GList *</RETURNS>
732 <NAME>gst_element_connect</NAME>
733 <RETURNS>void </RETURNS>
734 GstElement *src,gchar *srcpadname,GstElement *dest,gchar *destpadname
737 <NAME>gst_element_set_state</NAME>
738 <RETURNS>gint </RETURNS>
739 GstElement *element,GstElementState state
742 <NAME>gst_element_error</NAME>
743 <RETURNS>void </RETURNS>
744 GstElement *element,gchar *error
747 <NAME>gst_element_get_factory</NAME>
748 <RETURNS>GstElementFactory *</RETURNS>
752 <NAME>gst_element_destroy</NAME>
753 #define gst_element_destroy(element) gst_object_destroy(GST_OBJECT(element))
756 <NAME>gst_element_save_thyself</NAME>
757 <RETURNS>xmlNodePtr </RETURNS>
758 GstElement *element,xmlNodePtr parent
761 <NAME>gst_elementfactory_new</NAME>
762 <RETURNS>GstElementFactory *</RETURNS>
763 gchar *name,GtkType type,GstElementDetails *details
766 <NAME>gst_elementfactory_register</NAME>
767 <RETURNS>void </RETURNS>
768 GstElementFactory *elementfactory
771 <NAME>gst_elementfactory_add_src</NAME>
772 <RETURNS>void </RETURNS>
773 GstElementFactory *elementfactory, guint16 id
776 <NAME>gst_elementfactory_add_sink</NAME>
777 <RETURNS>void </RETURNS>
778 GstElementFactory *elementfactory, guint16 id
781 <NAME>gst_elementfactory_find</NAME>
782 <RETURNS>GstElementFactory *</RETURNS>
786 <NAME>gst_elementfactory_get_list</NAME>
787 <RETURNS>GList *</RETURNS>
791 <NAME>gst_elementfactory_create</NAME>
792 <RETURNS>GstElement *</RETURNS>
793 GstElementFactory *factory,gchar *name
796 <NAME>gst_elementfactory_make</NAME>
797 <RETURNS>GstElement *</RETURNS>
798 gchar *factoryname,gchar *name
801 <NAME>gst_elementfactory_save_thyself</NAME>
802 <RETURNS>xmlNodePtr </RETURNS>
803 GstElementFactory *factory, xmlNodePtr parent
806 <NAME>gst_elementfactory_load_thyself</NAME>
807 <RETURNS>GstElementFactory *</RETURNS>
811 <NAME>gst_element_loopfunc_wrapper</NAME>
812 <RETURNS>int </RETURNS>
816 <NAME>GST_TYPE_FILTER</NAME>
817 #define GST_TYPE_FILTER \
818 (gst_filter_get_type())
821 <NAME>GST_FILTER</NAME>
822 #define GST_FILTER(obj) \
823 (GTK_CHECK_CAST((obj),GST_TYPE_FILTER,GstFilter))
826 <NAME>GST_FILTER_CLASS</NAME>
827 #define GST_FILTER_CLASS(klass) \
828 (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_FILTER,GstFilterClass))
831 <NAME>GST_IS_FILTER</NAME>
832 #define GST_IS_FILTER(obj) \
833 (GTK_CHECK_TYPE((obj),GST_TYPE_FILTER))
836 <NAME>GST_IS_FILTER_CLASS</NAME>
837 #define GST_IS_FILTER_CLASS(obj) \
838 (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_FILTER))
841 <NAME>GstFilter</NAME>
844 <NAME>GstFilterClass</NAME>
847 <NAME>GstFilter</NAME>
853 <NAME>GstFilterClass</NAME>
854 struct GstFilterClass {
855 GstElementClass parent_class;
859 <NAME>gst_filter_get_type</NAME>
860 <RETURNS>GtkType </RETURNS>
864 <NAME>gst_filter_new</NAME>
865 <RETURNS>GstElement *</RETURNS>
869 <NAME>GST_SHOW_INFO</NAME>
870 #define GST_SHOW_INFO
873 <NAME>gst_info</NAME>
874 #define gst_info(format,args...) fprintf(stderr,format,##args)
877 <NAME>gst_info</NAME>
878 #define gst_info(format,args...)
881 <NAME>GST_META</NAME>
882 #define GST_META(meta) ((GstMeta *)(meta))
885 <NAME>GST_META_FLAGS</NAME>
886 #define GST_META_FLAGS(buf) \
887 (GST_META(buf)->flags)
890 <NAME>GST_META_FLAG_IS_SET</NAME>
891 #define GST_META_FLAG_IS_SET(meta,flag) \
892 (GST_META_FLAGS(meta) & (flag))
895 <NAME>GST_META_FLAG_SET</NAME>
896 #define GST_META_FLAG_SET(meta,flag) \
897 G_STMT_START{ (GST_META_FLAGS(meta) |= (flag)); }G_STMT_END
900 <NAME>GST_META_FLAG_UNSET</NAME>
901 #define GST_META_FLAG_UNSET(meta,flag) \
902 G_STMT_START{ (GST_META_FLAGS(meta) &= ~(flag)); }G_STMT_END
905 <NAME>GstMetaFlags</NAME>
907 GST_META_FREEABLE = 1 << 0,
934 <NAME>gst_meta_new_size</NAME>
935 <RETURNS>GstMeta *</RETURNS>
939 <NAME>gst_meta_new</NAME>
940 #define gst_meta_new(type) (type *)gst_meta_new_size(sizeof(type))
943 <NAME>gst_meta_ref</NAME>
944 <RETURNS>void </RETURNS>
948 <NAME>gst_meta_unref</NAME>
949 <RETURNS>void </RETURNS>
953 <NAME>GST_TYPE_OBJECT</NAME>
954 #define GST_TYPE_OBJECT \
955 (gst_object_get_type())
958 <NAME>GST_OBJECT</NAME>
959 #define GST_OBJECT(obj) \
960 (GTK_CHECK_CAST((obj),GST_TYPE_OBJECT,GstObject))
963 <NAME>GST_OBJECT_CLASS</NAME>
964 #define GST_OBJECT_CLASS(klass) \
965 (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_OBJECT,GstObjectClass))
968 <NAME>GST_IS_OBJECT</NAME>
969 #define GST_IS_OBJECT(obj) \
970 (GTK_CHECK_TYPE((obj),GST_TYPE_OBJECT))
973 <NAME>GST_IS_OBJECT_CLASS</NAME>
974 #define GST_IS_OBJECT_CLASS(obj) \
975 (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_OBJECT))
978 <NAME>GstObject</NAME>
981 <NAME>GstObjectClass</NAME>
984 <NAME>GstObject</NAME>
988 /* have to have a refcount for the object */
995 /* locking for all sorts of things (like the refcount) */
998 /* this objects parent */
1003 <NAME>GstObjectClass</NAME>
1004 struct GstObjectClass {
1005 GtkObjectClass parent_class;
1008 void (*parent_set) (GstObject *object,GstObject *parent);
1010 /* functions go here */
1014 <NAME>GST_FLAGS</NAME>
1015 #define GST_FLAGS(obj) GTK_OBJECT_FLAGS(obj)
1018 <NAME>GST_FLAG_IS_SET</NAME>
1019 #define GST_FLAG_IS_SET(obj,flag) (GST_FLAGS (obj) & (flag))
1022 <NAME>GST_FLAG_SET</NAME>
1023 #define GST_FLAG_SET(obj,flag) G_STMT_START{ (GST_FLAGS (obj) |= (flag)); }G_STMT_END
1026 <NAME>GST_FLAG_UNSET</NAME>
1027 #define GST_FLAG_UNSET(obj,flag) G_STMT_START{ (GST_FLAGS (obj) &= ~(flag)); }G_STMT_END
1030 <NAME>GST_LOCK</NAME>
1031 #define GST_LOCK(obj) (g_mutex_lock(GST_OBJECT(obj)->lock))
1034 <NAME>GST_TRYLOCK</NAME>
1035 #define GST_TRYLOCK(obj) (g_mutex_trylock(GST_OBJECT(obj)->lock))
1038 <NAME>GST_UNLOCK</NAME>
1039 #define GST_UNLOCK(obj) (g_mutex_unlock(GST_OBJECT(obj)->lock))
1042 <NAME>gst_object_get_type</NAME>
1043 <RETURNS>GtkType </RETURNS>
1047 <NAME>gst_object_new</NAME>
1048 <RETURNS>GstObject *</RETURNS>
1052 <NAME>gst_object_set_parent</NAME>
1053 <RETURNS>void </RETURNS>
1054 GstObject *object,GstObject *parent
1057 <NAME>gst_object_get_parent</NAME>
1058 <RETURNS>GstObject *</RETURNS>
1062 <NAME>gst_object_unparent</NAME>
1063 <RETURNS>void </RETURNS>
1067 <NAME>gst_object_ref</NAME>
1068 #define gst_object_ref(object) gtk_object_ref(GTK_OBJECT(object));
1071 <NAME>gst_object_unref</NAME>
1072 #define gst_object_unref(object) gtk_object_unref(GTK_OBJECT(object));
1075 <NAME>gst_object_sink</NAME>
1076 #define gst_object_sink(object) gtk_object_sink(GTK_OBJECT(object));
1079 <NAME>gst_object_destroy</NAME>
1080 #define gst_object_destroy(object) gtk_object_destroy(GTK_OBJECT(object))
1083 <NAME>GST_TYPE_PAD</NAME>
1084 #define GST_TYPE_PAD (gst_pad_get_type())
1087 <NAME>GST_PAD</NAME>
1088 #define GST_PAD(obj) (GTK_CHECK_CAST((obj),GST_TYPE_PAD,GstPad))
1091 <NAME>GST_PAD_CLASS</NAME>
1092 #define GST_PAD_CLASS(klass) (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_PAD,GstPadClass))
1095 <NAME>GST_IS_PAD</NAME>
1096 #define GST_IS_PAD(obj) (GTK_CHECK_TYPE((obj),GST_TYPE_PAD))
1099 <NAME>GST_IS_PAD_CLASS</NAME>
1100 #define GST_IS_PAD_CLASS(obj) (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_PAD))
1103 <NAME>GST_PAD_CONNECTED</NAME>
1104 #define GST_PAD_CONNECTED(pad) ((pad)->peer != NULL)
1107 <NAME>GST_PAD_CAN_PULL</NAME>
1108 #define GST_PAD_CAN_PULL(pad) ((pad)->pullfunc != NULL)
1114 <NAME>GstPadClass</NAME>
1117 <NAME>GstPadChainFunction</NAME>
1118 <RETURNS>void </RETURNS>
1119 GstPad *pad,GstBuffer *buf
1122 <NAME>GstPadPullFunction</NAME>
1123 <RETURNS>void </RETURNS>
1127 <NAME>GstPadPushFunction</NAME>
1128 <RETURNS>void </RETURNS>
1132 <NAME>GstPadQoSFunction</NAME>
1133 <RETURNS>void </RETURNS>
1134 GstPad *pad, glong qos_message
1137 <NAME>GstPadDirection</NAME>
1152 GstPadDirection direction;
1158 GstPadChainFunction chainfunc;
1159 GstPadPullFunction pullfunc;
1160 GstPadPushFunction pushfunc;
1161 GstPadQoSFunction qosfunc;
1164 GList *ghostparents;
1168 <NAME>GstPadClass</NAME>
1169 struct GstPadClass {
1170 GstObjectClass parent_class;
1174 <NAME>gst_pad_get_type</NAME>
1175 <RETURNS>GtkType </RETURNS>
1179 <NAME>gst_pad_new</NAME>
1180 <RETURNS>GstPad *</RETURNS>
1181 gchar *name,GstPadDirection direction
1184 <NAME>gst_pad_destroy</NAME>
1185 <RETURNS>void </RETURNS>
1189 <NAME>gst_pad_get_direction</NAME>
1190 <RETURNS>GstPadDirection </RETURNS>
1194 <NAME>gst_pad_set_chain_function</NAME>
1195 <RETURNS>void </RETURNS>
1196 GstPad *pad,GstPadChainFunction chain
1199 <NAME>gst_pad_set_pull_function</NAME>
1200 <RETURNS>void </RETURNS>
1201 GstPad *pad, GstPadPullFunction pull
1204 <NAME>gst_pad_set_qos_function</NAME>
1205 <RETURNS>void </RETURNS>
1206 GstPad *pad, GstPadQoSFunction qos
1209 <NAME>gst_pad_get_type_id</NAME>
1210 <RETURNS>guint16 </RETURNS>
1214 <NAME>gst_pad_set_type_id</NAME>
1215 <RETURNS>void </RETURNS>
1216 GstPad *pad,guint16 id
1219 <NAME>gst_pad_set_name</NAME>
1220 <RETURNS>void </RETURNS>
1221 GstPad *pad,gchar *name
1224 <NAME>gst_pad_get_name</NAME>
1225 <RETURNS>gchar *</RETURNS>
1229 <NAME>gst_pad_destroy</NAME>
1230 #define gst_pad_destroy(pad) gst_object_destroy(GST_OBJECT(pad))
1233 <NAME>gst_pad_set_parent</NAME>
1234 <RETURNS>void </RETURNS>
1235 GstPad *pad,GstObject *parent
1238 <NAME>gst_pad_add_ghost_parent</NAME>
1239 <RETURNS>void </RETURNS>
1240 GstPad *pad,GstObject *parent
1243 <NAME>gst_pad_remove_ghost_parent</NAME>
1244 <RETURNS>void </RETURNS>
1245 GstPad *pad,GstObject *parent
1248 <NAME>gst_pad_get_parent</NAME>
1249 <RETURNS>GstObject *</RETURNS>
1253 <NAME>gst_pad_get_ghost_parents</NAME>
1254 <RETURNS>GList *</RETURNS>
1258 <NAME>gst_pad_get_peer</NAME>
1259 <RETURNS>GstPad *</RETURNS>
1263 <NAME>gst_pad_connect</NAME>
1264 <RETURNS>void </RETURNS>
1265 GstPad *srcpad,GstPad *sinkpad
1268 <NAME>gst_pad_disconnect</NAME>
1269 <RETURNS>void </RETURNS>
1270 GstPad *srcpad,GstPad *sinkpad
1273 <NAME>gst_pad_push</NAME>
1274 <RETURNS>void </RETURNS>
1275 GstPad *pad,GstBuffer *buffer
1278 <NAME>gst_pad_pull</NAME>
1279 <RETURNS>GstBuffer *</RETURNS>
1283 <NAME>gst_pad_handle_qos</NAME>
1284 <RETURNS>void </RETURNS>
1285 GstPad *pad, glong qos_message
1288 <NAME>gst_pad_save_thyself</NAME>
1289 <RETURNS>xmlNodePtr </RETURNS>
1290 GstPad *pad,xmlNodePtr parent
1293 <NAME>gst_pipeline_details</NAME>
1294 extern GstElementDetails gst_pipeline_details;
1297 <NAME>GST_TYPE_PIPELINE</NAME>
1298 #define GST_TYPE_PIPELINE \
1299 (gst_pipeline_get_type())
1302 <NAME>GST_PIPELINE</NAME>
1303 #define GST_PIPELINE(obj) \
1304 (GTK_CHECK_CAST((obj),GST_TYPE_PIPELINE,GstPipeline))
1307 <NAME>GST_PIPELINE_CLASS</NAME>
1308 #define GST_PIPELINE_CLASS(klass) \
1309 (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_PIPELINE,GstPipelineClass))
1312 <NAME>GST_IS_PIPELINE</NAME>
1313 #define GST_IS_PIPELINE(obj) \
1314 (GTK_CHECK_TYPE((obj),GST_TYPE_PIPELINE))
1317 <NAME>GST_IS_PIPELINE_CLASS</NAME>
1318 #define GST_IS_PIPELINE_CLASS(obj) \
1319 (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_PIPELINE))
1322 <NAME>GstPipeline</NAME>
1325 <NAME>GstPipelineClass</NAME>
1328 <NAME>GstPipeline</NAME>
1329 struct GstPipeline {
1332 GstElement *src; // we only allow one src element
1333 GList *sinks; // and multiple sinks
1337 <NAME>GstPipelineClass</NAME>
1338 struct GstPipelineClass {
1339 GstBinClass parent_class;
1343 <NAME>gst_pipeline_get_type</NAME>
1344 <RETURNS>GtkType </RETURNS>
1348 <NAME>gst_pipeline_new</NAME>
1349 <RETURNS>GstElement *</RETURNS>
1353 <NAME>gst_pipeline_destroy</NAME>
1354 #define gst_pipeline_destroy(pipeline) gst_object_destroy(GST_OBJECT(pipeline))
1357 <NAME>gst_pipeline_autoplug</NAME>
1358 <RETURNS>gboolean </RETURNS>
1359 GstPipeline *pipeline
1362 <NAME>gst_pipeline_add_src</NAME>
1363 <RETURNS>void </RETURNS>
1364 GstPipeline *pipeline, GstElement *src
1367 <NAME>gst_pipeline_add_sink</NAME>
1368 <RETURNS>void </RETURNS>
1369 GstPipeline *pipeline, GstElement *sink
1372 <NAME>gst_pipeline_iterate</NAME>
1373 <RETURNS>void </RETURNS>
1374 GstPipeline *pipeline
1377 <NAME>GstPlugin</NAME>
1380 <NAME>GstPluginElement</NAME>
1383 <NAME>GstPlugin</NAME>
1385 gchar *name; /* name of the plugin */
1386 gchar *longname; /* long name of plugin */
1387 gchar *filename; /* filename it came from */
1389 GList *types; /* list of types provided */
1390 GList *elements; /* list of elements provided */
1392 gboolean loaded; /* if the plugin is in memory */
1396 <NAME>GstPluginInitFunc</NAME>
1397 <RETURNS>GstPlugin *</RETURNS>
1401 <NAME>gst_plugin_new</NAME>
1402 <RETURNS>GstPlugin *</RETURNS>
1406 <NAME>gst_plugin_set_longname</NAME>
1407 <RETURNS>void </RETURNS>
1408 GstPlugin *plugin,gchar *longname
1411 <NAME>gst_plugin_load_all</NAME>
1412 <RETURNS>void </RETURNS>
1416 <NAME>gst_plugin_load</NAME>
1417 <RETURNS>gboolean </RETURNS>
1421 <NAME>gst_library_load</NAME>
1422 <RETURNS>gboolean </RETURNS>
1426 <NAME>gst_plugin_load_absolute</NAME>
1427 <RETURNS>gboolean </RETURNS>
1431 <NAME>gst_plugin_add_factory</NAME>
1432 <RETURNS>void </RETURNS>
1433 GstPlugin *plugin,GstElementFactory *factory
1436 <NAME>gst_plugin_add_type</NAME>
1437 <RETURNS>void </RETURNS>
1438 GstPlugin *plugin,GstTypeFactory *factory
1441 <NAME>gst_plugin_find</NAME>
1442 <RETURNS>GstPlugin *</RETURNS>
1446 <NAME>gst_plugin_get_list</NAME>
1447 <RETURNS>GList *</RETURNS>
1451 <NAME>gst_plugin_find_elementfactory</NAME>
1452 <RETURNS>GstElementFactory *</RETURNS>
1456 <NAME>gst_plugin_load_elementfactory</NAME>
1457 <RETURNS>GstElementFactory *</RETURNS>
1461 <NAME>gst_plugin_load_typefactory</NAME>
1462 <RETURNS>void </RETURNS>
1466 <NAME>gst_plugin_save_thyself</NAME>
1467 <RETURNS>xmlNodePtr </RETURNS>
1471 <NAME>gst_plugin_load_thyself</NAME>
1472 <RETURNS>void </RETURNS>
1476 <NAME>GST_TYPE_SINK</NAME>
1477 #define GST_TYPE_SINK \
1478 (gst_sink_get_type())
1481 <NAME>GST_SINK</NAME>
1482 #define GST_SINK(obj) \
1483 (GTK_CHECK_CAST((obj),GST_TYPE_SINK,GstSink))
1486 <NAME>GST_SINK_CLASS</NAME>
1487 #define GST_SINK_CLASS(klass) \
1488 (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_SINK,GstSinkClass))
1491 <NAME>GST_IS_SINK</NAME>
1492 #define GST_IS_SINK(obj) \
1493 (GTK_CHECK_TYPE((obj),GST_TYPE_SINK))
1496 <NAME>GST_IS_SINK_CLASS</NAME>
1497 #define GST_IS_SINK_CLASS(obj) \
1498 (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_SINK))
1501 <NAME>GstSink</NAME>
1504 <NAME>GstSinkClass</NAME>
1507 <NAME>GstSink</NAME>
1513 <NAME>GstSinkClass</NAME>
1514 struct GstSinkClass {
1515 GstElementClass parent_class;
1519 <NAME>gst_sink_get_type</NAME>
1520 <RETURNS>GtkType </RETURNS>
1524 <NAME>gst_sink_new</NAME>
1525 <RETURNS>GstObject *</RETURNS>
1529 <NAME>GST_TYPE_SRC</NAME>
1530 #define GST_TYPE_SRC \
1531 (gst_src_get_type())
1534 <NAME>GST_SRC</NAME>
1535 #define GST_SRC(obj) \
1536 (GTK_CHECK_CAST((obj),GST_TYPE_SRC,GstSrc))
1539 <NAME>GST_SRC_CLASS</NAME>
1540 #define GST_SRC_CLASS(klass) \
1541 (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_SRC,GstSrcClass))
1544 <NAME>GST_IS_SRC</NAME>
1545 #define GST_IS_SRC(obj) \
1546 (GTK_CHECK_TYPE((obj),GST_TYPE_SRC))
1549 <NAME>GST_IS_SRC_CLASS</NAME>
1550 #define GST_IS_SRC_CLASS(obj) \
1551 (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_SRC))
1554 <NAME>GstSrcFlags</NAME>
1556 GST_SRC_ASYNC = 1 << 0,
1560 <NAME>GST_SRC_FLAGS</NAME>
1561 #define GST_SRC_FLAGS(obj) \
1562 (GST_SRC(obj)->flags)
1565 <NAME>GST_SRC_ASYNC</NAME>
1566 #define GST_SRC_ASYNC(obj) \
1567 ((GST_SRC_FLAGS(obj) & GST_SRC_ASYNC))
1573 <NAME>GstSrcClass</NAME>
1583 <NAME>GstSrcClass</NAME>
1584 struct GstSrcClass {
1585 GstElementClass parent_class;
1587 /* subclass functions */
1588 void (*push) (GstSrc *src);
1589 void (*push_region) (GstSrc *src,gulong offset,gulong size);
1592 void (*eos) (GstSrc *src);
1596 <NAME>GST_SRC_SET_FLAGS</NAME>
1597 #define GST_SRC_SET_FLAGS(src,flag) \
1598 G_STMT_START{ (GST_SRC_FLAGS (src) |= (flag)); }G_STMT_END
1601 <NAME>GST_SRC_UNSET_FLAGS</NAME>
1602 #define GST_SRC_UNSET_FLAGS(src,flag) \
1603 G_STMT_START{ (GST_SRC_FLAGS (src) &= ~(flag)); }G_STMT_END
1606 <NAME>gst_src_get_type</NAME>
1607 <RETURNS>GtkType </RETURNS>
1611 <NAME>gst_src_signal_eos</NAME>
1612 <RETURNS>void </RETURNS>
1616 <NAME>gst_src_push</NAME>
1617 <RETURNS>void </RETURNS>
1621 <NAME>gst_src_push_region</NAME>
1622 <RETURNS>void </RETURNS>
1623 GstSrc *src,gulong offset,gulong size
1626 <NAME>GST_TYPE_TEE</NAME>
1627 #define GST_TYPE_TEE \
1628 (gst_tee_get_type())
1631 <NAME>GST_TEE</NAME>
1632 #define GST_TEE(obj) \
1633 (GTK_CHECK_CAST((obj),GST_TYPE_TEE,GstTee))
1636 <NAME>GST_TEE_CLASS</NAME>
1637 #define GST_TEE_CLASS(klass) \
1638 (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_TEE,GstTeeClass))
1641 <NAME>GST_IS_TEE</NAME>
1642 #define GST_IS_TEE(obj) \
1643 (GTK_CHECK_TYPE((obj),GST_TYPE_TEE))
1646 <NAME>GST_IS_TEE_CLASS</NAME>
1647 #define GST_IS_TEE_CLASS(obj) \
1648 (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_TEE)))
1654 <NAME>GstTeeClass</NAME>
1668 <NAME>GstTeeClass</NAME>
1669 struct GstTeeClass {
1670 GstFilterClass parent_class;
1674 <NAME>gst_tee_get_type</NAME>
1675 <RETURNS>GtkType </RETURNS>
1679 <NAME>gst_tee_new</NAME>
1680 <RETURNS>GstElement *</RETURNS>
1684 <NAME>gst_tee_chain</NAME>
1685 <RETURNS>void </RETURNS>
1686 GstPad *pad,GstBuffer *buf
1689 <NAME>gst_tee_new_pad</NAME>
1690 <RETURNS>gchar *</RETURNS>
1694 <NAME>gst_thread_details</NAME>
1695 extern GstElementDetails gst_thread_details;
1698 <NAME>GstThreadState</NAME>
1700 GST_THREAD_CREATE = (1 << 16),
1701 GST_THREAD_STATE_SPINNING = (1 << 17),
1702 GST_THREAD_STATE_REAPING = (1 << 18),
1706 <NAME>GST_TYPE_THREAD</NAME>
1707 #define GST_TYPE_THREAD \
1708 (gst_thread_get_type())
1711 <NAME>GST_THREAD</NAME>
1712 #define GST_THREAD(obj) \
1713 (GTK_CHECK_CAST((obj),GST_TYPE_THREAD,GstThread))
1716 <NAME>GST_THREAD_CLASS</NAME>
1717 #define GST_THREAD_CLASS(klass) \
1718 (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_THREAD,GstThreadClass))
1721 <NAME>GST_IS_THREAD</NAME>
1722 #define GST_IS_THREAD(obj) \
1723 (GTK_CHECK_TYPE((obj),GST_TYPE_THREAD))
1726 <NAME>GST_IS_THREAD_CLASS</NAME>
1727 #define GST_IS_THREAD_CLASS(obj) \
1728 (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_THREAD)))
1731 <NAME>GstThread</NAME>
1734 <NAME>GstThreadClass</NAME>
1737 <NAME>GstThread</NAME>
1741 pthread_t thread_id; /* id of the thread, if any */
1742 GMutex *lock; /* thread lock/condititon pair... */
1743 GCond *cond; /* used to control the thread */
1747 <NAME>GstThreadClass</NAME>
1748 struct GstThreadClass {
1749 GstBinClass parent_class;
1753 <NAME>gst_thread_get_type</NAME>
1754 <RETURNS>GtkType </RETURNS>
1758 <NAME>gst_thread_new</NAME>
1759 <RETURNS>GstElement *</RETURNS>
1763 <NAME>gst_thread_main_loop</NAME>
1764 <RETURNS>void *</RETURNS>
1768 <NAME>gst_thread_iterate</NAME>
1769 <RETURNS>void </RETURNS>
1773 <NAME>gst_trace_read_tsc</NAME>
1774 <RETURNS>void </RETURNS>
1778 <NAME>GstTrace</NAME>
1781 <NAME>GstTraceEntry</NAME>
1784 <NAME>GstTrace</NAME>
1786 /* where this trace is going */
1790 /* current buffer, size, head offset */
1797 <NAME>GstTraceEntry</NAME>
1798 struct GstTraceEntry {
1806 <NAME>gst_trace_new</NAME>
1807 <RETURNS>GstTrace *</RETURNS>
1808 guchar *filename,gint size
1811 <NAME>gst_trace_destroy</NAME>
1812 <RETURNS>void </RETURNS>
1816 <NAME>gst_trace_flush</NAME>
1817 <RETURNS>void </RETURNS>
1821 <NAME>gst_trace_get_size</NAME>
1822 #define gst_trace_get_size(trace) ((trace)->bufsize)
1825 <NAME>gst_trace_get_offset</NAME>
1826 #define gst_trace_get_offset(trace) ((trace)->bufoffset)
1829 <NAME>gst_trace_get_remaining</NAME>
1830 #define gst_trace_get_remaining(trace) ((trace)->bufsize - (trace)->bufoffset)
1833 <NAME>gst_trace_set_default</NAME>
1834 <RETURNS>void </RETURNS>
1838 <NAME>TRACE_ENABLE</NAME>
1839 #define TRACE_ENABLE
1842 <NAME>gst_trace_add_entry</NAME>
1843 #define gst_trace_add_entry(trace,seq,data,msg) \
1844 if (_gst_trace_on) { \
1845 _gst_trace_add_entry(trace,(guint32)seq,(guint32)data,msg); \
1849 <NAME>gst_trace_add_entry</NAME>
1850 #define gst_trace_add_entry(trace,seq,data,msg)
1853 <NAME>GstTypeFindFunc</NAME>
1854 <RETURNS>gboolean </RETURNS>
1855 GstBuffer *buf,gpointer priv
1858 <NAME>GstType</NAME>
1861 <NAME>GstTypeFactory</NAME>
1864 <NAME>GstType</NAME>
1866 guint16 id; /* type id (assigned) */
1868 gchar *mime; /* MIME type */
1869 gchar *exts; /* space-delimited list of extensions */
1871 GstTypeFindFunc typefindfunc; /* typefind function */
1873 GList *srcs; /* list of src objects for this type */
1874 GList *sinks; /* list of sink objects for type */
1876 GHashTable *converters; /* a hashtable of factories that can convert
1877 from this type to destination type. The
1878 factories are indexed by destination type */
1882 <NAME>GstTypeFactory</NAME>
1883 struct GstTypeFactory {
1886 GstTypeFindFunc typefindfunc;
1890 <NAME>gst_type_register</NAME>
1891 <RETURNS>guint16 </RETURNS>
1892 GstTypeFactory *factory
1895 <NAME>gst_type_find_by_mime</NAME>
1896 <RETURNS>guint16 </RETURNS>
1900 <NAME>gst_type_find_by_ext</NAME>
1901 <RETURNS>guint16 </RETURNS>
1905 <NAME>gst_type_add_src</NAME>
1906 <RETURNS>void </RETURNS>
1907 guint16 id,GstElementFactory *src
1910 <NAME>gst_type_add_sink</NAME>
1911 <RETURNS>void </RETURNS>
1912 guint16 id,GstElementFactory *sink
1915 <NAME>gst_type_get_srcs</NAME>
1916 <RETURNS>GList *</RETURNS>
1920 <NAME>gst_type_get_sinks</NAME>
1921 <RETURNS>GList *</RETURNS>
1925 <NAME>gst_type_find_by_id</NAME>
1926 <RETURNS>GstType *</RETURNS>
1930 <NAME>gst_type_get_sink_to_src</NAME>
1931 <RETURNS>GList *</RETURNS>
1932 guint16 sinkid, guint16 srcid
1935 <NAME>gst_type_get_list</NAME>
1936 <RETURNS>GList *</RETURNS>
1940 <NAME>gst_type_dump</NAME>
1941 <RETURNS>void </RETURNS>
1945 <NAME>gst_type_save_thyself</NAME>
1946 <RETURNS>xmlNodePtr </RETURNS>
1947 GstType *type, xmlNodePtr parent
1950 <NAME>gst_type_load_thyself</NAME>
1951 <RETURNS>guint16 </RETURNS>
1955 <NAME>gst_typefactory_save_thyself</NAME>
1956 <RETURNS>xmlNodePtr </RETURNS>
1957 GstTypeFactory *factory, xmlNodePtr parent
1960 <NAME>gst_typefactory_load_thyself</NAME>
1961 <RETURNS>GstTypeFactory *</RETURNS>
1965 <NAME>gst_util_get_int_arg</NAME>
1966 <RETURNS>gint </RETURNS>
1967 GtkObject *object,guchar *argname
1970 <NAME>gst_util_get_long_arg</NAME>
1971 <RETURNS>glong </RETURNS>
1972 GtkObject *object,guchar *argname
1975 <NAME>gst_util_get_float_arg</NAME>
1976 <RETURNS>gfloat </RETURNS>
1977 GtkObject *object,guchar *argname
1980 <NAME>gst_util_get_double_arg</NAME>
1981 <RETURNS>gdouble </RETURNS>
1982 GtkObject *object,guchar *argname
1985 <NAME>gst_util_get_string_arg</NAME>
1986 <RETURNS>guchar *</RETURNS>
1987 GtkObject *object,guchar *argname
1990 <NAME>gst_util_get_pointer_arg</NAME>
1991 <RETURNS>gpointer </RETURNS>
1992 GtkObject *object,guchar *argname
1995 <NAME>gst_util_get_widget_arg</NAME>
1996 <RETURNS>GtkWidget *</RETURNS>
1997 GtkObject *object,guchar *argname
2000 <NAME>gst_util_dump_mem</NAME>
2001 <RETURNS>void </RETURNS>
2002 guchar *mem, guint size
2005 <NAME>gst_xml_write</NAME>
2006 <RETURNS>xmlDocPtr </RETURNS>
2010 <NAME>GST_BUFFER_POOL</NAME>
2011 #define GST_BUFFER_POOL(buf) \
2012 ((GstBufferPool *)(buf))
2015 <NAME>GstBufferPool</NAME>
2018 <NAME>GstBufferPoolCreateFunction</NAME>
2019 <RETURNS>GstBuffer *</RETURNS>
2020 GstBufferPool *pool, gpointer user_data
2023 <NAME>GstBufferPoolDestroyFunction</NAME>
2024 <RETURNS>void </RETURNS>
2025 GstBufferPool *pool, GstBuffer *buffer, gpointer user_data
2028 <NAME>GstBufferPool</NAME>
2029 struct GstBufferPool {
2030 /* will be called when a new buffer is to be created */
2031 GstBufferPoolCreateFunction new_buffer;
2032 /* user data to pass with the new_buffer function */
2033 gpointer new_user_data;
2035 gpointer destroy_user_data;
2036 GstBufferPoolDestroyFunction destroy_buffer;
2040 <NAME>gst_buffer_pool_new</NAME>
2041 <RETURNS>GstBufferPool *</RETURNS>
2045 <NAME>gst_buffer_pool_new_buffer</NAME>
2046 <RETURNS>GstBuffer *</RETURNS>
2050 <NAME>gst_buffer_pool_destroy_buffer</NAME>
2051 <RETURNS>void </RETURNS>
2052 GstBufferPool *pool, GstBuffer *buffer
2055 <NAME>gst_buffer_pool_set_create_function</NAME>
2056 <RETURNS>void </RETURNS>
2057 GstBufferPool *pool, GstBufferPoolCreateFunction create, gpointer user_data
2060 <NAME>gst_buffer_pool_set_destroy_function</NAME>
2061 <RETURNS>void </RETURNS>
2062 GstBufferPool *pool, GstBufferPoolDestroyFunction destroy, gpointer user_data
2065 <NAME>gst_buffer_pool_destroy</NAME>
2066 <RETURNS>void </RETURNS>
2070 <NAME>GST_CPU_FLAG_MMX</NAME>
2071 #define GST_CPU_FLAG_MMX (1 << 0)
2074 <NAME>GST_CPU_FLAG_SSE</NAME>
2075 #define GST_CPU_FLAG_SSE (1 << 1)
2078 <NAME>gst_cpu_get_flags</NAME>
2079 <RETURNS>guint32 </RETURNS>
2084 #define GET_SP(target) \
2085 __asm__("movl %%esp, %0" : "=m"(target) : : "esp", "ebp");
2089 #define SET_SP(source) \
2090 __asm__("movl %0, %%esp\n" : "=m"(thread->sp));
2094 #define JUMP(target) \
2095 __asm__("jmp " SYMBOL_NAME_STR(cothread_stub))
2099 #define GET_SP(target) \
2100 __asm__("stw 1,%0" : "=m"(target) : : "r1");
2104 #define SET_SP(source) \
2105 __asm__("lwz 1,%0" : "=m"(source))
2109 #define JUMP(target) \
2110 __asm__("b " SYMBOL_NAME_STR(cothread_stub))
2113 <NAME>GST_TYPE_ASYNCDISKSRC</NAME>
2114 #define GST_TYPE_ASYNCDISKSRC \
2115 (gst_asyncdisksrc_get_type())
2118 <NAME>GST_ASYNCDISKSRC</NAME>
2119 #define GST_ASYNCDISKSRC(obj) \
2120 (GTK_CHECK_CAST((obj),GST_TYPE_ASYNCDISKSRC,GstAsyncDiskSrc))
2123 <NAME>GST_ASYNCDISKSRC_CLASS</NAME>
2124 #define GST_ASYNCDISKSRC_CLASS(klass) \
2125 (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_ASYNCDISKSRC,GstAsyncDiskSrcClass))
2128 <NAME>GST_IS_ASYNCDISKSRC</NAME>
2129 #define GST_IS_ASYNCDISKSRC(obj) \
2130 (GTK_CHECK_TYPE((obj),GST_TYPE_ASYNCDISKSRC))
2133 <NAME>GST_IS_ASYNCDISKSRC_CLASS</NAME>
2134 #define GST_IS_ASYNCDISKSRC_CLASS(obj) \
2135 (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_ASYNCDISKSRC))
2138 <NAME>GstAsyncDiskSrcFlags</NAME>
2140 GST_ASYNCDISKSRC_OPEN = (1 << 16),
2141 } GstAsyncDiskSrcFlags;
2144 <NAME>GstAsyncDiskSrc</NAME>
2147 <NAME>GstAsyncDiskSrcClass</NAME>
2150 <NAME>GstAsyncDiskSrc</NAME>
2151 struct GstAsyncDiskSrc {
2161 /* mapping parameters */
2162 gulong size; /* how long is the file? */
2163 guchar *map; /* where the file is mapped to */
2165 /* details for fallback synchronous read */
2166 gulong curoffset; /* current offset in file */
2167 gulong bytes_per_read; /* bytes per read */
2169 gulong seq; /* buffer sequence number */
2173 <NAME>GstAsyncDiskSrcClass</NAME>
2174 struct GstAsyncDiskSrcClass {
2175 GstSrcClass parent_class;
2179 <NAME>gst_asyncdisksrc_get_type</NAME>
2180 <RETURNS>GtkType </RETURNS>
2184 <NAME>GST_TYPE_AUDIOSINK</NAME>
2185 #define GST_TYPE_AUDIOSINK \
2186 (gst_audiosink_get_type())
2189 <NAME>GST_AUDIOSINK</NAME>
2190 #define GST_AUDIOSINK(obj) \
2191 (GTK_CHECK_CAST((obj),GST_TYPE_AUDIOSINK,GstAudioSink))
2194 <NAME>GST_AUDIOSINK_CLASS</NAME>
2195 #define GST_AUDIOSINK_CLASS(klass) \
2196 (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIOSINK,GstAudioSinkClass))
2199 <NAME>GST_IS_AUDIOSINK</NAME>
2200 #define GST_IS_AUDIOSINK(obj) \
2201 (GTK_CHECK_TYPE((obj),GST_TYPE_AUDIOSINK))
2204 <NAME>GST_IS_AUDIOSINK_CLASS</NAME>
2205 #define GST_IS_AUDIOSINK_CLASS(obj) \
2206 (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIOSINK))
2209 <NAME>GstAudioSinkFlags</NAME>
2211 GST_AUDIOSINK_OPEN = (1 << 16),
2212 } GstAudioSinkFlags;
2215 <NAME>GstAudioSink</NAME>
2218 <NAME>GstAudioSinkClass</NAME>
2221 <NAME>GstAudioSink</NAME>
2222 struct GstAudioSink {
2227 //GstClockTime clocktime;
2229 /* soundcard state */
2231 int caps; /* the capabilities */
2239 <NAME>GstAudioSinkClass</NAME>
2240 struct GstAudioSinkClass {
2241 GstSinkClass parent_class;
2244 void (*handoff) (GstElement *element,GstPad *pad);
2248 <NAME>gst_audiosink_get_type</NAME>
2249 <RETURNS>GtkType </RETURNS>
2253 <NAME>gst_audiosink_factory_init</NAME>
2254 <RETURNS>gboolean </RETURNS>
2255 GstElementFactory *factory
2258 <NAME>GST_TYPE_AUDIOSRC</NAME>
2259 #define GST_TYPE_AUDIOSRC \
2260 (gst_audiosrc_get_type())
2263 <NAME>GST_AUDIOSRC</NAME>
2264 #define GST_AUDIOSRC(obj) \
2265 (GTK_CHECK_CAST((obj),GST_TYPE_AUDIOSRC,GstAudioSrc))
2268 <NAME>GST_AUDIOSRC_CLASS</NAME>
2269 #define GST_AUDIOSRC_CLASS(klass) \
2270 (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_AUDIOSRC,GstAudioSrcClass))
2273 <NAME>GST_IS_AUDIOSRC</NAME>
2274 #define GST_IS_AUDIOSRC(obj) \
2275 (GTK_CHECK_TYPE((obj),GST_TYPE_AUDIOSRC))
2278 <NAME>GST_IS_AUDIOSRC_CLASS</NAME>
2279 #define GST_IS_AUDIOSRC_CLASS(obj) \
2280 (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_AUDIOSRC)))
2283 <NAME>GstAudioSrcFlags</NAME>
2285 GST_AUDIOSRC_OPEN = (1 < 16),
2289 <NAME>GstAudioSrc</NAME>
2292 <NAME>GstAudioSrcClass</NAME>
2295 <NAME>GstAudioSrc</NAME>
2296 struct GstAudioSrc {
2305 /* audio parameters */
2312 gulong bytes_per_read;
2320 <NAME>GstAudioSrcClass</NAME>
2321 struct GstAudioSrcClass {
2322 GstSrcClass parent_class;
2326 <NAME>gst_audiosrc_get_type</NAME>
2327 <RETURNS>GtkType </RETURNS>
2331 <NAME>gst_disksrc_details</NAME>
2332 extern GstElementDetails gst_disksrc_details;
2335 <NAME>GST_TYPE_DISKSRC</NAME>
2336 #define GST_TYPE_DISKSRC \
2337 (gst_disksrc_get_type())
2340 <NAME>GST_DISKSRC</NAME>
2341 #define GST_DISKSRC(obj) \
2342 (GTK_CHECK_CAST((obj),GST_TYPE_DISKSRC,GstDiskSrc))
2345 <NAME>GST_DISKSRC_CLASS</NAME>
2346 #define GST_DISKSRC_CLASS(klass) \
2347 (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_DISKSRC,GstDiskSrcClass))
2350 <NAME>GST_IS_DISKSRC</NAME>
2351 #define GST_IS_DISKSRC(obj) \
2352 (GTK_CHECK_TYPE((obj),GST_TYPE_DISKSRC))
2355 <NAME>GST_IS_DISKSRC_CLASS</NAME>
2356 #define GST_IS_DISKSRC_CLASS(obj) \
2357 (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_DISKSRC))
2360 <NAME>GstDiskSrcFlags</NAME>
2362 GST_DISKSRC_OPEN = (1 << 16),
2366 <NAME>GstDiskSrc</NAME>
2369 <NAME>GstDiskSrcClass</NAME>
2372 <NAME>GstDiskSrc</NAME>
2382 gulong curoffset; /* current offset in file */
2383 gulong bytes_per_read; /* bytes per read */
2386 gulong seq; /* buffer sequence number */
2391 <NAME>GstDiskSrcClass</NAME>
2392 struct GstDiskSrcClass {
2393 GstSrcClass parent_class;
2397 <NAME>gst_disksrc_get_type</NAME>
2398 <RETURNS>GtkType </RETURNS>
2402 <NAME>GST_TYPE_ESDSINK</NAME>
2403 #define GST_TYPE_ESDSINK \
2404 (gst_esdsink_get_type())
2407 <NAME>GST_ESDSINK</NAME>
2408 #define GST_ESDSINK(obj) \
2409 (GTK_CHECK_CAST((obj),GST_TYPE_ESDSINK,GstEsdSink))
2412 <NAME>GST_ESDSINK_CLASS</NAME>
2413 #define GST_ESDSINK_CLASS(klass) \
2414 (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_ESDSINK,GstEsdSinkClass))
2417 <NAME>GST_IS_ESDSINK</NAME>
2418 #define GST_IS_ESDSINK(obj) \
2419 (GTK_CHECK_TYPE((obj),GST_TYPE_ESDSINK))
2422 <NAME>GST_IS_ESDSINK_CLASS</NAME>
2423 #define GST_IS_ESDSINK_CLASS(obj) \
2424 (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_ESDSINK)))
2427 <NAME>GstEsdSink</NAME>
2430 <NAME>GstEsdSinkClass</NAME>
2433 <NAME>GstEsdSink</NAME>
2439 /* soundcard state */
2448 <NAME>GstEsdSinkClass</NAME>
2449 struct GstEsdSinkClass {
2450 GstFilterClass parent_class;
2453 void (*handoff) (GstElement *element,GstPad *pad);
2457 <NAME>gst_esdsink_get_type</NAME>
2458 <RETURNS>GtkType </RETURNS>
2462 <NAME>GST_TYPE_FAKESINK</NAME>
2463 #define GST_TYPE_FAKESINK \
2464 (gst_fakesink_get_type())
2467 <NAME>GST_FAKESINK</NAME>
2468 #define GST_FAKESINK(obj) \
2469 (GTK_CHECK_CAST((obj),GST_TYPE_FAKESINK,GstFakeSink))
2472 <NAME>GST_FAKESINK_CLASS</NAME>
2473 #define GST_FAKESINK_CLASS(klass) \
2474 (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_FAKESINK,GstFakeSinkClass))
2477 <NAME>GST_IS_FAKESINK</NAME>
2478 #define GST_IS_FAKESINK(obj) \
2479 (GTK_CHECK_TYPE((obj),GST_TYPE_FAKESINK))
2482 <NAME>GST_IS_FAKESINK_CLASS</NAME>
2483 #define GST_IS_FAKESINK_CLASS(obj) \
2484 (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_FAKESINK)))
2487 <NAME>GstFakeSink</NAME>
2490 <NAME>GstFakeSinkClass</NAME>
2493 <NAME>GstFakeSink</NAME>
2494 struct GstFakeSink {
2501 <NAME>GstFakeSinkClass</NAME>
2502 struct GstFakeSinkClass {
2503 GstSinkClass parent_class;
2507 <NAME>gst_fakesink_get_type</NAME>
2508 <RETURNS>GtkType </RETURNS>
2512 <NAME>GST_TYPE_FAKESRC</NAME>
2513 #define GST_TYPE_FAKESRC \
2514 (gst_fakesrc_get_type())
2517 <NAME>GST_FAKESRC</NAME>
2518 #define GST_FAKESRC(obj) \
2519 (GTK_CHECK_CAST((obj),GST_TYPE_FAKESRC,GstFakeSrc))
2522 <NAME>GST_FAKESRC_CLASS</NAME>
2523 #define GST_FAKESRC_CLASS(klass) \
2524 (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_FAKESRC,GstFakeSrcClass))
2527 <NAME>GST_IS_FAKESRC</NAME>
2528 #define GST_IS_FAKESRC(obj) \
2529 (GTK_CHECK_TYPE((obj),GST_TYPE_FAKESRC))
2532 <NAME>GST_IS_FAKESRC_CLASS</NAME>
2533 #define GST_IS_FAKESRC_CLASS(obj) \
2534 (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_FAKESRC)))
2537 <NAME>GstFakeSrc</NAME>
2540 <NAME>GstFakeSrcClass</NAME>
2543 <NAME>GstFakeSrc</NAME>
2551 <NAME>GstFakeSrcClass</NAME>
2552 struct GstFakeSrcClass {
2553 GstSrcClass parent_class;
2557 <NAME>gst_fakesrc_get_type</NAME>
2558 <RETURNS>GtkType </RETURNS>
2562 <NAME>GST_TYPE_FDSINK</NAME>
2563 #define GST_TYPE_FDSINK \
2564 (gst_fdsink_get_type())
2567 <NAME>GST_FDSINK</NAME>
2568 #define GST_FDSINK(obj) \
2569 (GTK_CHECK_CAST((obj),GST_TYPE_FDSINK,GstFdSink))
2572 <NAME>GST_FDSINK_CLASS</NAME>
2573 #define GST_FDSINK_CLASS(klass) \
2574 (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_FDSINK,GstFdSinkClass))
2577 <NAME>GST_IS_FDSINK</NAME>
2578 #define GST_IS_FDSINK(obj) \
2579 (GTK_CHECK_TYPE((obj),GST_TYPE_FDSINK))
2582 <NAME>GST_IS_FDSINK_CLASS</NAME>
2583 #define GST_IS_FDSINK_CLASS(obj) \
2584 (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_FDSINK)))
2587 <NAME>GstFdSink</NAME>
2590 <NAME>GstFdSinkClass</NAME>
2593 <NAME>GstFdSink</NAME>
2603 <NAME>GstFdSinkClass</NAME>
2604 struct GstFdSinkClass {
2605 GstSinkClass parent_class;
2609 <NAME>gst_fdsink_get_type</NAME>
2610 <RETURNS>GtkType </RETURNS>
2614 <NAME>GST_TYPE_FDSRC</NAME>
2615 #define GST_TYPE_FDSRC \
2616 (gst_fdsrc_get_type())
2619 <NAME>GST_FDSRC</NAME>
2620 #define GST_FDSRC(obj) \
2621 (GTK_CHECK_CAST((obj),GST_TYPE_FDSRC,GstFdSrc))
2624 <NAME>GST_FDSRC_CLASS</NAME>
2625 #define GST_FDSRC_CLASS(klass) \
2626 (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_FDSRC,GstFdSrcClass))
2629 <NAME>GST_IS_FDSRC</NAME>
2630 #define GST_IS_FDSRC(obj) \
2631 (GTK_CHECK_TYPE((obj),GST_TYPE_FDSRC))
2634 <NAME>GST_IS_FDSRC_CLASS</NAME>
2635 #define GST_IS_FDSRC_CLASS(obj) \
2636 (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_FDSRC)))
2639 <NAME>GstFdSrc</NAME>
2642 <NAME>GstFdSrcClass</NAME>
2645 <NAME>GstFdSrc</NAME>
2654 gulong curoffset; /* current offset in file */
2655 gulong bytes_per_read; /* bytes per read */
2657 gulong seq; /* buffer sequence number */
2661 <NAME>GstFdSrcClass</NAME>
2662 struct GstFdSrcClass {
2663 GstSrcClass parent_class;
2667 <NAME>gst_fdsrc_get_type</NAME>
2668 <RETURNS>GtkType </RETURNS>
2672 <NAME>GST_TYPE_HTTPSRC</NAME>
2673 #define GST_TYPE_HTTPSRC \
2674 (gst_httpsrc_get_type())
2677 <NAME>GST_HTTPSRC</NAME>
2678 #define GST_HTTPSRC(obj) \
2679 (GTK_CHECK_CAST((obj),GST_TYPE_HTTPSRC,GstHttpSrc))
2682 <NAME>GST_HTTPSRC_CLASS</NAME>
2683 #define GST_HTTPSRC_CLASS(klass) \
2684 (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_HTTPSRC,GstHttpSrcClass))
2687 <NAME>GST_IS_HTTPSRC</NAME>
2688 #define GST_IS_HTTPSRC(obj) \
2689 (GTK_CHECK_TYPE((obj),GST_TYPE_HTTPSRC))
2692 <NAME>GST_IS_HTTPSRC_CLASS</NAME>
2693 #define GST_IS_HTTPSRC_CLASS(obj) \
2694 (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_HTTPSRC)))
2697 <NAME>GstHttpSrcFlags</NAME>
2699 GST_HTTPSRC_OPEN = (1 << 16),
2703 <NAME>GstHttpSrc</NAME>
2706 <NAME>GstHttpSrcClass</NAME>
2709 <NAME>GstHttpSrc</NAME>
2716 ghttp_request *request;
2719 gulong curoffset; /* current offset in file */
2720 gulong bytes_per_read; /* bytes per read */
2724 <NAME>GstHttpSrcClass</NAME>
2725 struct GstHttpSrcClass {
2726 GstSrcClass parent_class;
2730 <NAME>gst_httpsrc_get_type</NAME>
2731 <RETURNS>GtkType </RETURNS>
2735 <NAME>GST_TYPE_IDENTITY</NAME>
2736 #define GST_TYPE_IDENTITY \
2737 (gst_identity_get_type())
2740 <NAME>GST_IDENTITY</NAME>
2741 #define GST_IDENTITY(obj) \
2742 (GTK_CHECK_CAST((obj),GST_TYPE_IDENTITY,GstIdentity))
2745 <NAME>GST_IDENTITY_CLASS</NAME>
2746 #define GST_IDENTITY_CLASS(klass) \
2747 (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_IDENTITY,GstIdentityClass))
2750 <NAME>GST_IS_IDENTITY</NAME>
2751 #define GST_IS_IDENTITY(obj) \
2752 (GTK_CHECK_TYPE((obj),GST_TYPE_IDENTITY))
2755 <NAME>GST_IS_IDENTITY_CLASS</NAME>
2756 #define GST_IS_IDENTITY_CLASS(obj) \
2757 (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_IDENTITY)))
2760 <NAME>GstIdentity</NAME>
2763 <NAME>GstIdentityClass</NAME>
2766 <NAME>GstIdentity</NAME>
2767 struct GstIdentity {
2777 <NAME>GstIdentityClass</NAME>
2778 struct GstIdentityClass {
2779 GstFilterClass parent_class;
2783 <NAME>gst_identity_get_type</NAME>
2784 <RETURNS>GtkType </RETURNS>
2788 <NAME>GST_TYPE_QUEUE</NAME>
2789 #define GST_TYPE_QUEUE \
2790 (gst_queue_get_type())
2793 <NAME>GST_QUEUE</NAME>
2794 #define GST_QUEUE(obj) \
2795 (GTK_CHECK_CAST((obj),GST_TYPE_QUEUE,GstQueue))
2798 <NAME>GST_QUEUE_CLASS</NAME>
2799 #define GST_QUEUE_CLASS(klass) \
2800 (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_QUEUE,GstQueueClass))
2803 <NAME>GST_IS_QUEUE</NAME>
2804 #define GST_IS_QUEUE(obj) \
2805 (GTK_CHECK_TYPE((obj),GST_TYPE_QUEUE))
2808 <NAME>GST_IS_QUEUE_CLASS</NAME>
2809 #define GST_IS_QUEUE_CLASS(obj) \
2810 (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_QUEUE))
2813 <NAME>GstQueue</NAME>
2816 <NAME>GstQueueClass</NAME>
2819 <NAME>GstQueue</NAME>
2821 GstConnection Connection;
2826 /* the queue of buffers we're keeping our grubby hands on */
2828 GList *tail; /* have to keep track of this myself */
2830 gint level_buffers; /* number of buffers queued here */
2831 gint max_buffers; /* maximum number of buffers queued here */
2832 gint level_bytes; /* number of bytes queued here */
2833 gint size_buffers; /* size of queue in buffers */
2834 gint size_bytes; /* size of queue in bytes */
2836 GMutex *emptylock; /* used when the queue is empty */
2838 GMutex *fulllock; /* used when the queue is full */
2843 <NAME>GstQueueClass</NAME>
2844 struct GstQueueClass {
2845 GstConnectionClass parent_class;
2849 <NAME>gst_queue_get_type</NAME>
2850 <RETURNS>GtkType </RETURNS>
2854 <NAME>GST_TYPE_SINESRC</NAME>
2855 #define GST_TYPE_SINESRC \
2856 (gst_sinesrc_get_type())
2859 <NAME>GST_SINESRC</NAME>
2860 #define GST_SINESRC(obj) \
2861 (GTK_CHECK_CAST((obj),GST_TYPE_SINESRC,GstSineSrc))
2864 <NAME>GST_SINESRC_CLASS</NAME>
2865 #define GST_SINESRC_CLASS(klass) \
2866 (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_SINESRC,GstSineSrcClass))
2869 <NAME>GST_IS_SINESRC</NAME>
2870 #define GST_IS_SINESRC(obj) \
2871 (GTK_CHECK_TYPE((obj),GST_TYPE_SINESRC))
2874 <NAME>GST_IS_SINESRC_CLASS</NAME>
2875 #define GST_IS_SINESRC_CLASS(obj) \
2876 (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_SINESRC)))
2879 <NAME>GstSineSrc</NAME>
2882 <NAME>GstSineSrcClass</NAME>
2885 <NAME>GstSineSrc</NAME>
2896 /* audio parameters */
2908 <NAME>GstSineSrcClass</NAME>
2909 struct GstSineSrcClass {
2910 GstSrcClass parent_class;
2914 <NAME>gst_sinesrc_get_type</NAME>
2915 <RETURNS>GtkType </RETURNS>
2919 <NAME>GST_TYPE_PIPEFILTER</NAME>
2920 #define GST_TYPE_PIPEFILTER \
2921 (gst_pipefilter_get_type())
2924 <NAME>GST_PIPEFILTER</NAME>
2925 #define GST_PIPEFILTER(obj) \
2926 (GTK_CHECK_CAST((obj),GST_TYPE_PIPEFILTER,GstPipefilter))
2929 <NAME>GST_PIPEFILTER_CLASS</NAME>
2930 #define GST_PIPEFILTER_CLASS(klass) \
2931 (GTK_CHECK_CLASS_CAST((klass),GST_TYPE_PIPEFILTER,GstPipefilterClass))
2934 <NAME>GST_IS_PIPEFILTER</NAME>
2935 #define GST_IS_PIPEFILTER(obj) \
2936 (GTK_CHECK_TYPE((obj),GST_TYPE_PIPEFILTER))
2939 <NAME>GST_IS_PIPEFILTER_CLASS</NAME>
2940 #define GST_IS_PIPEFILTER_CLASS(obj) \
2941 (GTK_CHECK_CLASS_TYPE((klass),GST_TYPE_PIPEFILTER))
2944 <NAME>GstPipeFilterFlags</NAME>
2946 GST_PIPEFILTER_OPEN = (1 << 16 ),
2947 } GstPipeFilterFlags;
2950 <NAME>GstPipefilter</NAME>
2953 <NAME>GstPipefilterClass</NAME>
2956 <NAME>GstPipefilter</NAME>
2957 struct GstPipefilter {
2965 gchar *orig_command;
2971 gulong curoffset; /* current offset in file */
2972 gulong bytes_per_read; /* bytes per read */
2974 gulong seq; /* buffer sequence number */
2978 <NAME>GstPipefilterClass</NAME>
2979 struct GstPipefilterClass {
2980 GstFilterClass parent_class;
2984 <NAME>gst_pipefilter_get_type</NAME>
2985 <RETURNS>GtkType </RETURNS>
2989 <NAME>MetaAudioRaw</NAME>
2992 <NAME>MetaAudioRaw</NAME>
2993 struct MetaAudioRaw {
2996 /* formatting information */
3004 <NAME>MetaAudioSpectrum</NAME>
3007 <NAME>MetaAudioSpectrum</NAME>
3008 struct MetaAudioSpectrum {
3011 /* data representation */
3012 gint16 bands; /* how many bands are represented */
3013 gint8 channels; /* how many audio channels are there? */
3014 gboolean interleaved; /* are the channels interleaved? */
3016 /* spectrum details */
3023 <NAME>MetaVideoRaw</NAME>
3026 <NAME>MetaDGA</NAME>
3029 <NAME>MetaOverlay</NAME>
3032 <NAME>OverlayClip</NAME>
3035 <NAME>OverlayClip</NAME>
3036 struct OverlayClip {
3041 <NAME>MetaDGA</NAME>
3043 // the base address of the screen
3045 // the dimensions of the screen
3046 int swidth, sheight;
3047 // the number of bytes in a line
3052 <NAME>MetaOverlay</NAME>
3053 struct MetaOverlay {
3054 // the position of the window
3056 // a reference to the object sending overlay change events
3057 GtkWidget *overlay_element;
3058 // the number of overlay regions
3060 // the overlay regions of the display window
3061 struct _OverlayClip overlay_clip[32];
3066 gboolean did_overlay;
3067 gboolean fully_obscured;
3071 <NAME>MetaVideoRaw</NAME>
3072 struct MetaVideoRaw {
3075 /* formatting information */
3076 GstColorSpaceType format;
3078 // dimensions of the video buffer
3081 // a pointer to the overlay info if the sink supports this
3082 MetaOverlay *overlay_info;
3083 // a pointer to the DGA info if the sink supports this