-#ELEMENTS = capsfilter fakesrc fakesink fdsrc fdsink filesrc filesink identity queue tee typefind multiqueue
-ELEMENTS = capsfilter typefind
+ELEMENTS = capsfilter fakesrc fakesink fdsrc fdsink filesrc filesink identity queue tee typefind multiqueue
NAMESPACE = Gst.CorePlugins
INSPECT_FILES = $(patsubst %,inspect/%.raw,$(ELEMENTS))
CUSTOM_FILES =
-METADATA_FILES = typefind.metadata
+METADATA_FILES = typefind.metadata \
+ fakesrc.metadata \
+ fakesink.metadata \
+ identity.metadata
CS_FILES = $(patsubst %,%.cs,$(ELEMENTS))
XML_FILES = $(patsubst %,%.xml,$(ELEMENTS))
--- /dev/null
+<?xml version="1.0"?>
+<metadata>
+ <attr path="/element/element-signals/signal/name[child::text()='handoff']/../params/type[1]" name="name">Buffer</attr>
+ <attr path="/element/element-signals/signal/name[child::text()='handoff']/../params/type[2]" name="name">Pad</attr>
+ <attr path="/element/element-signals/signal/name[child::text()='preroll-handoff']/../params/type[1]" name="name">Buffer</attr>
+ <attr path="/element/element-signals/signal/name[child::text()='preroll-handoff']/../params/type[2]" name="name">Pad</attr>
+</metadata>
+
--- /dev/null
+<?xml version="1.0"?>
+<metadata>
+ <attr path="/element/element-signals/signal/name[child::text()='handoff']/../params/type[1]" name="name">Buffer</attr>
+ <attr path="/element/element-signals/signal/name[child::text()='handoff']/../params/type[2]" name="name">Pad</attr>
+</metadata>
+
--- /dev/null
+<?xml version="1.0"?>
+<metadata>
+ <attr path="/element/element-signals/signal/name[child::text()='handoff']/../params/type[1]" name="name">Buffer</attr>
+</metadata>
+
--- /dev/null
+<element>
+ <name>fakesink</name>
+ <details>
+ <long-name>Fake Sink</long-name>
+ <class>Sink</class>
+ <description>Black hole for data</description>
+ <authors>Erik Walthinsen <omega@cse.ogi.edu>, Wim Taymans <wim@fluendo.com>, Mr. 'frag-me-more' Vanderwingo <wingo@fluendo.com></authors>
+ </details>
+ <object name="GstFakeSink">
+ <object name="GstBaseSink">
+ <object name="GstElement">
+ <object name="GstObject">
+ <object name="GObject">
+ </object>
+ </object>
+ </object>
+ </object>
+ </object>
+ <interfaces>
+ </interfaces>
+ <pad-templates>
+ <pad-template>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <caps>ANY</caps>
+ </pad-template>
+ </pad-templates>
+ <element-flags>
+ </element-flags>
+ <element-implementation>
+ <state-change function="gst_fake_sink_change_state"/>
+ <save function="gst_element_save_thyself"/>
+ <load function="gst_element_restore_thyself"/>
+ </element-implementation>
+ <clocking-interaction>
+ </clocking-interaction>
+ <pads>
+ <pad>
+ <name>sink</name>
+ <direction>sink</direction>
+ <template>sink</template>
+ <implementation>
+ <chain-based function="gst_base_sink_chain"/>
+ <event-function function="gst_base_sink_event"/>
+ <bufferalloc-function function="gst_base_sink_pad_buffer_alloc"/>
+ </implementation>
+ </pad>
+ </pads>
+ <element-properties>
+ <element-property>
+ <name>preroll-queue-len</name>
+ <type>guint</type>
+ <nick>Preroll queue length</nick>
+ <blurb>Number of buffers to queue during preroll</blurb>
+ <flags>RW</flags>
+ <range min="0" max="4294967295"/>
+ <default>0</default>
+ </element-property>
+ <element-property>
+ <name>sync</name>
+ <type>gboolean</type>
+ <nick>Sync</nick>
+ <blurb>Sync on the clock</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>max-lateness</name>
+ <type>gint64</type>
+ <nick>Max Lateness</nick>
+ <blurb>Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)</blurb>
+ <flags>RW</flags>
+ <range min="-1" max="9223372036854775807"/>
+ <default>-1</default>
+ </element-property>
+ <element-property>
+ <name>qos</name>
+ <type>gboolean</type>
+ <nick>Qos</nick>
+ <blurb>Generate Quality-of-Service events upstream</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>async</name>
+ <type>gboolean</type>
+ <nick>Async</nick>
+ <blurb>Go asynchronously to PAUSED</blurb>
+ <flags>RW</flags>
+ <default>TRUE</default>
+ </element-property>
+ <element-property>
+ <name>ts-offset</name>
+ <type>gint64</type>
+ <nick>TS Offset</nick>
+ <blurb>Timestamp offset in nanoseconds</blurb>
+ <flags>RW</flags>
+ <range min="-9223372036854775808" max="9223372036854775807"/>
+ <default>0</default>
+ </element-property>
+ <element-property>
+ <name>last-buffer</name>
+ <type>GstBuffer</type>
+ <nick>Last Buffer</nick>
+ <blurb>The last buffer received in the sink</blurb>
+ <flags>RW</flags>
+ </element-property>
+ <element-property>
+ <name>blocksize</name>
+ <type>guint</type>
+ <nick>Block size</nick>
+ <blurb>Size in bytes to pull per buffer (0 = default)</blurb>
+ <flags>RW</flags>
+ <range min="0" max="4294967295"/>
+ <default>4096</default>
+ </element-property>
+ <element-property>
+ <name>render-delay</name>
+ <type>guint64</type>
+ <nick>Render Delay</nick>
+ <blurb>Additional render delay of the sink in nanoseconds</blurb>
+ <flags>RW</flags>
+ <range min="0" max="18446744073709551615"/>
+ <default>0</default>
+ </element-property>
+ <element-property>
+ <name>state-error</name>
+ <type>GstFakeSinkStateError</type>
+ <nick>State Error</nick>
+ <blurb>Generate a state change error</blurb>
+ <flags>RW</flags>
+ <default>0</default>
+ <enum-values>
+ <value value="0" nick="none"/>
+ <value value="1" nick="null-to-ready"/>
+ <value value="2" nick="ready-to-paused"/>
+ <value value="3" nick="paused-to-playing"/>
+ <value value="4" nick="playing-to-paused"/>
+ <value value="5" nick="paused-to-ready"/>
+ <value value="6" nick="ready-to-null"/>
+ </enum-values>
+ </element-property>
+ <element-property>
+ <name>silent</name>
+ <type>gboolean</type>
+ <nick>Silent</nick>
+ <blurb>Don't produce last_message events</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>dump</name>
+ <type>gboolean</type>
+ <nick>Dump</nick>
+ <blurb>Dump buffer contents to stdout</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>signal-handoffs</name>
+ <type>gboolean</type>
+ <nick>Signal handoffs</nick>
+ <blurb>Send a signal before unreffing the buffer</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>last-message</name>
+ <type>gchararray</type>
+ <nick>Last Message</nick>
+ <blurb>The message describing current status</blurb>
+ <flags>RW</flags>
+ <default>NULL</default>
+ </element-property>
+ <element-property>
+ <name>can-activate-push</name>
+ <type>gboolean</type>
+ <nick>Can activate push</nick>
+ <blurb>Can activate in push mode</blurb>
+ <flags>RW</flags>
+ <default>TRUE</default>
+ </element-property>
+ <element-property>
+ <name>can-activate-pull</name>
+ <type>gboolean</type>
+ <nick>Can activate pull</nick>
+ <blurb>Can activate in pull mode</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>num-buffers</name>
+ <type>gint</type>
+ <nick>num-buffers</nick>
+ <blurb>Number of buffers to accept going EOS</blurb>
+ <flags>RW</flags>
+ <range min="-1" max="2147483647"/>
+ <default>-1</default>
+ </element-property>
+ </element-properties>
+ <element-signals>
+ <signal>
+ <name>handoff</name>
+ <return-type>void</return-type>
+ <object-type>GstFakeSink</object-type>
+ <params>
+ <type>GstBuffer</type>
+ <type>GstPad</type>
+ </params>
+ </signal>
+ <signal>
+ <name>preroll-handoff</name>
+ <return-type>void</return-type>
+ <object-type>GstFakeSink</object-type>
+ <params>
+ <type>GstBuffer</type>
+ <type>GstPad</type>
+ </params>
+ </signal>
+ </element-signals>
+ <element-actions>
+ </element-actions>
+</element>
--- /dev/null
+<element>
+ <name>fakesrc</name>
+ <details>
+ <long-name>Fake Source</long-name>
+ <class>Source</class>
+ <description>Push empty (no data) buffers around</description>
+ <authors>Erik Walthinsen <omega@cse.ogi.edu>, Wim Taymans <wim@fluendo.com></authors>
+ </details>
+ <object name="GstFakeSrc">
+ <object name="GstBaseSrc">
+ <object name="GstElement">
+ <object name="GstObject">
+ <object name="GObject">
+ </object>
+ </object>
+ </object>
+ </object>
+ </object>
+ <interfaces>
+ </interfaces>
+ <pad-templates>
+ <pad-template>
+ <name>src</name>
+ <direction>src</direction>
+ <presence>always</presence>
+ <caps>ANY</caps>
+ </pad-template>
+ </pad-templates>
+ <element-flags>
+ </element-flags>
+ <element-implementation>
+ <state-change function="gst_base_src_change_state"/>
+ <save function="gst_element_save_thyself"/>
+ <load function="gst_element_restore_thyself"/>
+ </element-implementation>
+ <clocking-interaction>
+ </clocking-interaction>
+ <pads>
+ <pad>
+ <name>src</name>
+ <direction>src</direction>
+ <template>src</template>
+ <implementation>
+ <get-range-based function="gst_base_src_pad_get_range"/>
+ <event-function function="gst_base_src_event_handler"/>
+ <query-function function="gst_base_src_query"/>
+ </implementation>
+ </pad>
+ </pads>
+ <element-properties>
+ <element-property>
+ <name>blocksize</name>
+ <type>gulong</type>
+ <nick>Block size</nick>
+ <blurb>Size in bytes to read per buffer (-1 = default)</blurb>
+ <flags>RW</flags>
+ <range min="0" max="18446744073709551615"/>
+ <default>4096</default>
+ </element-property>
+ <element-property>
+ <name>num-buffers</name>
+ <type>gint</type>
+ <nick>num-buffers</nick>
+ <blurb>Number of buffers to output before sending EOS (-1 = unlimited)</blurb>
+ <flags>RW</flags>
+ <range min="-1" max="2147483647"/>
+ <default>-1</default>
+ </element-property>
+ <element-property>
+ <name>typefind</name>
+ <type>gboolean</type>
+ <nick>Typefind</nick>
+ <blurb>Run typefind before negotiating</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>do-timestamp</name>
+ <type>gboolean</type>
+ <nick>Do timestamp</nick>
+ <blurb>Apply current stream time to buffers</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>data</name>
+ <type>GstFakeSrcDataType</type>
+ <nick>data</nick>
+ <blurb>Data allocation method</blurb>
+ <flags>RW</flags>
+ <default>1</default>
+ <enum-values>
+ <value value="1" nick="allocate"/>
+ <value value="2" nick="subbuffer"/>
+ </enum-values>
+ </element-property>
+ <element-property>
+ <name>sizetype</name>
+ <type>GstFakeSrcSizeType</type>
+ <nick>sizetype</nick>
+ <blurb>How to determine buffer sizes</blurb>
+ <flags>RW</flags>
+ <default>1</default>
+ <enum-values>
+ <value value="1" nick="empty"/>
+ <value value="2" nick="fixed"/>
+ <value value="3" nick="random"/>
+ </enum-values>
+ </element-property>
+ <element-property>
+ <name>sizemin</name>
+ <type>gint</type>
+ <nick>sizemin</nick>
+ <blurb>Minimum buffer size</blurb>
+ <flags>RW</flags>
+ <range min="0" max="2147483647"/>
+ <default>0</default>
+ </element-property>
+ <element-property>
+ <name>sizemax</name>
+ <type>gint</type>
+ <nick>sizemax</nick>
+ <blurb>Maximum buffer size</blurb>
+ <flags>RW</flags>
+ <range min="0" max="2147483647"/>
+ <default>4096</default>
+ </element-property>
+ <element-property>
+ <name>filltype</name>
+ <type>GstFakeSrcFillType</type>
+ <nick>filltype</nick>
+ <blurb>How to fill the buffer, if at all</blurb>
+ <flags>RW</flags>
+ <default>1</default>
+ <enum-values>
+ <value value="1" nick="nothing"/>
+ <value value="2" nick="zero"/>
+ <value value="3" nick="random"/>
+ <value value="4" nick="pattern"/>
+ <value value="5" nick="pattern-span"/>
+ </enum-values>
+ </element-property>
+ <element-property>
+ <name>datarate</name>
+ <type>gint</type>
+ <nick>Datarate</nick>
+ <blurb>Timestamps buffers with number of bytes per second (0 = none)</blurb>
+ <flags>RW</flags>
+ <range min="0" max="2147483647"/>
+ <default>0</default>
+ </element-property>
+ <element-property>
+ <name>sync</name>
+ <type>gboolean</type>
+ <nick>Sync</nick>
+ <blurb>Sync to the clock to the datarate</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>pattern</name>
+ <type>gchararray</type>
+ <nick>pattern</nick>
+ <blurb>pattern</blurb>
+ <flags>RW</flags>
+ <default>NULL</default>
+ </element-property>
+ <element-property>
+ <name>signal-handoffs</name>
+ <type>gboolean</type>
+ <nick>Signal handoffs</nick>
+ <blurb>Send a signal before pushing the buffer</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>silent</name>
+ <type>gboolean</type>
+ <nick>Silent</nick>
+ <blurb>Don't produce last_message events</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>dump</name>
+ <type>gboolean</type>
+ <nick>Dump</nick>
+ <blurb>Dump buffer contents to stdout</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>parentsize</name>
+ <type>gint</type>
+ <nick>parentsize</nick>
+ <blurb>Size of parent buffer for sub-buffered allocation</blurb>
+ <flags>RW</flags>
+ <range min="0" max="2147483647"/>
+ <default>40960</default>
+ </element-property>
+ <element-property>
+ <name>last-message</name>
+ <type>gchararray</type>
+ <nick>last-message</nick>
+ <blurb>The last status message</blurb>
+ <flags>RW</flags>
+ <default>NULL</default>
+ </element-property>
+ <element-property>
+ <name>can-activate-pull</name>
+ <type>gboolean</type>
+ <nick>Can activate pull</nick>
+ <blurb>Can activate in pull mode</blurb>
+ <flags>RW</flags>
+ <default>TRUE</default>
+ </element-property>
+ <element-property>
+ <name>can-activate-push</name>
+ <type>gboolean</type>
+ <nick>Can activate push</nick>
+ <blurb>Can activate in push mode</blurb>
+ <flags>RW</flags>
+ <default>TRUE</default>
+ </element-property>
+ <element-property>
+ <name>is-live</name>
+ <type>gboolean</type>
+ <nick>Is this a live source</nick>
+ <blurb>True if the element cannot produce data in PAUSED</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>format</name>
+ <type>GstFormat</type>
+ <nick>Format</nick>
+ <blurb>The format of the segment events</blurb>
+ <flags>RW</flags>
+ <default>2</default>
+ <enum-values>
+ <value value="0" nick="undefined"/>
+ <value value="1" nick="default"/>
+ <value value="2" nick="bytes"/>
+ <value value="3" nick="time"/>
+ <value value="4" nick="buffers"/>
+ <value value="5" nick="percent"/>
+ </enum-values>
+ </element-property>
+ </element-properties>
+ <element-signals>
+ <signal>
+ <name>handoff</name>
+ <return-type>void</return-type>
+ <object-type>GstFakeSrc</object-type>
+ <params>
+ <type>GstBuffer</type>
+ <type>GstPad</type>
+ </params>
+ </signal>
+ </element-signals>
+ <element-actions>
+ </element-actions>
+</element>
--- /dev/null
+<element>
+ <name>fdsink</name>
+ <details>
+ <long-name>Filedescriptor Sink</long-name>
+ <class>Sink/File</class>
+ <description>Write data to a file descriptor</description>
+ <authors>Erik Walthinsen <omega@cse.ogi.edu></authors>
+ </details>
+ <object name="GstFdSink">
+ <object name="GstBaseSink">
+ <object name="GstElement">
+ <object name="GstObject">
+ <object name="GObject">
+ </object>
+ </object>
+ </object>
+ </object>
+ </object>
+ <interfaces>
+ <interface name="GstURIHandler" />
+ </interfaces>
+ <pad-templates>
+ <pad-template>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <caps>ANY</caps>
+ </pad-template>
+ </pad-templates>
+ <element-flags>
+ </element-flags>
+ <element-implementation>
+ <state-change function="gst_base_sink_change_state"/>
+ <save function="gst_element_save_thyself"/>
+ <load function="gst_element_restore_thyself"/>
+ </element-implementation>
+ <clocking-interaction>
+ </clocking-interaction>
+ <pads>
+ <pad>
+ <name>sink</name>
+ <direction>sink</direction>
+ <template>sink</template>
+ <implementation>
+ <chain-based function="gst_base_sink_chain"/>
+ <event-function function="gst_base_sink_event"/>
+ <query-function function="gst_fd_sink_query"/>
+ <bufferalloc-function function="gst_base_sink_pad_buffer_alloc"/>
+ </implementation>
+ </pad>
+ </pads>
+ <element-properties>
+ <element-property>
+ <name>preroll-queue-len</name>
+ <type>guint</type>
+ <nick>Preroll queue length</nick>
+ <blurb>Number of buffers to queue during preroll</blurb>
+ <flags>RW</flags>
+ <range min="0" max="4294967295"/>
+ <default>0</default>
+ </element-property>
+ <element-property>
+ <name>sync</name>
+ <type>gboolean</type>
+ <nick>Sync</nick>
+ <blurb>Sync on the clock</blurb>
+ <flags>RW</flags>
+ <default>TRUE</default>
+ </element-property>
+ <element-property>
+ <name>max-lateness</name>
+ <type>gint64</type>
+ <nick>Max Lateness</nick>
+ <blurb>Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)</blurb>
+ <flags>RW</flags>
+ <range min="-1" max="9223372036854775807"/>
+ <default>-1</default>
+ </element-property>
+ <element-property>
+ <name>qos</name>
+ <type>gboolean</type>
+ <nick>Qos</nick>
+ <blurb>Generate Quality-of-Service events upstream</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>async</name>
+ <type>gboolean</type>
+ <nick>Async</nick>
+ <blurb>Go asynchronously to PAUSED</blurb>
+ <flags>RW</flags>
+ <default>TRUE</default>
+ </element-property>
+ <element-property>
+ <name>ts-offset</name>
+ <type>gint64</type>
+ <nick>TS Offset</nick>
+ <blurb>Timestamp offset in nanoseconds</blurb>
+ <flags>RW</flags>
+ <range min="-9223372036854775808" max="9223372036854775807"/>
+ <default>0</default>
+ </element-property>
+ <element-property>
+ <name>last-buffer</name>
+ <type>GstBuffer</type>
+ <nick>Last Buffer</nick>
+ <blurb>The last buffer received in the sink</blurb>
+ <flags>RW</flags>
+ </element-property>
+ <element-property>
+ <name>blocksize</name>
+ <type>guint</type>
+ <nick>Block size</nick>
+ <blurb>Size in bytes to pull per buffer (0 = default)</blurb>
+ <flags>RW</flags>
+ <range min="0" max="4294967295"/>
+ <default>4096</default>
+ </element-property>
+ <element-property>
+ <name>render-delay</name>
+ <type>guint64</type>
+ <nick>Render Delay</nick>
+ <blurb>Additional render delay of the sink in nanoseconds</blurb>
+ <flags>RW</flags>
+ <range min="0" max="18446744073709551615"/>
+ <default>0</default>
+ </element-property>
+ <element-property>
+ <name>fd</name>
+ <type>gint</type>
+ <nick>fd</nick>
+ <blurb>An open file descriptor to write to</blurb>
+ <flags>RW</flags>
+ <range min="0" max="2147483647"/>
+ <default>1</default>
+ </element-property>
+ </element-properties>
+ <element-signals>
+ </element-signals>
+ <element-actions>
+ </element-actions>
+</element>
--- /dev/null
+<element>
+ <name>fdsrc</name>
+ <details>
+ <long-name>Filedescriptor Source</long-name>
+ <class>Source/File</class>
+ <description>Read from a file descriptor</description>
+ <authors>Erik Walthinsen <omega@cse.ogi.edu></authors>
+ </details>
+ <object name="GstFdSrc">
+ <object name="GstPushSrc">
+ <object name="GstBaseSrc">
+ <object name="GstElement">
+ <object name="GstObject">
+ <object name="GObject">
+ </object>
+ </object>
+ </object>
+ </object>
+ </object>
+ </object>
+ <interfaces>
+ <interface name="GstURIHandler" />
+ </interfaces>
+ <pad-templates>
+ <pad-template>
+ <name>src</name>
+ <direction>src</direction>
+ <presence>always</presence>
+ <caps>ANY</caps>
+ </pad-template>
+ </pad-templates>
+ <element-flags>
+ </element-flags>
+ <element-implementation>
+ <state-change function="gst_base_src_change_state"/>
+ <save function="gst_element_save_thyself"/>
+ <load function="gst_element_restore_thyself"/>
+ </element-implementation>
+ <clocking-interaction>
+ </clocking-interaction>
+ <pads>
+ <pad>
+ <name>src</name>
+ <direction>src</direction>
+ <template>src</template>
+ <implementation>
+ <get-range-based function="gst_base_src_pad_get_range"/>
+ <event-function function="gst_base_src_event_handler"/>
+ <query-function function="gst_base_src_query"/>
+ </implementation>
+ </pad>
+ </pads>
+ <element-properties>
+ <element-property>
+ <name>blocksize</name>
+ <type>gulong</type>
+ <nick>Block size</nick>
+ <blurb>Size in bytes to read per buffer (-1 = default)</blurb>
+ <flags>RW</flags>
+ <range min="0" max="18446744073709551615"/>
+ <default>4096</default>
+ </element-property>
+ <element-property>
+ <name>num-buffers</name>
+ <type>gint</type>
+ <nick>num-buffers</nick>
+ <blurb>Number of buffers to output before sending EOS (-1 = unlimited)</blurb>
+ <flags>RW</flags>
+ <range min="-1" max="2147483647"/>
+ <default>-1</default>
+ </element-property>
+ <element-property>
+ <name>typefind</name>
+ <type>gboolean</type>
+ <nick>Typefind</nick>
+ <blurb>Run typefind before negotiating</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>do-timestamp</name>
+ <type>gboolean</type>
+ <nick>Do timestamp</nick>
+ <blurb>Apply current stream time to buffers</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>fd</name>
+ <type>gint</type>
+ <nick>fd</nick>
+ <blurb>An open file descriptor to read from</blurb>
+ <flags>RW</flags>
+ <range min="0" max="2147483647"/>
+ <default>0</default>
+ </element-property>
+ <element-property>
+ <name>timeout</name>
+ <type>guint64</type>
+ <nick>Timeout</nick>
+ <blurb>Post a message after timeout microseconds (0 = disabled)</blurb>
+ <flags>RW</flags>
+ <range min="0" max="18446744073709551615"/>
+ <default>0</default>
+ </element-property>
+ </element-properties>
+ <element-signals>
+ </element-signals>
+ <element-actions>
+ </element-actions>
+</element>
--- /dev/null
+<element>
+ <name>filesink</name>
+ <details>
+ <long-name>File Sink</long-name>
+ <class>Sink/File</class>
+ <description>Write stream to a file</description>
+ <authors>Thomas Vander Stichele <thomas at apestaart dot org></authors>
+ </details>
+ <object name="GstFileSink">
+ <object name="GstBaseSink">
+ <object name="GstElement">
+ <object name="GstObject">
+ <object name="GObject">
+ </object>
+ </object>
+ </object>
+ </object>
+ </object>
+ <interfaces>
+ <interface name="GstURIHandler" />
+ </interfaces>
+ <pad-templates>
+ <pad-template>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <caps>ANY</caps>
+ </pad-template>
+ </pad-templates>
+ <element-flags>
+ </element-flags>
+ <element-implementation>
+ <state-change function="gst_base_sink_change_state"/>
+ <save function="gst_element_save_thyself"/>
+ <load function="gst_element_restore_thyself"/>
+ </element-implementation>
+ <clocking-interaction>
+ </clocking-interaction>
+ <pads>
+ <pad>
+ <name>sink</name>
+ <direction>sink</direction>
+ <template>sink</template>
+ <implementation>
+ <chain-based function="gst_base_sink_chain"/>
+ <event-function function="gst_base_sink_event"/>
+ <query-function function="gst_file_sink_query"/>
+ <bufferalloc-function function="gst_base_sink_pad_buffer_alloc"/>
+ </implementation>
+ </pad>
+ </pads>
+ <element-properties>
+ <element-property>
+ <name>preroll-queue-len</name>
+ <type>guint</type>
+ <nick>Preroll queue length</nick>
+ <blurb>Number of buffers to queue during preroll</blurb>
+ <flags>RW</flags>
+ <range min="0" max="4294967295"/>
+ <default>0</default>
+ </element-property>
+ <element-property>
+ <name>sync</name>
+ <type>gboolean</type>
+ <nick>Sync</nick>
+ <blurb>Sync on the clock</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>max-lateness</name>
+ <type>gint64</type>
+ <nick>Max Lateness</nick>
+ <blurb>Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited)</blurb>
+ <flags>RW</flags>
+ <range min="-1" max="9223372036854775807"/>
+ <default>-1</default>
+ </element-property>
+ <element-property>
+ <name>qos</name>
+ <type>gboolean</type>
+ <nick>Qos</nick>
+ <blurb>Generate Quality-of-Service events upstream</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>async</name>
+ <type>gboolean</type>
+ <nick>Async</nick>
+ <blurb>Go asynchronously to PAUSED</blurb>
+ <flags>RW</flags>
+ <default>TRUE</default>
+ </element-property>
+ <element-property>
+ <name>ts-offset</name>
+ <type>gint64</type>
+ <nick>TS Offset</nick>
+ <blurb>Timestamp offset in nanoseconds</blurb>
+ <flags>RW</flags>
+ <range min="-9223372036854775808" max="9223372036854775807"/>
+ <default>0</default>
+ </element-property>
+ <element-property>
+ <name>last-buffer</name>
+ <type>GstBuffer</type>
+ <nick>Last Buffer</nick>
+ <blurb>The last buffer received in the sink</blurb>
+ <flags>RW</flags>
+ </element-property>
+ <element-property>
+ <name>blocksize</name>
+ <type>guint</type>
+ <nick>Block size</nick>
+ <blurb>Size in bytes to pull per buffer (0 = default)</blurb>
+ <flags>RW</flags>
+ <range min="0" max="4294967295"/>
+ <default>4096</default>
+ </element-property>
+ <element-property>
+ <name>render-delay</name>
+ <type>guint64</type>
+ <nick>Render Delay</nick>
+ <blurb>Additional render delay of the sink in nanoseconds</blurb>
+ <flags>RW</flags>
+ <range min="0" max="18446744073709551615"/>
+ <default>0</default>
+ </element-property>
+ <element-property>
+ <name>location</name>
+ <type>gchararray</type>
+ <nick>File Location</nick>
+ <blurb>Location of the file to write</blurb>
+ <flags>RW</flags>
+ <default>NULL</default>
+ </element-property>
+ <element-property>
+ <name>buffer-mode</name>
+ <type>GstFileSinkBufferMode</type>
+ <nick>Buffering mode</nick>
+ <blurb>The buffering mode to use</blurb>
+ <flags>RW</flags>
+ <default>-1</default>
+ <enum-values>
+ <value value="-1" nick="default"/>
+ <value value="0" nick="full"/>
+ <value value="1" nick="line"/>
+ <value value="2" nick="unbuffered"/>
+ </enum-values>
+ </element-property>
+ <element-property>
+ <name>buffer-size</name>
+ <type>guint</type>
+ <nick>Buffering size</nick>
+ <blurb>Size of buffer in number of bytes for line or full buffer-mode</blurb>
+ <flags>RW</flags>
+ <range min="0" max="4294967295"/>
+ <default>65536</default>
+ </element-property>
+ </element-properties>
+ <element-signals>
+ </element-signals>
+ <element-actions>
+ </element-actions>
+</element>
--- /dev/null
+<element>
+ <name>filesrc</name>
+ <details>
+ <long-name>File Source</long-name>
+ <class>Source/File</class>
+ <description>Read from arbitrary point in a file</description>
+ <authors>Erik Walthinsen <omega@cse.ogi.edu></authors>
+ </details>
+ <object name="GstFileSrc">
+ <object name="GstBaseSrc">
+ <object name="GstElement">
+ <object name="GstObject">
+ <object name="GObject">
+ </object>
+ </object>
+ </object>
+ </object>
+ </object>
+ <interfaces>
+ <interface name="GstURIHandler" />
+ </interfaces>
+ <pad-templates>
+ <pad-template>
+ <name>src</name>
+ <direction>src</direction>
+ <presence>always</presence>
+ <caps>ANY</caps>
+ </pad-template>
+ </pad-templates>
+ <element-flags>
+ </element-flags>
+ <element-implementation>
+ <state-change function="gst_base_src_change_state"/>
+ <save function="gst_element_save_thyself"/>
+ <load function="gst_element_restore_thyself"/>
+ </element-implementation>
+ <clocking-interaction>
+ </clocking-interaction>
+ <pads>
+ <pad>
+ <name>src</name>
+ <direction>src</direction>
+ <template>src</template>
+ <implementation>
+ <get-range-based function="gst_base_src_pad_get_range"/>
+ <event-function function="gst_base_src_event_handler"/>
+ <query-function function="gst_base_src_query"/>
+ </implementation>
+ </pad>
+ </pads>
+ <element-properties>
+ <element-property>
+ <name>blocksize</name>
+ <type>gulong</type>
+ <nick>Block size</nick>
+ <blurb>Size in bytes to read per buffer (-1 = default)</blurb>
+ <flags>RW</flags>
+ <range min="0" max="18446744073709551615"/>
+ <default>4096</default>
+ </element-property>
+ <element-property>
+ <name>num-buffers</name>
+ <type>gint</type>
+ <nick>num-buffers</nick>
+ <blurb>Number of buffers to output before sending EOS (-1 = unlimited)</blurb>
+ <flags>RW</flags>
+ <range min="-1" max="2147483647"/>
+ <default>-1</default>
+ </element-property>
+ <element-property>
+ <name>typefind</name>
+ <type>gboolean</type>
+ <nick>Typefind</nick>
+ <blurb>Run typefind before negotiating</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>do-timestamp</name>
+ <type>gboolean</type>
+ <nick>Do timestamp</nick>
+ <blurb>Apply current stream time to buffers</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>location</name>
+ <type>gchararray</type>
+ <nick>File Location</nick>
+ <blurb>Location of the file to read</blurb>
+ <flags>RW</flags>
+ <default>NULL</default>
+ </element-property>
+ <element-property>
+ <name>fd</name>
+ <type>gint</type>
+ <nick>File-descriptor</nick>
+ <blurb>File-descriptor for the file being mmap()d</blurb>
+ <flags>RW</flags>
+ <range min="0" max="2147483647"/>
+ <default>0</default>
+ </element-property>
+ <element-property>
+ <name>mmapsize</name>
+ <type>gulong</type>
+ <nick>mmap() Block Size</nick>
+ <blurb>Size in bytes of mmap()d regions</blurb>
+ <flags>RW</flags>
+ <range min="0" max="18446744073709551615"/>
+ <default>4194304</default>
+ </element-property>
+ <element-property>
+ <name>sequential</name>
+ <type>gboolean</type>
+ <nick>Optimise for sequential mmap access</nick>
+ <blurb>Whether to use madvise to hint to the kernel that access to mmap pages will be sequential</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>touch</name>
+ <type>gboolean</type>
+ <nick>Touch mapped region read data</nick>
+ <blurb>Touch mmapped data regions to force them to be read from disk</blurb>
+ <flags>RW</flags>
+ <default>TRUE</default>
+ </element-property>
+ <element-property>
+ <name>use-mmap</name>
+ <type>gboolean</type>
+ <nick>Use mmap to read data</nick>
+ <blurb>Whether to use mmap() instead of read()</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ </element-properties>
+ <element-signals>
+ </element-signals>
+ <element-actions>
+ </element-actions>
+</element>
--- /dev/null
+<element>
+ <name>identity</name>
+ <details>
+ <long-name>Identity</long-name>
+ <class>Generic</class>
+ <description>Pass data without modification</description>
+ <authors>Erik Walthinsen <omega@cse.ogi.edu></authors>
+ </details>
+ <object name="GstIdentity">
+ <object name="GstBaseTransform">
+ <object name="GstElement">
+ <object name="GstObject">
+ <object name="GObject">
+ </object>
+ </object>
+ </object>
+ </object>
+ </object>
+ <interfaces>
+ </interfaces>
+ <pad-templates>
+ <pad-template>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <caps>ANY</caps>
+ </pad-template>
+ <pad-template>
+ <name>src</name>
+ <direction>src</direction>
+ <presence>always</presence>
+ <caps>ANY</caps>
+ </pad-template>
+ </pad-templates>
+ <element-flags>
+ </element-flags>
+ <element-implementation>
+ <state-change function="gst_element_change_state_func"/>
+ <save function="gst_element_save_thyself"/>
+ <load function="gst_element_restore_thyself"/>
+ </element-implementation>
+ <clocking-interaction>
+ </clocking-interaction>
+ <pads>
+ <pad>
+ <name>src</name>
+ <direction>src</direction>
+ <template>src</template>
+ <implementation>
+ <get-range-based function="gst_base_transform_getrange"/>
+ <event-function function="gst_base_transform_src_event"/>
+ </implementation>
+ </pad>
+ <pad>
+ <name>sink</name>
+ <direction>sink</direction>
+ <template>sink</template>
+ <implementation>
+ <chain-based function="gst_base_transform_chain"/>
+ <event-function function="gst_base_transform_sink_event"/>
+ <bufferalloc-function function="gst_base_transform_buffer_alloc"/>
+ </implementation>
+ </pad>
+ </pads>
+ <element-properties>
+ <element-property>
+ <name>qos</name>
+ <type>gboolean</type>
+ <nick>QoS</nick>
+ <blurb>Handle Quality-of-Service events</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>sleep-time</name>
+ <type>guint</type>
+ <nick>Sleep time</nick>
+ <blurb>Microseconds to sleep between processing</blurb>
+ <flags>RW</flags>
+ <range min="0" max="4294967295"/>
+ <default>0</default>
+ </element-property>
+ <element-property>
+ <name>error-after</name>
+ <type>gint</type>
+ <nick>Error After</nick>
+ <blurb>Error after N buffers</blurb>
+ <flags>RW</flags>
+ <range min="-2147483648" max="2147483647"/>
+ <default>-1</default>
+ </element-property>
+ <element-property>
+ <name>drop-probability</name>
+ <type>gfloat</type>
+ <nick>Drop Probability</nick>
+ <blurb>The Probability a buffer is dropped</blurb>
+ <flags>RW</flags>
+ <range min="0,000000" max="1,000000"/>
+ <default>0,000000</default>
+ </element-property>
+ <element-property>
+ <name>datarate</name>
+ <type>gint</type>
+ <nick>Datarate</nick>
+ <blurb>(Re)timestamps buffers with number of bytes per second (0 = inactive)</blurb>
+ <flags>RW</flags>
+ <range min="0" max="2147483647"/>
+ <default>0</default>
+ </element-property>
+ <element-property>
+ <name>silent</name>
+ <type>gboolean</type>
+ <nick>silent</nick>
+ <blurb>silent</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>single-segment</name>
+ <type>gboolean</type>
+ <nick>Single Segment</nick>
+ <blurb>Timestamp buffers and eat newsegments so as to appear as one segment</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>last-message</name>
+ <type>gchararray</type>
+ <nick>last-message</nick>
+ <blurb>last-message</blurb>
+ <flags>RW</flags>
+ <default>NULL</default>
+ </element-property>
+ <element-property>
+ <name>dump</name>
+ <type>gboolean</type>
+ <nick>Dump</nick>
+ <blurb>Dump buffer contents to stdout</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>sync</name>
+ <type>gboolean</type>
+ <nick>Synchronize</nick>
+ <blurb>Synchronize to pipeline clock</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>check-perfect</name>
+ <type>gboolean</type>
+ <nick>Check For Perfect Stream</nick>
+ <blurb>Verify that the stream is time- and data-contiguous. This only logs in the debug log. This will be deprecated in favor of the check-imperfect-timestamp/offset properties.</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>check-imperfect-timestamp</name>
+ <type>gboolean</type>
+ <nick>Check for discontiguous timestamps</nick>
+ <blurb>Send element messages if timestamps and durations do not match up</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>check-imperfect-offset</name>
+ <type>gboolean</type>
+ <nick>Check for discontiguous offset</nick>
+ <blurb>Send element messages if offset and offset_end do not match up</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>signal-handoffs</name>
+ <type>gboolean</type>
+ <nick>Signal handoffs</nick>
+ <blurb>Send a signal before pushing the buffer</blurb>
+ <flags>RW</flags>
+ <default>TRUE</default>
+ </element-property>
+ </element-properties>
+ <element-signals>
+ <signal>
+ <name>handoff</name>
+ <return-type>void</return-type>
+ <object-type>GstIdentity</object-type>
+ <params>
+ <type>GstBuffer</type>
+ </params>
+ </signal>
+ </element-signals>
+ <element-actions>
+ </element-actions>
+</element>
--- /dev/null
+<element>
+ <name>multiqueue</name>
+ <details>
+ <long-name>MultiQueue</long-name>
+ <class>Generic</class>
+ <description>Multiple data queue</description>
+ <authors>Edward Hervey <edward@fluendo.com></authors>
+ </details>
+ <object name="GstMultiQueue">
+ <object name="GstElement">
+ <object name="GstObject">
+ <object name="GObject">
+ </object>
+ </object>
+ </object>
+ </object>
+ <interfaces>
+ </interfaces>
+ <pad-templates>
+ <pad-template>
+ <name>src%d</name>
+ <direction>src</direction>
+ <presence>sometimes</presence>
+ <caps>ANY</caps>
+ </pad-template>
+ <pad-template>
+ <name>sink%d</name>
+ <direction>sink</direction>
+ <presence>request</presence>
+ <request-function>gst_multi_queue_request_new_pad</request-function>
+ <caps>ANY</caps>
+ </pad-template>
+ </pad-templates>
+ <element-flags>
+ </element-flags>
+ <element-implementation>
+ <state-change function="gst_element_change_state_func"/>
+ <save function="gst_element_save_thyself"/>
+ <load function="gst_element_restore_thyself"/>
+ </element-implementation>
+ <clocking-interaction>
+ </clocking-interaction>
+ <pads>
+ </pads>
+ <element-properties>
+ <element-property>
+ <name>extra-size-bytes</name>
+ <type>guint</type>
+ <nick>Extra Size (kB)</nick>
+ <blurb>Amount of data the queues can grow if one of them is empty (bytes, 0=disable)</blurb>
+ <flags>RW</flags>
+ <range min="0" max="4294967295"/>
+ <default>10485760</default>
+ </element-property>
+ <element-property>
+ <name>extra-size-buffers</name>
+ <type>guint</type>
+ <nick>Extra Size (buffers)</nick>
+ <blurb>Amount of buffers the queues can grow if one of them is empty (0=disable)</blurb>
+ <flags>RW</flags>
+ <range min="0" max="4294967295"/>
+ <default>5</default>
+ </element-property>
+ <element-property>
+ <name>extra-size-time</name>
+ <type>guint64</type>
+ <nick>Extra Size (ns)</nick>
+ <blurb>Amount of time the queues can grow if one of them is empty (in ns, 0=disable)</blurb>
+ <flags>RW</flags>
+ <range min="0" max="18446744073709551615"/>
+ <default>3000000000</default>
+ </element-property>
+ <element-property>
+ <name>max-size-bytes</name>
+ <type>guint</type>
+ <nick>Max. size (kB)</nick>
+ <blurb>Max. amount of data in the queue (bytes, 0=disable)</blurb>
+ <flags>RW</flags>
+ <range min="0" max="4294967295"/>
+ <default>10485760</default>
+ </element-property>
+ <element-property>
+ <name>max-size-buffers</name>
+ <type>guint</type>
+ <nick>Max. size (buffers)</nick>
+ <blurb>Max. number of buffers in the queue (0=disable)</blurb>
+ <flags>RW</flags>
+ <range min="0" max="4294967295"/>
+ <default>5</default>
+ </element-property>
+ <element-property>
+ <name>max-size-time</name>
+ <type>guint64</type>
+ <nick>Max. size (ns)</nick>
+ <blurb>Max. amount of data in the queue (in ns, 0=disable)</blurb>
+ <flags>RW</flags>
+ <range min="0" max="18446744073709551615"/>
+ <default>2000000000</default>
+ </element-property>
+ </element-properties>
+ <element-signals>
+ <signal>
+ <name>underrun</name>
+ <return-type>void</return-type>
+ <object-type>GstMultiQueue</object-type>
+ <params>
+ </params>
+ </signal>
+ <signal>
+ <name>overrun</name>
+ <return-type>void</return-type>
+ <object-type>GstMultiQueue</object-type>
+ <params>
+ </params>
+ </signal>
+ </element-signals>
+ <element-actions>
+ </element-actions>
+</element>
--- /dev/null
+<element>
+ <name>queue</name>
+ <details>
+ <long-name>Queue</long-name>
+ <class>Generic</class>
+ <description>Simple data queue</description>
+ <authors>Erik Walthinsen <omega@cse.ogi.edu></authors>
+ </details>
+ <object name="GstQueue">
+ <object name="GstElement">
+ <object name="GstObject">
+ <object name="GObject">
+ </object>
+ </object>
+ </object>
+ </object>
+ <interfaces>
+ </interfaces>
+ <pad-templates>
+ <pad-template>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <caps>ANY</caps>
+ </pad-template>
+ <pad-template>
+ <name>src</name>
+ <direction>src</direction>
+ <presence>always</presence>
+ <caps>ANY</caps>
+ </pad-template>
+ </pad-templates>
+ <element-flags>
+ </element-flags>
+ <element-implementation>
+ <state-change function="gst_element_change_state_func"/>
+ <save function="gst_element_save_thyself"/>
+ <load function="gst_element_restore_thyself"/>
+ </element-implementation>
+ <clocking-interaction>
+ </clocking-interaction>
+ <pads>
+ <pad>
+ <name>src</name>
+ <direction>src</direction>
+ <template>src</template>
+ <implementation>
+ <event-function function="gst_queue_handle_src_event"/>
+ <query-function function="gst_queue_handle_src_query"/>
+ </implementation>
+ </pad>
+ <pad>
+ <name>sink</name>
+ <direction>sink</direction>
+ <template>sink</template>
+ <implementation>
+ <chain-based function="gst_queue_chain"/>
+ <event-function function="gst_queue_handle_sink_event"/>
+ <bufferalloc-function function="gst_queue_bufferalloc"/>
+ </implementation>
+ </pad>
+ </pads>
+ <element-properties>
+ <element-property>
+ <name>current-level-buffers</name>
+ <type>guint</type>
+ <nick>Current level (buffers)</nick>
+ <blurb>Current number of buffers in the queue</blurb>
+ <flags>RW</flags>
+ <range min="0" max="4294967295"/>
+ <default>0</default>
+ </element-property>
+ <element-property>
+ <name>current-level-bytes</name>
+ <type>guint</type>
+ <nick>Current level (kB)</nick>
+ <blurb>Current amount of data in the queue (bytes)</blurb>
+ <flags>RW</flags>
+ <range min="0" max="4294967295"/>
+ <default>0</default>
+ </element-property>
+ <element-property>
+ <name>current-level-time</name>
+ <type>guint64</type>
+ <nick>Current level (ns)</nick>
+ <blurb>Current amount of data in the queue (in ns)</blurb>
+ <flags>RW</flags>
+ <range min="0" max="18446744073709551615"/>
+ <default>0</default>
+ </element-property>
+ <element-property>
+ <name>max-size-buffers</name>
+ <type>guint</type>
+ <nick>Max. size (buffers)</nick>
+ <blurb>Max. number of buffers in the queue (0=disable)</blurb>
+ <flags>RW</flags>
+ <range min="0" max="4294967295"/>
+ <default>200</default>
+ </element-property>
+ <element-property>
+ <name>max-size-bytes</name>
+ <type>guint</type>
+ <nick>Max. size (kB)</nick>
+ <blurb>Max. amount of data in the queue (bytes, 0=disable)</blurb>
+ <flags>RW</flags>
+ <range min="0" max="4294967295"/>
+ <default>10485760</default>
+ </element-property>
+ <element-property>
+ <name>max-size-time</name>
+ <type>guint64</type>
+ <nick>Max. size (ns)</nick>
+ <blurb>Max. amount of data in the queue (in ns, 0=disable)</blurb>
+ <flags>RW</flags>
+ <range min="0" max="18446744073709551615"/>
+ <default>1000000000</default>
+ </element-property>
+ <element-property>
+ <name>min-threshold-buffers</name>
+ <type>guint</type>
+ <nick>Min. threshold (buffers)</nick>
+ <blurb>Min. number of buffers in the queue to allow reading (0=disable)</blurb>
+ <flags>RW</flags>
+ <range min="0" max="4294967295"/>
+ <default>0</default>
+ </element-property>
+ <element-property>
+ <name>min-threshold-bytes</name>
+ <type>guint</type>
+ <nick>Min. threshold (kB)</nick>
+ <blurb>Min. amount of data in the queue to allow reading (bytes, 0=disable)</blurb>
+ <flags>RW</flags>
+ <range min="0" max="4294967295"/>
+ <default>0</default>
+ </element-property>
+ <element-property>
+ <name>min-threshold-time</name>
+ <type>guint64</type>
+ <nick>Min. threshold (ns)</nick>
+ <blurb>Min. amount of data in the queue to allow reading (in ns, 0=disable)</blurb>
+ <flags>RW</flags>
+ <range min="0" max="18446744073709551615"/>
+ <default>0</default>
+ </element-property>
+ <element-property>
+ <name>leaky</name>
+ <type>GstQueueLeaky</type>
+ <nick>Leaky</nick>
+ <blurb>Where the queue leaks, if at all</blurb>
+ <flags>RW</flags>
+ <default>0</default>
+ <enum-values>
+ <value value="0" nick="no"/>
+ <value value="1" nick="upstream"/>
+ <value value="2" nick="downstream"/>
+ </enum-values>
+ </element-property>
+ </element-properties>
+ <element-signals>
+ <signal>
+ <name>underrun</name>
+ <return-type>void</return-type>
+ <object-type>GstQueue</object-type>
+ <params>
+ </params>
+ </signal>
+ <signal>
+ <name>running</name>
+ <return-type>void</return-type>
+ <object-type>GstQueue</object-type>
+ <params>
+ </params>
+ </signal>
+ <signal>
+ <name>overrun</name>
+ <return-type>void</return-type>
+ <object-type>GstQueue</object-type>
+ <params>
+ </params>
+ </signal>
+ <signal>
+ <name>pushing</name>
+ <return-type>void</return-type>
+ <object-type>GstQueue</object-type>
+ <params>
+ </params>
+ </signal>
+ </element-signals>
+ <element-actions>
+ </element-actions>
+</element>
--- /dev/null
+<element>
+ <name>tee</name>
+ <details>
+ <long-name>Tee pipe fitting</long-name>
+ <class>Generic</class>
+ <description>1-to-N pipe fitting</description>
+ <authors>Erik Walthinsen <omega@cse.ogi.edu>, Wim Taymans <wim@fluendo.com></authors>
+ </details>
+ <object name="GstTee">
+ <object name="GstElement">
+ <object name="GstObject">
+ <object name="GObject">
+ </object>
+ </object>
+ </object>
+ </object>
+ <interfaces>
+ </interfaces>
+ <pad-templates>
+ <pad-template>
+ <name>src%d</name>
+ <direction>src</direction>
+ <presence>request</presence>
+ <request-function>gst_tee_request_new_pad</request-function>
+ <caps>ANY</caps>
+ </pad-template>
+ <pad-template>
+ <name>sink</name>
+ <direction>sink</direction>
+ <presence>always</presence>
+ <caps>ANY</caps>
+ </pad-template>
+ </pad-templates>
+ <element-flags>
+ </element-flags>
+ <element-implementation>
+ <state-change function="gst_element_change_state_func"/>
+ <save function="gst_element_save_thyself"/>
+ <load function="gst_element_restore_thyself"/>
+ </element-implementation>
+ <clocking-interaction>
+ </clocking-interaction>
+ <pads>
+ <pad>
+ <name>sink</name>
+ <direction>sink</direction>
+ <template>sink</template>
+ <implementation>
+ <chain-based function="gst_tee_chain"/>
+ <bufferalloc-function function="gst_tee_buffer_alloc"/>
+ </implementation>
+ </pad>
+ </pads>
+ <element-properties>
+ <element-property>
+ <name>num-src-pads</name>
+ <type>gint</type>
+ <nick>Num Src Pads</nick>
+ <blurb>The number of source pads</blurb>
+ <flags>RW</flags>
+ <range min="0" max="2147483647"/>
+ <default>0</default>
+ </element-property>
+ <element-property>
+ <name>has-sink-loop</name>
+ <type>gboolean</type>
+ <nick>Has Sink Loop</nick>
+ <blurb>If the element should spawn a thread (unimplemented and deprecated)</blurb>
+ <flags>RW</flags>
+ <default>FALSE</default>
+ </element-property>
+ <element-property>
+ <name>has-chain</name>
+ <type>gboolean</type>
+ <nick>Has Chain</nick>
+ <blurb>If the element can operate in push mode</blurb>
+ <flags>RW</flags>
+ <default>TRUE</default>
+ </element-property>
+ <element-property>
+ <name>silent</name>
+ <type>gboolean</type>
+ <nick>Silent</nick>
+ <blurb>Don't produce last_message events</blurb>
+ <flags>RW</flags>
+ <default>TRUE</default>
+ </element-property>
+ <element-property>
+ <name>last-message</name>
+ <type>gchararray</type>
+ <nick>Last Message</nick>
+ <blurb>The message describing current status</blurb>
+ <flags>RW</flags>
+ <default>NULL</default>
+ </element-property>
+ <element-property>
+ <name>pull-mode</name>
+ <type>GstTeePullMode</type>
+ <nick>Pull mode</nick>
+ <blurb>Behavior of tee in pull mode</blurb>
+ <flags>RW</flags>
+ <default>0</default>
+ <enum-values>
+ <value value="0" nick="never"/>
+ <value value="1" nick="single"/>
+ </enum-values>
+ </element-property>
+ <element-property>
+ <name>alloc-pad</name>
+ <type>GstPad</type>
+ <nick>Allocation Src Pad</nick>
+ <blurb>The pad used for gst_pad_alloc_buffer</blurb>
+ <flags>RW</flags>
+ <object-type>GstPad</object-type>
+ </element-property>
+ </element-properties>
+ <element-signals>
+ </element-signals>
+ <element-actions>
+ </element-actions>
+</element>