downloadbuffer: update docs

This commit is contained in:
Wim Taymans 2014-05-08 14:51:12 +02:00
parent b0ae6166f1
commit 451d0e3b0d
8 changed files with 146 additions and 6 deletions

View file

@ -840,6 +840,22 @@ gst_queue_array_drop_element
gst_queue_array_find
</SECTION>
<SECTION>
<FILE>gstsparsefile</FILE>
<TITLE>GstSparseFile</TITLE>
<INCLUDE>gst/base/gstsparsefile.h</INCLUDE>
GstSparseFile
gst_sparse_file_new
gst_sparse_file_free
gst_sparse_file_set_fd
gst_sparse_file_clear
gst_sparse_file_write
gst_sparse_file_read
gst_sparse_file_n_ranges
gst_sparse_file_get_range_before
gst_sparse_file_get_range_after
</SECTION>
# net
<SECTION>

View file

@ -55,6 +55,7 @@ IGNORE_CFILES =
EXTRA_HFILES = \
$(top_srcdir)/plugins/elements/gstcapsfilter.h \
$(top_srcdir)/plugins/elements/gstdownloadbuffer.h \
$(top_srcdir)/plugins/elements/gstfakesrc.h \
$(top_srcdir)/plugins/elements/gstfakesink.h \
$(top_srcdir)/plugins/elements/gstfdsink.h \

View file

@ -18,6 +18,7 @@
<chapter>
<title>gstreamer Elements</title>
<xi:include href="xml/element-capsfilter.xml" />
<xi:include href="xml/element-downloadbuffer.xml" />
<xi:include href="xml/element-fakesrc.xml" />
<xi:include href="xml/element-fakesink.xml" />
<xi:include href="xml/element-fdsink.xml" />

View file

@ -125,6 +125,21 @@ GST_IS_CAPSFILTER_CLASS
gst_capsfilter_get_type
</SECTION>
<SECTION>
<FILE>element-downloadbuffer</FILE>
<TITLE>downloadbuffer</TITLE>
GstDownloadBuffer
<SUBSECTION Standard>
GstDownloadBufferSize
GstDownloadBufferClass
GST_DOWNLOAD_BUFFER_CAST
GST_DOWNLOAD_BUFFER
GST_DOWNLOAD_BUFFER_CLASS
GST_IS_DOWNLOAD_BUFFER
GST_IS_DOWNLOAD_BUFFER_CLASS
GST_TYPE_DOWNLOAD_BUFFER
</SECTION>
<SECTION>
<FILE>element-identity</FILE>
<TITLE>identity</TITLE>

View file

@ -998,3 +998,73 @@
<DEFAULT></DEFAULT>
</ARG>
<ARG>
<NAME>GstDownloadBuffer::high-percent</NAME>
<TYPE>gint</TYPE>
<RANGE>[0,100]</RANGE>
<FLAGS>rw</FLAGS>
<NICK>High percent</NICK>
<BLURB>High threshold for buffering to finish. Only used if use-buffering is True.</BLURB>
<DEFAULT>99</DEFAULT>
</ARG>
<ARG>
<NAME>GstDownloadBuffer::low-percent</NAME>
<TYPE>gint</TYPE>
<RANGE>[0,100]</RANGE>
<FLAGS>rw</FLAGS>
<NICK>Low percent</NICK>
<BLURB>Low threshold for buffering to start. Only used if use-buffering is True.</BLURB>
<DEFAULT>10</DEFAULT>
</ARG>
<ARG>
<NAME>GstDownloadBuffer::max-size-bytes</NAME>
<TYPE>guint</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Max. size (kB)</NICK>
<BLURB>Max. amount of data to buffer (bytes, 0=disable).</BLURB>
<DEFAULT>2097152</DEFAULT>
</ARG>
<ARG>
<NAME>GstDownloadBuffer::max-size-time</NAME>
<TYPE>guint64</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Max. size (ns)</NICK>
<BLURB>Max. amount of data to buffer (in ns, 0=disable).</BLURB>
<DEFAULT>2000000000</DEFAULT>
</ARG>
<ARG>
<NAME>GstDownloadBuffer::temp-location</NAME>
<TYPE>gchar*</TYPE>
<RANGE></RANGE>
<FLAGS>r</FLAGS>
<NICK>Temporary File Location</NICK>
<BLURB>Location to store temporary files in (Only read this property, use temp-template to configure the name template).</BLURB>
<DEFAULT>NULL</DEFAULT>
</ARG>
<ARG>
<NAME>GstDownloadBuffer::temp-remove</NAME>
<TYPE>gboolean</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Remove the Temporary File</NICK>
<BLURB>Remove the temp-location after use.</BLURB>
<DEFAULT>TRUE</DEFAULT>
</ARG>
<ARG>
<NAME>GstDownloadBuffer::temp-template</NAME>
<TYPE>gchar*</TYPE>
<RANGE></RANGE>
<FLAGS>rw</FLAGS>
<NICK>Temporary File Template</NICK>
<BLURB>File template to store temporary files in, should contain directory and XXXXXX. (NULL == disabled).</BLURB>
<DEFAULT>NULL</DEFAULT>
</ARG>

View file

@ -22,6 +22,7 @@ GObject
GstIdentity
GstBin
GstPipeline
GstDownloadBuffer
GstFunnel
GstInputSelector
GstMultiQueue

View file

@ -3,10 +3,10 @@
<description>GStreamer core elements</description>
<filename>../../plugins/elements/.libs/libgstcoreelements.so</filename>
<basename>libgstcoreelements.so</basename>
<version>1.3.1</version>
<version>1.3.1.1</version>
<license>LGPL</license>
<source>gstreamer</source>
<package>GStreamer source release</package>
<package>GStreamer git</package>
<origin>Unknown package origin</origin>
<elements>
<element>
@ -30,6 +30,27 @@
</caps>
</pads>
</element>
<element>
<name>downloadbuffer</name>
<longname>DownloadBuffer</longname>
<class>Generic</class>
<description>Download Buffer element</description>
<author>Wim Taymans &lt;wim.taymans@gmail.com&gt;</author>
<pads>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>ANY</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>ANY</details>
</caps>
</pads>
</element>
<element>
<name>fakesink</name>
<longname>Fake Sink</longname>

View file

@ -22,13 +22,28 @@
/**
* SECTION:element-downloadbuffer
*
* If you set temp-template to a value such as /tmp/gstreamer-XXXXXX, the element
* will allocate a random free filename and buffer data in the file.
* By using this, it will buffer the entire stream data on the file independently
* of the size limits, they will only be used for buffering statistics.
* The downloadbuffer element provides on-disk buffering and caching of, typically,
* a network file. temp-template should be set to a value such as
* /tmp/gstreamer-XXXXXX and the element will allocate a random free filename and
* buffer the data in the file.
*
* With max-size-bytes and max-size-time you can configure the buffering limits.
* The downloadbuffer element will try to read-ahead these amounts of data. When
* the amount of read-ahead data drops below low-percent of the configured max,
* the element will start emiting BUFFERING messages until high-percent of max is
* reached again.
*
* The downloadbuffer provides push and pull based scheduling on its source pad
* and will efficiently seek in the upstream element when needed.
*
* The temp-location property will be used to notify the application of the
* allocated filename.
*
* When the downloadbuffer has completely downloaded the media, it will
* post an application message named <classname>&quot;GstCacheDownloadComplete&quot;</classname>
* with the following information:
*
*
*/
#ifdef HAVE_CONFIG_H