mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-18 14:26:43 +00:00
docs/design/part-playbin2.txt: Add some leftover doc.
Original commit message from CVS: * docs/design/part-playbin2.txt: Add some leftover doc.
This commit is contained in:
parent
736b181916
commit
3cd156cad5
2 changed files with 74 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
|
||||||
|
|
||||||
|
* docs/design/part-playbin2.txt:
|
||||||
|
Add some leftover doc.
|
||||||
|
|
||||||
2008-05-21 Sebastian Dröge <slomo@circular-chaos.org>
|
2008-05-21 Sebastian Dröge <slomo@circular-chaos.org>
|
||||||
|
|
||||||
* gst/audioconvert/gstchannelmix.c: (gst_channel_mix_fill_others):
|
* gst/audioconvert/gstchannelmix.c: (gst_channel_mix_fill_others):
|
||||||
|
|
69
docs/design/part-playbin2.txt
Normal file
69
docs/design/part-playbin2.txt
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
playbin2
|
||||||
|
--------
|
||||||
|
|
||||||
|
The purpose of this element is to decode and render the media contained in a
|
||||||
|
given generic uri. The element extends GstPipeline and is typically used in
|
||||||
|
playback situations.
|
||||||
|
|
||||||
|
Required features:
|
||||||
|
|
||||||
|
- accept and play any valid uri. This includes
|
||||||
|
- rendering video/audio
|
||||||
|
- overlaying subtitles on the video
|
||||||
|
- optionally read external subtitle files
|
||||||
|
- allow for hardware (non raw) sinks
|
||||||
|
- selection of audio/video/subtitle streams based on language.
|
||||||
|
- perform network buffering/incremental download
|
||||||
|
- gapless playback
|
||||||
|
- support for visualisations with configurable sizes
|
||||||
|
- ability to reject files that are too big, or of a format that would require
|
||||||
|
too much CPU/memory usage.
|
||||||
|
- be very efficient with adding elements such as converters to reduce the
|
||||||
|
amount of negotiation that has to happen.
|
||||||
|
- handle chained oggs. This includes having support for dynamic pad add and
|
||||||
|
remove from a demuxer.
|
||||||
|
|
||||||
|
Components
|
||||||
|
----------
|
||||||
|
|
||||||
|
* decodebin2
|
||||||
|
|
||||||
|
- performs the autoplugging of demuxers/decoders
|
||||||
|
- emits signals when for steering the autoplugging
|
||||||
|
- to decide if a non-raw media format is acceptable as output
|
||||||
|
- to sort the possible decoders for a non-raw format
|
||||||
|
- see also decodebin2 design doc
|
||||||
|
|
||||||
|
* uridecodebin
|
||||||
|
|
||||||
|
- combination of a source to handle the given uri, an optional queueing element
|
||||||
|
and one or more decodebin2 elements to decode the non-raw streams.
|
||||||
|
|
||||||
|
* playsink
|
||||||
|
|
||||||
|
- handles display of audio/video/text.
|
||||||
|
- has request audio/video/text input pad. There is only one sinkpad per type.
|
||||||
|
The requested pads define the configuration of the internal pipeline.
|
||||||
|
- allows for setting audio/video sinks or does automatic sink selection.
|
||||||
|
- allows for configuration of visualisation element.
|
||||||
|
- allows for enable/disable of visualisation, audio and video.
|
||||||
|
|
||||||
|
* playbin2
|
||||||
|
|
||||||
|
- combination of one or more uridecodebin elements to read the uri and subtitle
|
||||||
|
uri.
|
||||||
|
- support for queuing new media to support gapless playback.
|
||||||
|
- handles stream selection.
|
||||||
|
- uses playsink to display.
|
||||||
|
- selection of sinks and configuration of uridecodebin with raw output formats.
|
||||||
|
|
||||||
|
|
||||||
|
Gapless playback
|
||||||
|
----------------
|
||||||
|
|
||||||
|
playbin2 has an "about-to-finish" signal. The application should configure a new
|
||||||
|
uri (and optional suburi) in the callback. When the current media finishes, this
|
||||||
|
new media will be played next.
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue