docs: add playbin3, decodebin3, parsebin, urisourcebin to docs

Docs still need some fleshing out though.
This commit is contained in:
Tim-Philipp Müller 2016-07-22 12:52:12 +01:00
parent 6c84f4e743
commit f25eee6f4b
5 changed files with 237 additions and 25 deletions

View file

@ -30,6 +30,7 @@
<xi:include href="xml/element-cdparanoiasrc.xml" />
<xi:include href="xml/element-clockoverlay.xml" />
<xi:include href="xml/element-decodebin.xml" />
<xi:include href="xml/element-decodebin3.xml" />
<xi:include href="xml/element-encodebin.xml" />
<xi:include href="xml/element-giosink.xml" />
<xi:include href="xml/element-giosrc.xml" />
@ -46,7 +47,9 @@
<xi:include href="xml/element-ogmvideoparse.xml" />
<xi:include href="xml/element-opusdec.xml" />
<xi:include href="xml/element-opusenc.xml" />
<xi:include href="xml/element-parsebin.xml" />
<xi:include href="xml/element-playbin.xml" />
<xi:include href="xml/element-playbin3.xml" />
<xi:include href="xml/element-playsink.xml" />
<xi:include href="xml/element-socketsrc.xml" />
<xi:include href="xml/element-ssaparse.xml" />
@ -64,6 +67,7 @@
<xi:include href="xml/element-theoraparse.xml" />
<xi:include href="xml/element-timeoverlay.xml" />
<xi:include href="xml/element-uridecodebin.xml" />
<xi:include href="xml/element-urisourcebin.xml" />
<xi:include href="xml/element-videoconvert.xml" />
<xi:include href="xml/element-videorate.xml" />
<xi:include href="xml/element-videoscale.xml" />

View file

@ -210,6 +210,22 @@ GST_TYPE_DECODE_BIN
gst_decode_bin_get_type
</SECTION>
<SECTION>
<FILE>element-decodebin3</FILE>
<TITLE>decodebin3</TITLE>
GstDecodebin3
<SUBSECTION Standard>
GstDecodebin3Class
GST_DECODEBIN3
GST_DECODEBIN3_CAST
GST_IS_DECODEBIN3
GST_DECODEBIN3_CLASS
GST_IS_DECODEBIN3_CLASS
GST_TYPE_DECODEBIN3
<SUBSECTION Private>
gst_decodebin3_get_type
</SECTION>
<SECTION>
<FILE>element-encodebin</FILE>
<TITLE>encodebin</TITLE>
@ -471,6 +487,22 @@ GST_TYPE_OPUS_ENC
gst_opus_enc_get_type
</SECTION>
<SECTION>
<FILE>element-parsebin</FILE>
<TITLE>parsebin</TITLE>
GstParseBin
<SUBSECTION Standard>
GstParseBinClass
GST_PARSE_BIN
GST_PARSE_BIN_CAST
GST_IS_PARSE_BIN
GST_PARSE_BIN_CLASS
GST_IS_PARSE_BIN_CLASS
GST_TYPE_PARSE_BIN
<SUBSECTION Private>
gst_parse_bin_get_type
</SECTION>
<SECTION>
<FILE>element-playbin</FILE>
<TITLE>playbin</TITLE>
@ -487,6 +519,22 @@ GST_TYPE_PLAY_BIN
gst_play_bin_get_type
</SECTION>
<SECTION>
<FILE>element-playbin3</FILE>
<TITLE>playbin3</TITLE>
GstPlayBin3
<SUBSECTION Standard>
GstPlayBin3Class
GST_PLAY_BIN3
GST_PLAY_BIN3_CAST
GST_IS_PLAY_BIN3
GST_PLAY_BIN3_CLASS
GST_IS_PLAY_BIN3_CLASS
GST_TYPE_PLAY_BIN3
<SUBSECTION Private>
gst_play_bin3_get_type
</SECTION>
<SECTION>
<FILE>element-playsink</FILE>
<TITLE>playsink</TITLE>
@ -765,6 +813,22 @@ GST_TYPE_URI_DECODE_BIN
gst_uri_decode_bin_get_type
</SECTION>
<SECTION>
<FILE>element-urisourcebin</FILE>
<TITLE>urisourcebin</TITLE>
GstURISourceBin
<SUBSECTION Standard>
GstURISourceBinClass
GST_URI_SOURCE_BIN
GST_URI_SOURCE_BIN_CAST
GST_IS_URI_SOURCE_BIN
GST_URI_SOURCE_BIN_CLASS
GST_IS_URI_SOURCE_BIN_CLASS
GST_TYPE_URI_SOURCE_BIN
<SUBSECTION Private>
gst_uri_source_bin_get_type
</SECTION>
<SECTION>
<FILE>element-videoconvert</FILE>
<TITLE>videoconvert</TITLE>
@ -831,6 +895,134 @@ GST_TYPE_VIDEO_TEST_SRC
gst_video_test_src_get_type
</SECTION>
<SECTION>
<FILE>element-libvisual_bumpscope</FILE>
<TITLE>libvisual_bumpscope</TITLE>
GstVisualbumpscope
<SUBSECTION Standard>
GstVisualbumpscopeClass
GST_VISUALBUMPSCOPE
GST_VISUALBUMPSCOPE_CAST
GST_IS_VISUALBUMPSCOPE
GST_VISUALBUMPSCOPE_CLASS
GST_IS_VISUALBUMPSCOPE_CLASS
GST_TYPE_VISUALBUMPSCOPE
<SUBSECTION Private>
gst_visualbumpscope_get_type
</SECTION>
<SECTION>
<FILE>element-libvisual_corona</FILE>
<TITLE>libvisual_corona</TITLE>
GstVisualcorona
<SUBSECTION Standard>
GstVisualcoronaClass
GST_VISUALCORONA
GST_VISUALCORONA_CAST
GST_IS_VISUALCORONA
GST_VISUALCORONA_CLASS
GST_IS_VISUALCORONA_CLASS
GST_TYPE_VISUALCORONA
<SUBSECTION Private>
gst_visualcorona_get_type
</SECTION>
<SECTION>
<FILE>element-libvisual_infinite</FILE>
<TITLE>libvisual_infinite</TITLE>
GstVisualinfinite
<SUBSECTION Standard>
GstVisualinfiniteClass
GST_VISUALINFINITE
GST_VISUALINFINITE_CAST
GST_IS_VISUALINFINITE
GST_VISUALINFINITE_CLASS
GST_IS_VISUALINFINITE_CLASS
GST_TYPE_VISUALINFINITE
<SUBSECTION Private>
gst_visualinfinite_get_type
</SECTION>
<SECTION>
<FILE>element-libvisual_jakdaw</FILE>
<TITLE>libvisual_jakdaw</TITLE>
GstVisualjakdaw
<SUBSECTION Standard>
GstVisualjakdawClass
GST_VISUALJAKDAW
GST_VISUALJAKDAW_CAST
GST_IS_VISUALJAKDAW
GST_VISUALJAKDAW_CLASS
GST_IS_VISUALJAKDAW_CLASS
GST_TYPE_VISUALJAKDAW
<SUBSECTION Private>
gst_visualjakdaw_get_type
</SECTION>
<SECTION>
<FILE>element-libvisual_jess</FILE>
<TITLE>libvisual_jess</TITLE>
GstVisualjess
<SUBSECTION Standard>
GstVisualjessClass
GST_VISUALJESS
GST_VISUALJESS_CAST
GST_IS_VISUALJESS
GST_VISUALJESS_CLASS
GST_IS_VISUALJESS_CLASS
GST_TYPE_VISUALJESS
<SUBSECTION Private>
gst_visualjess_get_type
</SECTION>
<SECTION>
<FILE>element-libvisual_lv_analyzer</FILE>
<TITLE>libvisual_lv_analyzer</TITLE>
GstVisuallv_analyzer
<SUBSECTION Standard>
GstVisuallv_analyzerClass
GST_VISUALLV_ANALYZER
GST_VISUALLV_ANALYZER_CAST
GST_IS_VISUALLV_ANALYZER
GST_VISUALLV_ANALYZER_CLASS
GST_IS_VISUALLV_ANALYZER_CLASS
GST_TYPE_VISUALLV_ANALYZER
<SUBSECTION Private>
gst_visuallv_analyzer_get_type
</SECTION>
<SECTION>
<FILE>element-libvisual_lv_scope</FILE>
<TITLE>libvisual_lv_scope</TITLE>
GstVisuallv_scope
<SUBSECTION Standard>
GstVisuallv_scopeClass
GST_VISUALLV_SCOPE
GST_VISUALLV_SCOPE_CAST
GST_IS_VISUALLV_SCOPE
GST_VISUALLV_SCOPE_CLASS
GST_IS_VISUALLV_SCOPE_CLASS
GST_TYPE_VISUALLV_SCOPE
<SUBSECTION Private>
gst_visuallv_scope_get_type
</SECTION>
<SECTION>
<FILE>element-libvisual_oinksie</FILE>
<TITLE>libvisual_oinksie</TITLE>
GstVisualoinksie
<SUBSECTION Standard>
GstVisualoinksieClass
GST_VISUALOINKSIE
GST_VISUALOINKSIE_CAST
GST_IS_VISUALOINKSIE
GST_VISUALOINKSIE_CLASS
GST_IS_VISUALOINKSIE_CLASS
GST_TYPE_VISUALOINKSIE
<SUBSECTION Private>
gst_visualoinksie_get_type
</SECTION>
<SECTION>
<FILE>element-volume</FILE>
<TITLE>volume</TITLE>

View file

@ -370,6 +370,22 @@ GstAppSink *gstappsink
GstAppSink *gstappsink
</SIGNAL>
<SIGNAL>
<NAME>GstAppSink::try-pull-preroll</NAME>
<RETURNS>GstSample*</RETURNS>
<FLAGS>la</FLAGS>
GstAppSink *gstappsink
guint64 arg1
</SIGNAL>
<SIGNAL>
<NAME>GstAppSink::try-pull-sample</NAME>
<RETURNS>GstSample*</RETURNS>
<FLAGS>la</FLAGS>
GstAppSink *gstappsink
guint64 arg1
</SIGNAL>
<SIGNAL>
<NAME>GstMultiSocketSink::add</NAME>
<RETURNS>void</RETURNS>

View file

@ -26,7 +26,7 @@
*/
/**
* SECTION:element-ParseBin
* SECTION:element-parsebin
*
* #GstBin that auto-magically constructs a parsing pipeline
* using available parsers and demuxers via auto-plugging.

View file

@ -24,10 +24,10 @@
/**
* SECTION:element-playbin3
*
* Playbin provides a stand-alone everything-in-one abstraction for an
* Playbin3 provides a stand-alone everything-in-one abstraction for an
* audio and/or video player.
*
* Playbin can handle both audio and video files and features
* Playbin3 can handle both audio and video files and features
* <itemizedlist>
* <listitem>
* automatic file type recognition and based on that automatic
@ -60,12 +60,12 @@
* <refsect2>
* <title>Usage</title>
* <para>
* A playbin element can be created just like any other element using
* A playbi3n element can be created just like any other element using
* gst_element_factory_make(). The file/URI to play should be set via the #GstPlayBin3:uri
* property. This must be an absolute URI, relative file paths are not allowed.
* Example URIs are file:///home/joe/movie.avi or http://www.joedoe.com/foo.ogg
*
* Playbin is a #GstPipeline. It will notify the application of everything
* Playbin3 is a #GstPipeline. It will notify the application of everything
* that's happening (errors, end of stream, tags found, state changes, etc.)
* by posting messages on its #GstBus. The application needs to watch the
* bus.
@ -74,17 +74,17 @@
* gst_element_set_state(). Note that the state change will take place in
* the background in a separate thread, when the function returns playback
* is probably not happening yet and any errors might not have occured yet.
* Applications using playbin should ideally be written to deal with things
* Applications using playbin3 should ideally be written to deal with things
* completely asynchroneous.
*
* When playback has finished (an EOS message has been received on the bus)
* or an error has occured (an ERROR message has been received on the bus) or
* the user wants to play a different track, playbin should be set back to
* the user wants to play a different track, playbin3 should be set back to
* READY or NULL state, then the #GstPlayBin3:uri property should be set to the
* new location and then playbin be set to PLAYING state again.
* new location and then playbin3 be set to PLAYING state again.
*
* Seeking can be done using gst_element_seek_simple() or gst_element_seek()
* on the playbin element. Again, the seek will not be executed
* on the playbin3 element. Again, the seek will not be executed
* instantaneously, but will be done in a background thread. When the seek
* call returns the seek will most likely still be in process. An application
* may wait for the seek to finish (or fail) using gst_element_get_state() with
@ -101,7 +101,7 @@
* <title>Advanced Usage: specifying the audio and video sink</title>
* <para>
* By default, if no audio sink or video sink has been specified via the
* #GstPlayBin3:audio-sink or #GstPlayBin3:video-sink property, playbin will use the autoaudiosink
* #GstPlayBin3:audio-sink or #GstPlayBin3:video-sink property, playbin3 will use the autoaudiosink
* and autovideosink elements to find the first-best available output method.
* This should work in most cases, but is not always desirable. Often either
* the user or application might want to specify more explicitly what to use
@ -109,16 +109,16 @@
*
* If the application wants more control over how audio or video should be
* output, it may create the audio/video sink elements itself (for example
* using gst_element_factory_make()) and provide them to playbin using the
* using gst_element_factory_make()) and provide them to playbin3 using the
* #GstPlayBin3:audio-sink or #GstPlayBin3:video-sink property.
*
* GNOME-based applications, for example, will usually want to create
* gconfaudiosink and gconfvideosink elements and make playbin use those,
* gconfaudiosink and gconfvideosink elements and make playbin3 use those,
* so that output happens to whatever the user has configured in the GNOME
* Multimedia System Selector configuration dialog.
*
* The sink elements do not necessarily need to be ready-made sinks. It is
* possible to create container elements that look like a sink to playbin,
* possible to create container elements that look like a sink to playbin3,
* but in reality contain a number of custom elements linked together. This
* can be achieved by creating a #GstBin and putting elements in there and
* linking them, and then creating a sink #GstGhostPad for the bin and pointing
@ -144,11 +144,11 @@
* </refsect2>
* <refsect2>
* <title>Buffering</title>
* Playbin handles buffering automatically for the most part, but applications
* need to handle parts of the buffering process as well. Whenever playbin is
* Playbin3 handles buffering automatically for the most part, but applications
* need to handle parts of the buffering process as well. Whenever playbin3 is
* buffering, it will post BUFFERING messages on the bus with a percentage
* value that shows the progress of the buffering process. Applications need
* to set playbin to PLAYING or PAUSED state in response to these messages.
* to set playbin3 to PLAYING or PAUSED state in response to these messages.
* They may also want to convey the buffering progress to the user in some
* way. Here is how to extract the percentage information from the message:
* |[
@ -169,7 +169,7 @@
* </refsect2>
* <refsect2>
* <title>Embedding the video window in your application</title>
* By default, playbin (or rather the video sinks used) will create their own
* By default, playbin3 (or rather the video sinks used) will create their own
* window. Applications will usually want to force output to a window of their
* own, however. This can be done using the #GstVideoOverlay interface, which most
* video sinks implement. See the documentation there for more details.
@ -177,9 +177,9 @@
* <refsect2>
* <title>Specifying which CD/DVD device to use</title>
* The device to use for CDs/DVDs needs to be set on the source element
* playbin creates before it is opened. The most generic way of doing this
* is to connect to playbin's "source-setup" (or "notify::source") signal,
* which will be emitted by playbin when it has created the source element
* playbin3 creates before it is opened. The most generic way of doing this
* is to connect to playbin3's "source-setup" (or "notify::source") signal,
* which will be emitted by playbin3 when it has created the source element
* for a particular URI. In the signal callback you can check if the source
* element has a "device" property and set it appropriately. In some cases
* the device can also be set as part of the URI, but it depends on the
@ -200,18 +200,18 @@
* <refsect2>
* <title>Examples</title>
* |[
* gst-launch-1.0 -v playbin uri=file:///path/to/somefile.mp4
* gst-launch-1.0 -v playbin3 uri=file:///path/to/somefile.mp4
* ]| This will play back the given AVI video file, given that the video and
* audio decoders required to decode the content are installed. Since no
* special audio sink or video sink is supplied (via playbin's audio-sink or
* video-sink properties) playbin will try to find a suitable audio and
* special audio sink or video sink is supplied (via playbin3's audio-sink or
* video-sink properties) playbin3 will try to find a suitable audio and
* video sink automatically using the autoaudiosink and autovideosink elements.
* |[
* gst-launch-1.0 -v playbin uri=cdda://4
* gst-launch-1.0 -v playbin3 uri=cdda://4
* ]| This will play back track 4 on an audio CD in your disc drive (assuming
* the drive is detected automatically by the plugin).
* |[
* gst-launch-1.0 -v playbin uri=dvd://
* gst-launch-1.0 -v playbin3 uri=dvd://
* ]| This will play back the DVD in your disc drive (assuming
* the drive is detected automatically by the plugin).
* </refsect2>