Add element bindings for all core elements

This commit is contained in:
Sebastian Dröge 2009-05-28 11:04:35 +02:00
parent 1497352832
commit ae346c8e03
14 changed files with 1697 additions and 3 deletions

View file

@ -1,10 +1,12 @@
#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))

View file

@ -0,0 +1,8 @@
<?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>

View file

@ -0,0 +1,6 @@
<?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>

View file

@ -0,0 +1,5 @@
<?xml version="1.0"?>
<metadata>
<attr path="/element/element-signals/signal/name[child::text()='handoff']/../params/type[1]" name="name">Buffer</attr>
</metadata>

View file

@ -0,0 +1,224 @@
<element>
<name>fakesink</name>
<details>
<long-name>Fake Sink</long-name>
<class>Sink</class>
<description>Black hole for data</description>
<authors>Erik Walthinsen &lt;omega@cse.ogi.edu&gt;, Wim Taymans &lt;wim@fluendo.com&gt;, Mr. &apos;frag-me-more&apos; Vanderwingo &lt;wingo@fluendo.com&gt;</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&apos;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>

View file

@ -0,0 +1,263 @@
<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 &lt;omega@cse.ogi.edu&gt;, Wim Taymans &lt;wim@fluendo.com&gt;</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&apos;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>

View file

@ -0,0 +1,143 @@
<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 &lt;omega@cse.ogi.edu&gt;</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>

View file

@ -0,0 +1,111 @@
<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 &lt;omega@cse.ogi.edu&gt;</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>

View file

@ -0,0 +1,165 @@
<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 &lt;thomas at apestaart dot org&gt;</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>

View file

@ -0,0 +1,141 @@
<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 &lt;omega@cse.ogi.edu&gt;</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>

View file

@ -0,0 +1,195 @@
<element>
<name>identity</name>
<details>
<long-name>Identity</long-name>
<class>Generic</class>
<description>Pass data without modification</description>
<authors>Erik Walthinsen &lt;omega@cse.ogi.edu&gt;</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>

View file

@ -0,0 +1,119 @@
<element>
<name>multiqueue</name>
<details>
<long-name>MultiQueue</long-name>
<class>Generic</class>
<description>Multiple data queue</description>
<authors>Edward Hervey &lt;edward@fluendo.com&gt;</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>

View file

@ -0,0 +1,191 @@
<element>
<name>queue</name>
<details>
<long-name>Queue</long-name>
<class>Generic</class>
<description>Simple data queue</description>
<authors>Erik Walthinsen &lt;omega@cse.ogi.edu&gt;</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>

View file

@ -0,0 +1,121 @@
<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 &lt;omega@cse.ogi.edu&gt;, Wim Taymans &lt;wim@fluendo.com&gt;</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&apos;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>