manual: add something about uridecodebin

This commit is contained in:
Wim Taymans 2012-10-10 13:08:31 +02:00
parent a6b75fb322
commit 36c47c89eb
4 changed files with 55 additions and 9 deletions

View file

@ -10,7 +10,7 @@
by looking at all available elements in a system. This process is called
autoplugging, and &GStreamer; contains high-quality autopluggers. If
you're looking for an autoplugger, don't read any further and go to
<xref linkend="chapter-components"/>. This chapter will explain the
<xref linkend="chapter-playback-components"/>. This chapter will explain the
<emphasis>concept</emphasis> of autoplugging and typefinding. It will
explain what systems &GStreamer; includes to dynamically detect the
type of a media stream, and how to generate a pipeline of decoder
@ -235,8 +235,8 @@ main (gint argc,
<sect1 id="section-dynamic">
<title>Dynamically autoplugging a pipeline</title>
<para>
See <xref linkend="chapter-components"/> for using the high level
object that you can use to dynamically construct pipelines.
See <xref linkend="chapter-playback-components"/> for using the high
level object that you can use to dynamically construct pipelines.
</para>
</sect1>
</chapter>

View file

@ -1,5 +1,5 @@
<chapter id="chapter-components">
<title>Components</title>
<chapter id="chapter-playback-components">
<title>Playback Components</title>
<para>
&GStreamer; includes several higher-level components to simplify an
@ -366,11 +366,57 @@ main (gint argc,
command <command>gst-launch-1.0 filesrc location=file.ogg ! decodebin
! audioconvert ! audioresample ! autoaudiosink</command>.
</para>
</sect1>
<sect1 id="section-components-uridecodebin">
<title>URIDecodebin</title>
<para>
The uridecodebin element is very similar to decodebin, only that it
automatically plugs a source plugin based on the protocol of the URI
given.
</para>
<para>
Uridecodebin will also automatically insert buffering elements when
the uri is a slow network source. The buffering element will post
BUFFERING messages that the application needs to handle as explained
in <xref linkend="chapter-buffering"/>.
The following properties can be used to configure the buffering method:
</para>
<itemizedlist>
<listitem>
<para>
The buffer-size property allows you to configure a maximum size in
bytes for the buffer element.
</para>
</listitem>
<listitem>
<para>
The buffer-duration property allows you to configure a maximum size
in time for the buffer element. The time will be estimated based on
the bitrate of the network.
</para>
</listitem>
<listitem>
<para>
With the download property you can enable the download buffering
method as described in <xref linkend="section-buffering-download"/>.
Setting this option to TRUE will only enable download buffering
for selected formats such as quicktime, flash video, avi and
webm.
</para>
</listitem>
<listitem>
<para>
You can also enable buffering on the parsed/demuxed data with the
use-buffering property. This is interesting to enable buffering
on slower random access media such as a network file server.
</para>
</listitem>
</itemizedlist>
<para>
URIDecodebin can be easily tested on the commandline, e.g. by using the
command <command>gst-launch-1.0 uridecodebin uri=file:///file.ogg !
! audioconvert ! audioresample ! autoaudiosink</command>.
</para>
</sect1>
</chapter>

View file

@ -48,7 +48,7 @@
<!ENTITY DATAACCESS SYSTEM "advanced-dataaccess.xml">
<!-- Part 4: Higher-level interfaces -->
<!ENTITY COMPONENTS SYSTEM "highlevel-components.xml">
<!ENTITY PLAYBACK SYSTEM "highlevel-playback.xml">
<!-- Appendices -->
<!ENTITY PROGRAMS SYSTEM "appendix-programs.xml">
@ -201,7 +201,7 @@
</para>
</partintro>
&COMPONENTS;
&PLAYBACK;
</part>

View file

@ -110,7 +110,7 @@ dynformat.c: $(top_srcdir)/docs/manual/advanced-dataaccess.xml
effectswitch.c: $(top_srcdir)/docs/manual/advanced-dataaccess.xml
$(PERL_PATH) $(srcdir)/extract.pl $@ $<
playbin.c decodebin.c: $(top_srcdir)/docs/manual/highlevel-components.xml
playbin.c decodebin.c: $(top_srcdir)/docs/manual/highlevel-playback.xml
$(PERL_PATH) $(srcdir)/extract.pl $@ $<
testrtpool.c: $(top_srcdir)/docs/manual/advanced-threads.xml