mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-27 02:30:35 +00:00
Heavily refactor the sitemap
This commit is contained in:
parent
2d46903eb7
commit
4e000e6701
85 changed files with 227 additions and 276 deletions
|
@ -177,7 +177,7 @@ then be placed under control of a parent. The floating ref keeps the object
|
|||
alive until it is parented, and once the object is parented you can forget
|
||||
about it.
|
||||
|
||||
also see [relations](design/relations.md)
|
||||
also see [relations](additional/design/relations.md)
|
||||
|
||||
### parent-child relations
|
||||
|
||||
|
@ -202,7 +202,7 @@ The responsibilities for an object that sinks other objects are summarised as:
|
|||
object.
|
||||
- remove the object from the list.
|
||||
|
||||
also see [relations](design/relations.md)
|
||||
also see [relations](additional/design/relations.md)
|
||||
|
||||
### Properties
|
||||
|
|
@ -31,7 +31,7 @@ code-wise.
|
|||
|
||||
## IMPLEMENTATION
|
||||
|
||||
- implement more QOS, [qos](design/qos.md).
|
||||
- implement more QOS, [qos](additional/design/qos.md).
|
||||
|
||||
- implement BUFFERSIZE.
|
||||
|
|
@ -16,7 +16,7 @@ downstream element and contains memory and metadata information.
|
|||
## Lifecycle
|
||||
|
||||
`GstMemory` extends from `GstMiniObject` and therefore uses its lifecycle
|
||||
management (See [miniobject](design/miniobject.md)).
|
||||
management (See [miniobject](additional/design/miniobject.md)).
|
||||
|
||||
## Writability
|
||||
|
|
@ -11,7 +11,7 @@ description of the element.
|
|||
Caps are exposed on the element pads via `CAPS` and `ACCEPT_CAPS` queries.
|
||||
|
||||
This function describes the possible types that the pad can handle or
|
||||
produce ([negotiation](design/negotiation.md)).
|
||||
produce ([negotiation](additional/design/negotiation.md)).
|
||||
|
||||
Various methods exist to work with the media types such as subtracting
|
||||
or intersecting.
|
|
@ -29,7 +29,7 @@ pipeline to PAUSED and PLAYING again in order to let the pipeline select
|
|||
a new clock and distribute a new base time.
|
||||
|
||||
The clock selection is performed as part of the state change from PAUSED
|
||||
to PLAYING and is described in [states](design/states.md).
|
||||
to PLAYING and is described in [states](additional/design/states.md).
|
||||
|
||||
## Clock features
|
||||
|
|
@ -30,18 +30,18 @@ Let’s look at some example sources.
|
|||
limit to how fast you can read from this source. This limit is
|
||||
usually much higher than the consumption rate. In some cases it
|
||||
might be slower (an NFS share, for example) in which case you might
|
||||
need to use some buffering (see [buffering](design/buffering.md)).
|
||||
need to use some buffering (see [buffering](additional/design/buffering.md)).
|
||||
|
||||
- HTTP network element: you can PAUSE without data loss. Depending on
|
||||
the available network bandwidth, consumption rate might be higher
|
||||
than production rate in which case buffering should be used (see
|
||||
[buffering](design/buffering.md)).
|
||||
[buffering](additional/design/buffering.md)).
|
||||
|
||||
- audio source: pausing the audio capture will lead to lost data. this
|
||||
source is therefore definitely live. In addition, an audio source
|
||||
will produce data at a fixed rate (the samplerate). Also depending
|
||||
on the buffersize, this source will introduce a latency (see
|
||||
[latency](design/latency.md)).
|
||||
[latency](additional/design/latency.md)).
|
||||
|
||||
- udp network source: Pausing the receiving part will lead to lost
|
||||
data. This source is therefore a live source. Also in a typical case
|
|
@ -93,7 +93,7 @@ upstream elements.
|
|||
|
||||
A `FLUSH_START` may instruct the pipeline to distribute a new `base_time`
|
||||
to elements so that the `running_time` is reset to 0. (see
|
||||
[clocks](design/clocks.md) and [synchronisation](design/synchronisation.md)).
|
||||
[clocks](additional/design/clocks.md) and [synchronisation](additional/design/synchronisation.md)).
|
||||
|
||||
## EOS
|
||||
|
||||
|
@ -151,7 +151,7 @@ is free to refuse buffers if they were not preceded by a SEGMENT event.
|
|||
|
||||
Elements that sync to the clock should store the SEGMENT start and end
|
||||
values and subtract the start value from the buffer timestamp before
|
||||
comparing it against the stream time (see [clocks](design/clocks.md)).
|
||||
comparing it against the stream time (see [clocks](additional/design/clocks.md)).
|
||||
|
||||
An element is allowed to send out buffers with the SEGMENT start time
|
||||
already subtracted from the timestamp. If it does so, it needs to send a
|
||||
|
@ -190,7 +190,7 @@ such as demuxers.
|
|||
A QOS, or quality of service message, is generated in an element to
|
||||
report to the upstream elements about the current quality of real-time
|
||||
performance of the stream. This is typically done by the sinks that
|
||||
measure the amount of framedrops they have. (see [qos](design/qos.md))
|
||||
measure the amount of framedrops they have. (see [qos](additional/design/qos.md))
|
||||
|
||||
## SEEK
|
||||
|
||||
|
@ -247,7 +247,7 @@ The general flow of executing the seek with FLUSH is as follows:
|
|||
now from the new position.
|
||||
|
||||
More information about the different seek types can be found in
|
||||
[seeking](design/seeking.md).
|
||||
[seeking](additional/design/seeking.md).
|
||||
|
||||
## NAVIGATION
|
||||
|
||||
|
@ -262,7 +262,7 @@ It contains a single GstClockTime with the required latency. The latency
|
|||
value is calculated by the pipeline and distributed to all sink elements
|
||||
before they are set to PLAYING. The sinks will add the configured
|
||||
latency value to the timestamps of the buffer in order to delay their
|
||||
presentation. (See also [latency](design/latency.md)).
|
||||
presentation. (See also [latency](additional/design/latency.md)).
|
||||
|
||||
## DRAIN
|
||||
|
|
@ -12,7 +12,7 @@ to/from it. `gst_bin_add()` and `gst_bin_remove()` perform these
|
|||
operations respectively.
|
||||
|
||||
The bin maintains a parent-child relationship with its elements (see
|
||||
[relations](design/relations.md)).
|
||||
[relations](additional/design/relations.md)).
|
||||
|
||||
## Retrieving elements
|
||||
|
||||
|
@ -35,7 +35,7 @@ operations include:
|
|||
- clock get/set
|
||||
|
||||
The state change distribution is the most complex and is explained in
|
||||
[states](design/states.md).
|
||||
[states](additional/design/states.md).
|
||||
|
||||
## GstBus
|
||||
|
||||
|
@ -50,7 +50,7 @@ handled specially.
|
|||
|
||||
`ASYNC_START`/`ASYNC_STOP` messages received from the children are used to
|
||||
trigger a recalculation of the current state of the bin, as described in
|
||||
[states](design/states.md).
|
||||
[states](additional/design/states.md).
|
||||
|
||||
The application can retrieve the external `GstBus` and integrate it in the
|
||||
mainloop or it can just `pop()` messages off in its own thread.
|
|
@ -52,8 +52,8 @@ list of pads
|
|||
|
||||
## Ghost Pads
|
||||
|
||||
More info in [ghostpad](design/gstghostpad.md).
|
||||
More info in [ghostpad](additional/design/gstghostpad.md).
|
||||
|
||||
## State
|
||||
|
||||
An element has a state. More info in [state](design/states.md).
|
||||
An element has a state. More info in [state](additional/design/states.md).
|
|
@ -3,13 +3,13 @@
|
|||
A `GstPipeline` is usually a toplevel bin and provides all of its children
|
||||
with a clock.
|
||||
|
||||
A `GstPipeline` also provides a toplevel `GstBus` (see [gstbus](design/gstbus.md))
|
||||
A `GstPipeline` also provides a toplevel `GstBus` (see [gstbus](additional/design/gstbus.md))
|
||||
|
||||
The pipeline also calculates the `running_time` based on the selected
|
||||
clock (see also clocks.txt and [synchronisation](design/synchronisation.md)).
|
||||
clock (see also clocks.txt and [synchronisation](additional/design/synchronisation.md)).
|
||||
|
||||
The pipeline will calculate a global latency for the elements in the
|
||||
pipeline. (See also [latency](design/latency.md)).
|
||||
pipeline. (See also [latency](additional/design/latency.md)).
|
||||
|
||||
## State changes
|
||||
|
||||
|
@ -34,7 +34,7 @@ change:
|
|||
|
||||
The `running_time` represents the total elapsed time, measured in clock
|
||||
units, that the pipeline spent in the PLAYING state (see
|
||||
[synchronisation](design/synchronisation.md)). The `running_time` is set to 0 after a
|
||||
[synchronisation](additional/design/synchronisation.md)). The `running_time` is set to 0 after a
|
||||
flushing seek.
|
||||
|
||||
## Clock selection
|
||||
|
@ -76,4 +76,4 @@ auto- matic clock selection algorithm described above.
|
|||
A `GstPipeline` provides a `GstBus` to the application. The bus can be
|
||||
retrieved with `gst_pipeline_get_bus()` and can then be used to
|
||||
retrieve messages posted by the elements in the pipeline (see
|
||||
[gstbus](design/gstbus.md)).
|
||||
[gstbus](additional/design/gstbus.md)).
|
|
@ -41,7 +41,7 @@ buffer arrives at the sink, it will already be late and will be dropped.
|
|||
The latency is the time it takes to construct one buffer of data and it's
|
||||
exposed with a `LATENCY` query.
|
||||
|
||||
See [latency](design/latency.md)
|
||||
See [latency](additional/design/latency.md)
|
||||
|
||||
## Timestamps
|
||||
|
|
@ -18,7 +18,7 @@
|
|||
view. use the frame id to get access to the different views.
|
||||
|
||||
- **interlace-mode**, `G_TYPE_STRING`: Default progressive. The interlace
|
||||
mode (also see the [interlaced video design docs](design/interlaced-video.md)).
|
||||
mode (also see the [interlaced video design docs](additional/design/interlaced-video.md)).
|
||||
The following values are possible:
|
||||
|
||||
- *"progressive"*: all frames are progressive
|
|
@ -122,7 +122,7 @@ GstMemory * gst_memory_new_wrapped (GstMemoryFlags flags,
|
|||
## Lifecycle
|
||||
|
||||
`GstMemory` extends from `GstMiniObject` and therefore uses its lifecycle
|
||||
management (See [miniobject](design/miniobject.md)).
|
||||
management (See [miniobject](additional/design/miniobject.md)).
|
||||
|
||||
## Data Access
|
||||
|
||||
|
@ -131,7 +131,7 @@ call. This allows the implementation to monitor the access patterns or set up
|
|||
the required memory mappings when needed.
|
||||
|
||||
The access of the memory object is controlled with the locking mechanism on
|
||||
`GstMiniObject` (See [miniobject](design/miniobject.md)).
|
||||
`GstMiniObject` (See [miniobject](additional/design/miniobject.md)).
|
||||
|
||||
Mapping a memory region requires the caller to specify the access method: READ
|
||||
and/or WRITE. Mapping a memory region will first try to get a lock on the
|
|
@ -9,8 +9,8 @@ without requiring an API change while allowing a wide range of different
|
|||
types of messages.
|
||||
|
||||
Messages are posted by objects in the pipeline and are passed to the
|
||||
application using the `GstBus` (See also [gstbus](design/gstbus.md)
|
||||
and [gstpipeline](design/gstpipeline.md)).
|
||||
application using the `GstBus` (See also [gstbus](additional/design/gstbus.md)
|
||||
and [gstpipeline](additional/design/gstpipeline.md)).
|
||||
|
||||
## Message types
|
||||
|
|
@ -70,7 +70,7 @@ negotiation.
|
|||
|
||||
The basics of negotiation are as follows:
|
||||
|
||||
- `GstCaps` (see [caps](design/caps.md)) are refcounted before they are pushed as
|
||||
- `GstCaps` (see [caps](additional/design/caps.md)) are refcounted before they are pushed as
|
||||
an event to describe the contents of the following buffer.
|
||||
|
||||
- An element should reconfigure itself to the new format received as a
|
|
@ -121,7 +121,7 @@ to only complete the state change to `PAUSED` after receiving the first
|
|||
data.
|
||||
|
||||
Normally the state changes of elements are coordinated by the pipeline
|
||||
as explained in [states](design/states.md).
|
||||
as explained in [states](additional/design/states.md).
|
||||
|
||||
Different categories of elements exist:
|
||||
|
||||
|
@ -141,7 +141,7 @@ output streams.
|
|||
- *mixer/muxer elements*: combine several input streams into one output
|
||||
stream.
|
||||
|
||||
Other categories of elements can be constructed (see [klass](design/draft-klass.md)).
|
||||
Other categories of elements can be constructed (see [klass](additional/design/draft-klass.md)).
|
||||
|
||||
## Bins
|
||||
|
||||
|
@ -225,7 +225,7 @@ element can understand the buffer contents. It does this by querying the
|
|||
peer element for the supported formats and by selecting a suitable
|
||||
common format. The selected format is then first sent to the peer
|
||||
element with a CAPS event before pushing the buffer (see
|
||||
[negotiation](design/negotiation.md)).
|
||||
[negotiation](additional/design/negotiation.md)).
|
||||
|
||||
When an element pad receives a CAPS event, it has to check if it
|
||||
understand the media type. The element must refuse following buffers if
|
||||
|
@ -397,7 +397,7 @@ Before going to `PLAYING`, the pipeline select a clock and samples the
|
|||
current time of the clock. This is the `base_time`. It then distributes
|
||||
this time to all elements. Elements can then synchronize against the
|
||||
clock using the buffer `running_time`
|
||||
`base_time` (See also [synchronisation](design/synchronisation.md)).
|
||||
`base_time` (See also [synchronisation](additional/design/synchronisation.md)).
|
||||
|
||||
The following chain of state changes then takes place:
|
||||
|
|
@ -16,7 +16,7 @@ be signalled.
|
|||
|
||||
Several things can happen that require the preroll cond to be signalled.
|
||||
These include state changes or flush events. The prerolling is
|
||||
implemented in sinks (see [Sink elements](design/element-sink.md)).
|
||||
implemented in sinks (see [Sink elements](additional/design/element-sink.md)).
|
||||
|
||||
## Committing the state
|
||||
|
|
@ -40,7 +40,7 @@ not supported.
|
|||
|
||||
**`GST_QUERY_DURATION`**: get info on the total duration of the stream.
|
||||
|
||||
**`GST_QUERY_LATENCY`**: get amount of latency introduced in the pipeline. (See [latency](design/latency.md))
|
||||
**`GST_QUERY_LATENCY`**: get amount of latency introduced in the pipeline. (See [latency](additional/design/latency.md))
|
||||
|
||||
**`GST_QUERY_RATE`**: get the current playback rate of the pipeline
|
||||
|
||||
|
@ -56,16 +56,16 @@ not supported.
|
|||
|
||||
**`GST_QUERY_FORMATS`**: return list of supported formats that can be used for `GST_QUERY_CONVERT`.
|
||||
|
||||
**`GST_QUERY_BUFFERING`**: query available media for efficient seeking (See [buffering](design/buffering.md))
|
||||
**`GST_QUERY_BUFFERING`**: query available media for efficient seeking (See [buffering](additional/design/buffering.md))
|
||||
|
||||
**`GST_QUERY_CUSTOM`**: a custom query, the name of the query defines the properties of the query.
|
||||
|
||||
**`GST_QUERY_URI`**: query the uri of the source or sink element
|
||||
|
||||
**`GST_QUERY_ALLOCATION`**: the buffer allocation properties (See [bufferpool](design/bufferpool.md))
|
||||
**`GST_QUERY_ALLOCATION`**: the buffer allocation properties (See [bufferpool](additional/design/bufferpool.md))
|
||||
|
||||
**`GST_QUERY_SCHEDULING`**: the scheduling properties (See [scheduling](design/scheduling.md))
|
||||
**`GST_QUERY_SCHEDULING`**: the scheduling properties (See [scheduling](additional/design/scheduling.md))
|
||||
|
||||
**`GST_QUERY_ACCEPT_CAPS`**: check if caps are supported (See [negotiation](design/negotiation.md))
|
||||
**`GST_QUERY_ACCEPT_CAPS`**: check if caps are supported (See [negotiation](additional/design/negotiation.md))
|
||||
|
||||
**`GST_QUERY_CAPS`**: get the possible caps (See [negotiation](design/negotiation.md))
|
||||
**`GST_QUERY_CAPS`**: get the possible caps (See [negotiation](additional/design/negotiation.md))
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
These design docs detail some of the lower-level mechanism of certain parts
|
||||
of GStreamer's RTP stack. For a higher-level overview see the [RTP and RTSP
|
||||
support](rtp.md) section.
|
||||
support](additional/rtp.md) section.
|
||||
|
||||
# RTP auxiliary stream design
|
||||
|
|
@ -81,7 +81,7 @@ Videosink reports its current position as (simplified):
|
|||
current_position = clock_time - element->base_time + segment_time
|
||||
```
|
||||
|
||||
See [synchronisation](design/synchronisation.md) for a more detailed and
|
||||
See [synchronisation](additional/design/synchronisation.md) for a more detailed and
|
||||
accurate explanation of synchronisation and position reporting.
|
||||
|
||||
Since after a flushing seek the `stream_time` is reset to 0, the new buffer
|
|
@ -41,7 +41,7 @@ more buffers are to be processed after the EOS event.
|
|||
with a timestamp of `S.start`.
|
||||
- marks playback rate (rate). This is the required playback rate.
|
||||
- marks applied rate (`applied_rate`). This is the already applied playback
|
||||
rate. (See also [trickmodes](design/trickmodes.md))
|
||||
rate. (See also [trickmodes](additional/design/trickmodes.md))
|
||||
- marks `running_time` of buffers. This is the time used to synchronize
|
||||
against the clock.
|
||||
|
||||
|
@ -60,7 +60,7 @@ more buffers are to be processed after the EOS event.
|
|||
|
||||
- a monotonically increasing value that can be used to synchronize
|
||||
against the clock (See also
|
||||
[synchronisation](design/synchronisation.md)).
|
||||
[synchronisation](additional/design/synchronisation.md)).
|
||||
|
||||
- `stream_time`:
|
||||
* current position in stream between 0 and duration.
|
|
@ -36,7 +36,7 @@ Different sources exist for this counter:
|
|||
In GStreamer any element can provide a `GstClock` object that can be used
|
||||
in the pipeline. The `GstPipeline` object will select a clock from all the
|
||||
providers and will distribute it to all other elements (see
|
||||
[gstpipeline](design/gstpipeline.md)).
|
||||
[gstpipeline](additional/design/gstpipeline.md)).
|
||||
|
||||
While it is possible, it is not recommended to create a clock derived
|
||||
from the contents of a stream (for example, create a clock from the PCR
|
||||
|
@ -60,7 +60,7 @@ time spent in the PLAYING state and is calculated as follows:
|
|||
is set to `PLAYING`.
|
||||
|
||||
- after a flushing seek, the `running_time` is set to 0 (see
|
||||
[seeking](design/seeking.md)). This is accomplished by redistributing a new
|
||||
[seeking](additional/design/seeking.md)). This is accomplished by redistributing a new
|
||||
base\_time to the elements that got flushed.
|
||||
|
||||
This algorithm captures the `running_time` when the pipeline is set from
|
||||
|
@ -83,7 +83,7 @@ clock. This value is monotonically increasing at the rate of the clock.
|
|||
## Timestamps
|
||||
|
||||
The `GstBuffer` timestamps and the preceding SEGMENT event (See
|
||||
[streams](design/streams.md)) define a transformation of the buffer timestamps
|
||||
[streams](additional/design/streams.md)) define a transformation of the buffer timestamps
|
||||
to `running_time` as follows:
|
||||
|
||||
The following notation is used:
|
||||
|
@ -105,7 +105,7 @@ The following notation is used:
|
|||
Valid buffers for synchronisation are those with B.timestamp between
|
||||
`S.start` and `S.stop` (after applying the `S.offset`). All other buffers
|
||||
outside this range should be dropped or clipped to these boundaries (see
|
||||
also [segments](design/segments.md)).
|
||||
also [segments](additional/design/segments.md)).
|
||||
|
||||
The following transformation to `running_time` exist:
|
||||
|
||||
|
@ -187,7 +187,7 @@ is noted with `B.sync_time`. Thus:
|
|||
```
|
||||
|
||||
One then waits for the clock to reach `B.sync_time` before rendering the
|
||||
buffer in the sink (See also [clocks](design/clocks.md)).
|
||||
buffer in the sink (See also [clocks](additional/design/clocks.md)).
|
||||
|
||||
For multiple streams this means that buffers with the same `running_time`
|
||||
are to be displayed at the same time.
|
|
@ -86,7 +86,7 @@ is `GST_FORMAT_TIME`.
|
|||
|
||||
One element will actually perform the seek, this is usually the demuxer
|
||||
or source element. For more information on how to perform the different
|
||||
seek types see [seeking](design/seeking.md).
|
||||
seek types see [seeking](additional/design/seeking.md).
|
||||
|
||||
For client side trickmode a `SEGMENT` event will be sent downstream with
|
||||
the new rate and start/stop positions. All elements prepare themselves
|
3
markdown/additional/index.md
Normal file
3
markdown/additional/index.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
# Additional documentation
|
||||
|
||||
This section references miscellaneous documents, such as design considerations.
|
30
markdown/additional/videos.md
Normal file
30
markdown/additional/videos.md
Normal file
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
short-description: Collection of GStreamer-related multimedia content
|
||||
...
|
||||
|
||||
# Videos
|
||||
|
||||
## GStreamer Conference Videos and Slides
|
||||
|
||||
* [GStreamer Conference 2016: Videos and Slides] [(PDF slides)]
|
||||
* [GStreamer Conference 2015: Videos and Slides] [(PDF slides)][1]
|
||||
* [GStreamer Conference 2014: Videos and Slides] [(PDF slides)][2]
|
||||
* [GStreamer Conference 2013: Videos and Slides] [(PDF slides)][3]
|
||||
* [GStreamer Conference 2012: Videos and Slides] [(PDF slides)][4]
|
||||
* [GStreamer Conference 2011: Videos and Slides] [(PDF slides)][5]
|
||||
* [GStreamer Conference 2010: Videos and Slides] [(PDF slides)][6]
|
||||
|
||||
[GStreamer Conference 2016: Videos and Slides]: http://gstconf.ubicast.tv/channels/#gstreamer-conference-2016
|
||||
[GStreamer Conference 2015: Videos and Slides]: http://gstconf.ubicast.tv/channels/#gstreamer-conference-2015
|
||||
[GStreamer Conference 2014: Videos and Slides]: http://gstconf.ubicast.tv/channels/#gstreamer-conference-2014
|
||||
[GStreamer Conference 2013: Videos and Slides]: http://gstconf.ubicast.tv/channels/#gstreamer-conference-2013
|
||||
[GStreamer Conference 2012: Videos and Slides]: http://gstconf.ubicast.tv/channels/#gstreamer-conference-2012
|
||||
[GStreamer Conference 2011: Videos and Slides]: http://gstconf.ubicast.tv/channels/#conferences-2011
|
||||
[GStreamer Conference 2010: Videos and Slides]: http://gstconf.ubicast.tv/channels/#conferences-2010
|
||||
[(PDF slides)]: https://gstreamer.freedesktop.org/data/events/gstreamer-conference/2016/
|
||||
[1]: https://gstreamer.freedesktop.org/data/events/gstreamer-conference/2015/
|
||||
[2]: https://gstreamer.freedesktop.org/data/events/gstreamer-conference/2014/
|
||||
[3]: https://gstreamer.freedesktop.org/data/events/gstreamer-conference/2013/
|
||||
[4]: https://gstreamer.freedesktop.org/data/events/gstreamer-conference/2012/
|
||||
[5]: https://gstreamer.freedesktop.org/data/events/gstreamer-conference/2011/
|
||||
[6]: https://gstreamer.freedesktop.org/data/events/gstreamer-conference/2010/
|
|
@ -1 +0,0 @@
|
|||
# API reference
|
|
@ -2,7 +2,7 @@
|
|||
short-description: Contributing to GStreamer
|
||||
...
|
||||
|
||||
# How to Contribute to GStreamer
|
||||
# Contributing to GStreamer
|
||||
|
||||
This document provides instructions and guidelines for submitting issues,
|
||||
feature requests and patches to GStreamer. The following applies to all
|
||||
|
|
|
@ -1,86 +0,0 @@
|
|||
---
|
||||
short-description: Tutorials and Manuals
|
||||
render-subpages: false
|
||||
...
|
||||
|
||||
# Documentation and Tutorials
|
||||
|
||||
Feel free to jump straight to the download section, start practicing
|
||||
with the tutorials, or read the F.A.Q. if you don’t know what this is
|
||||
all about.
|
||||
|
||||
## General
|
||||
|
||||
* [Application Development Manual (Read this first)](application-development/index.md)
|
||||
* [Frequently Asked Questions](frequently-asked-questions/index.md)
|
||||
* [Plugin Writer's Guide](plugin-development/index.md)
|
||||
* <a href="/data/doc/gstreamer/head/gstreamer/html/">Core Reference</a>
|
||||
* <a href="/data/doc/gstreamer/head/gstreamer-libs/html/">Core Libraries Reference</a>
|
||||
* [Core Design Documentation](design/index.md)
|
||||
* [GStreamer 0.10 to 1.0 porting guide](https://gitlab.freedesktop.org/gstreamer/gstreamer/raw/master/docs/random/porting-to-1.0.txt)
|
||||
|
||||
<!-- FIXME: save useful bits from wiki
|
||||
| GStreamer Wiki (see esp. <a href="&site;/wiki/ReleasePlanning">ReleasePlanning</a> and <a href="&site;/wiki/SubmittingPatches">SubmittingPatches</a>)
|
||||
| <a href="&site;/wiki/">HTML</a> |
|
||||
-->
|
||||
|
||||
|
||||
## GStreamer APIs References
|
||||
|
||||
* [GStreamer Core library](gstreamer)
|
||||
* [GStreamer Libraries Reference](libs.md)
|
||||
* [GStreamer Plugins Reference](gst-index)
|
||||
|
||||
> ![Warning](images/icons/emoticons/warning.svg) Only the API in libraries from
|
||||
> GStreamer core and gst-plugins-base are guaranteed to be API and ABI stable
|
||||
|
||||
|
||||
## Other modules
|
||||
|
||||
* [GStreamer Editing Services Reference](gst-editing-services)
|
||||
* [GStreamer RTSP Server Reference](gst-rtsp-server)
|
||||
* [GStreamer VAAPI Reference](vaapi)
|
||||
* [GStreamer Validate](gst-devtools)
|
||||
* <a href="/data/doc/orc/">Orc - Optimized inner loop Runtime Compiler</a>
|
||||
|
||||
## GStreamer Conference Videos and Slides
|
||||
|
||||
* [GStreamer Conference 2016: Videos and Slides] [(PDF slides)]
|
||||
* [GStreamer Conference 2015: Videos and Slides] [(PDF slides)][1]
|
||||
* [GStreamer Conference 2014: Videos and Slides] [(PDF slides)][2]
|
||||
* [GStreamer Conference 2013: Videos and Slides] [(PDF slides)][3]
|
||||
* [GStreamer Conference 2012: Videos and Slides] [(PDF slides)][4]
|
||||
* [GStreamer Conference 2011: Videos and Slides] [(PDF slides)][5]
|
||||
* [GStreamer Conference 2010: Videos and Slides] [(PDF slides)][6]
|
||||
|
||||
[GStreamer Conference 2016: Videos and Slides]: http://gstconf.ubicast.tv/channels/#gstreamer-conference-2016
|
||||
[GStreamer Conference 2015: Videos and Slides]: http://gstconf.ubicast.tv/channels/#gstreamer-conference-2015
|
||||
[GStreamer Conference 2014: Videos and Slides]: http://gstconf.ubicast.tv/channels/#gstreamer-conference-2014
|
||||
[GStreamer Conference 2013: Videos and Slides]: http://gstconf.ubicast.tv/channels/#gstreamer-conference-2013
|
||||
[GStreamer Conference 2012: Videos and Slides]: http://gstconf.ubicast.tv/channels/#gstreamer-conference-2012
|
||||
[GStreamer Conference 2011: Videos and Slides]: http://gstconf.ubicast.tv/channels/#conferences-2011
|
||||
[GStreamer Conference 2010: Videos and Slides]: http://gstconf.ubicast.tv/channels/#conferences-2010
|
||||
[(PDF slides)]: https://gstreamer.freedesktop.org/data/events/gstreamer-conference/2016/
|
||||
[1]: https://gstreamer.freedesktop.org/data/events/gstreamer-conference/2015/
|
||||
[2]: https://gstreamer.freedesktop.org/data/events/gstreamer-conference/2014/
|
||||
[3]: https://gstreamer.freedesktop.org/data/events/gstreamer-conference/2013/
|
||||
[4]: https://gstreamer.freedesktop.org/data/events/gstreamer-conference/2012/
|
||||
[5]: https://gstreamer.freedesktop.org/data/events/gstreamer-conference/2011/
|
||||
[6]: https://gstreamer.freedesktop.org/data/events/gstreamer-conference/2010/
|
||||
|
||||
|
||||
## GStreamer licensing advisory
|
||||
|
||||
The GStreamer community provides the following licensing advisory for
|
||||
developers planing on or already using GStreamer for their applications:
|
||||
|
||||
* [GStreamer Licensing Advisory](licensing.md)
|
||||
|
||||
|
||||
## GStreamer plugin module split-up
|
||||
|
||||
[An explanation of the various plugin modules and how they were split up](splitup.md)
|
||||
|
||||
## RTP and RTSP support in GStreamer
|
||||
|
||||
* [RTSP and RTP component overview](rtp.md)
|
|
@ -21,7 +21,7 @@ cost of greater complexity, writing new applications is not always easy.
|
|||
|
||||
<div class="row toned-row">
|
||||
<div class="col-lg-2 col-lg-offset-2 col-xs-6 col-md-3">
|
||||
<a class="icon" id="apiref" href="api.html" data-hotdoc-relative-link=true>API Reference</a>
|
||||
<a class="icon" id="apiref" href="libs.html" data-hotdoc-relative-link=true>API Reference</a>
|
||||
</div>
|
||||
<div class="col-lg-2 col-xs-6 col-md-3">
|
||||
<a class="icon" id="hig" href="application-development/index.html" data-hotdoc-relative-link=true>
|
||||
|
|
|
@ -2,4 +2,4 @@
|
|||
short-description: All the GStreamer libraries from the various components
|
||||
...
|
||||
|
||||
# GStreamer libraries
|
||||
# API reference
|
||||
|
|
|
@ -179,7 +179,7 @@ parameters:
|
|||
|
||||
- A long, English, name for the element.
|
||||
|
||||
- The type of the element, see the docs/design/draft-klass.txt
|
||||
- The type of the element, see the docs/additional/design/draft-klass.txt
|
||||
document in the GStreamer core source tree for details and examples.
|
||||
|
||||
- A brief description of the purpose of the element.
|
||||
|
|
|
@ -2,4 +2,4 @@
|
|||
short-description: All the GStreamer plugins from its various components
|
||||
...
|
||||
|
||||
# GStreamer plugins
|
||||
# Plugins
|
||||
|
|
|
@ -6,21 +6,25 @@ import sys
|
|||
if __name__ == "__main__":
|
||||
in_, out, index_md = sys.argv[1], sys.argv[2], sys.argv[3]
|
||||
with open(in_) as f:
|
||||
|
||||
index = f.read()
|
||||
index = '\n'.join(l for l in index.splitlines())
|
||||
|
||||
if sys.argv[4]:
|
||||
index = '\n'.join('\t' + l for l in index.splitlines())
|
||||
libs, plugins = sys.argv[4].split(os.pathsep), sorted(
|
||||
sys.argv[5].split(os.pathsep), key=lambda x: os.path.basename(x))
|
||||
index += '\n api.md\n libs.md'
|
||||
index += '\n\tlibs.md'
|
||||
for lib in libs:
|
||||
if not lib:
|
||||
continue
|
||||
index += "\n " + lib + '.json'
|
||||
index += '\n gst-index'
|
||||
index += "\n\t\t" + lib + '.json'
|
||||
index += '\n\tgst-index'
|
||||
for plugin in plugins:
|
||||
if not plugin:
|
||||
continue
|
||||
index += "\n " + plugin + '.json'
|
||||
index = '%s\n%s' % (index_md, index)
|
||||
index += "\n\t\t" + plugin + '.json'
|
||||
|
||||
index = '%s\n%s' % (index_md, index)
|
||||
|
||||
with open(out, 'w') as fw:
|
||||
fw.write(index)
|
||||
|
|
253
sitemap.txt
253
sitemap.txt
|
@ -1,4 +1,3 @@
|
|||
doc_index.md
|
||||
installing/index.md
|
||||
installing/for-android-development.md
|
||||
installing/for-ios-development.md
|
||||
|
@ -6,50 +5,6 @@ doc_index.md
|
|||
installing/on-windows.md
|
||||
installing/on-linux.md
|
||||
installing/building-from-source-using-cerbero.md
|
||||
frequently-asked-questions/index.md
|
||||
frequently-asked-questions/general.md
|
||||
frequently-asked-questions/dependencies.md
|
||||
frequently-asked-questions/getting.md
|
||||
frequently-asked-questions/using.md
|
||||
frequently-asked-questions/troubleshooting.md
|
||||
frequently-asked-questions/git.md
|
||||
frequently-asked-questions/developing.md
|
||||
frequently-asked-questions/legal.md
|
||||
contribute/index.md
|
||||
application-development/index.md
|
||||
application-development/introduction/index.md
|
||||
application-development/introduction/gstreamer.md
|
||||
application-development/introduction/motivation.md
|
||||
application-development/introduction/basics.md
|
||||
application-development/basics/index.md
|
||||
application-development/basics/init.md
|
||||
application-development/basics/elements.md
|
||||
application-development/basics/bins.md
|
||||
application-development/basics/bus.md
|
||||
application-development/basics/pads.md
|
||||
application-development/basics/data.md
|
||||
application-development/basics/helloworld.md
|
||||
application-development/advanced/index.md
|
||||
application-development/advanced/queryevents.md
|
||||
application-development/advanced/metadata.md
|
||||
application-development/advanced/interfaces.md
|
||||
application-development/advanced/clocks.md
|
||||
application-development/advanced/buffering.md
|
||||
application-development/advanced/dparams.md
|
||||
application-development/advanced/threads.md
|
||||
application-development/advanced/autoplugging.md
|
||||
application-development/advanced/pipeline-manipulation.md
|
||||
application-development/highlevel/index.md
|
||||
application-development/highlevel/playback-components.md
|
||||
application-development/appendix/index.md
|
||||
application-development/appendix/programs.md
|
||||
application-development/appendix/compiling.md
|
||||
application-development/appendix/checklist-element.md
|
||||
application-development/appendix/porting.md
|
||||
application-development/appendix/porting-1.0.md
|
||||
application-development/appendix/integration.md
|
||||
application-development/appendix/licensing.md
|
||||
application-development/appendix/quotes.md
|
||||
tutorials/index.md
|
||||
tutorials/basic/index.md
|
||||
tutorials/basic/hello-world.md
|
||||
|
@ -90,14 +45,40 @@ doc_index.md
|
|||
tutorials/ios/a-basic-media-player.md
|
||||
tutorials/ios/a-complete-media-player.md
|
||||
tutorials/table-of-concepts.md
|
||||
deploying/index.md
|
||||
deploying/mac-osx.md
|
||||
deploying/windows.md
|
||||
deploying/multiplatform-using-cerbero.md
|
||||
tools/index.md
|
||||
tools/gst-inspect.md
|
||||
tools/gst-launch.md
|
||||
tools/ges-launch.md
|
||||
application-development/index.md
|
||||
application-development/introduction/index.md
|
||||
application-development/introduction/gstreamer.md
|
||||
application-development/introduction/motivation.md
|
||||
application-development/introduction/basics.md
|
||||
application-development/basics/index.md
|
||||
application-development/basics/init.md
|
||||
application-development/basics/elements.md
|
||||
application-development/basics/bins.md
|
||||
application-development/basics/bus.md
|
||||
application-development/basics/pads.md
|
||||
application-development/basics/data.md
|
||||
application-development/basics/helloworld.md
|
||||
application-development/advanced/index.md
|
||||
application-development/advanced/queryevents.md
|
||||
application-development/advanced/metadata.md
|
||||
application-development/advanced/interfaces.md
|
||||
application-development/advanced/clocks.md
|
||||
application-development/advanced/buffering.md
|
||||
application-development/advanced/dparams.md
|
||||
application-development/advanced/threads.md
|
||||
application-development/advanced/autoplugging.md
|
||||
application-development/advanced/pipeline-manipulation.md
|
||||
application-development/highlevel/index.md
|
||||
application-development/highlevel/playback-components.md
|
||||
application-development/appendix/index.md
|
||||
application-development/appendix/programs.md
|
||||
application-development/appendix/compiling.md
|
||||
application-development/appendix/checklist-element.md
|
||||
application-development/appendix/porting.md
|
||||
application-development/appendix/porting-1.0.md
|
||||
application-development/appendix/integration.md
|
||||
application-development/appendix/licensing.md
|
||||
application-development/appendix/quotes.md
|
||||
plugin-development/index.md
|
||||
plugin-development/introduction/index.md
|
||||
plugin-development/introduction/preface.md
|
||||
|
@ -133,76 +114,96 @@ doc_index.md
|
|||
plugin-development/appendix/checklist-element.md
|
||||
plugin-development/appendix/porting.md
|
||||
plugin-development/appendix/licensing-advisory.md
|
||||
splitup.md
|
||||
licensing.md
|
||||
rtp.md
|
||||
design/index.md
|
||||
design/MT-refcounting.md
|
||||
design/TODO.md
|
||||
design/activation.md
|
||||
design/audiosinks.md
|
||||
design/buffer.md
|
||||
design/buffering.md
|
||||
design/bufferpool.md
|
||||
design/caps.md
|
||||
design/clocks.md
|
||||
design/context.md
|
||||
design/controller.md
|
||||
design/conventions.md
|
||||
design/decodebin.md
|
||||
design/dynamic.md
|
||||
design/element-sink.md
|
||||
design/element-source.md
|
||||
design/element-transform.md
|
||||
design/encoding.md
|
||||
design/events.md
|
||||
design/framestep.md
|
||||
design/gstbin.md
|
||||
design/gstbus.md
|
||||
design/gstelement.md
|
||||
design/gstghostpad.md
|
||||
design/gstobject.md
|
||||
design/gstpipeline.md
|
||||
design/draft-klass.md
|
||||
design/interlaced-video.md
|
||||
design/keyframe-force.md
|
||||
design/latency.md
|
||||
design/live-source.md
|
||||
design/mediatype-audio-raw.md
|
||||
design/mediatype-text-raw.md
|
||||
design/mediatype-video-raw.md
|
||||
design/memory.md
|
||||
design/messages.md
|
||||
design/meta.md
|
||||
design/draft-metadata.md
|
||||
design/miniobject.md
|
||||
design/missing-plugins.md
|
||||
design/negotiation.md
|
||||
design/orc-integration.md
|
||||
design/overview.md
|
||||
design/playbin.md
|
||||
design/preroll.md
|
||||
design/probes.md
|
||||
design/progress.md
|
||||
design/push-pull.md
|
||||
design/qos.md
|
||||
design/query.md
|
||||
design/relations.md
|
||||
design/rtp.md
|
||||
design/scheduling.md
|
||||
design/seeking.md
|
||||
design/segments.md
|
||||
design/seqnums.md
|
||||
design/sparsestreams.md
|
||||
design/standards.md
|
||||
design/states.md
|
||||
design/stereo-multiview-video.md
|
||||
design/stream-selection.md
|
||||
design/stream-status.md
|
||||
design/streams.md
|
||||
design/subtitle-overlays.md
|
||||
design/synchronisation.md
|
||||
design/draft-tagreading.md
|
||||
design/toc.md
|
||||
design/tracing.md
|
||||
design/trickmodes.md
|
||||
frequently-asked-questions/index.md
|
||||
frequently-asked-questions/general.md
|
||||
frequently-asked-questions/dependencies.md
|
||||
frequently-asked-questions/getting.md
|
||||
frequently-asked-questions/using.md
|
||||
frequently-asked-questions/troubleshooting.md
|
||||
frequently-asked-questions/git.md
|
||||
frequently-asked-questions/developing.md
|
||||
frequently-asked-questions/legal.md
|
||||
frequently-asked-questions/licensing.md
|
||||
deploying/index.md
|
||||
deploying/mac-osx.md
|
||||
deploying/windows.md
|
||||
deploying/multiplatform-using-cerbero.md
|
||||
contribute/index.md
|
||||
additional/index.md
|
||||
additional/splitup.md
|
||||
additional/design/index.md
|
||||
additional/design/MT-refcounting.md
|
||||
additional/design/TODO.md
|
||||
additional/design/activation.md
|
||||
additional/design/audiosinks.md
|
||||
additional/design/buffer.md
|
||||
additional/design/buffering.md
|
||||
additional/design/bufferpool.md
|
||||
additional/design/caps.md
|
||||
additional/design/clocks.md
|
||||
additional/design/context.md
|
||||
additional/design/controller.md
|
||||
additional/design/conventions.md
|
||||
additional/design/decodebin.md
|
||||
additional/design/dynamic.md
|
||||
additional/design/element-sink.md
|
||||
additional/design/element-source.md
|
||||
additional/design/element-transform.md
|
||||
additional/design/encoding.md
|
||||
additional/design/events.md
|
||||
additional/design/framestep.md
|
||||
additional/design/gstbin.md
|
||||
additional/design/gstbus.md
|
||||
additional/design/gstelement.md
|
||||
additional/design/gstghostpad.md
|
||||
additional/design/gstobject.md
|
||||
additional/design/gstpipeline.md
|
||||
additional/design/draft-klass.md
|
||||
additional/design/interlaced-video.md
|
||||
additional/design/keyframe-force.md
|
||||
additional/design/latency.md
|
||||
additional/design/live-source.md
|
||||
additional/design/mediatype-audio-raw.md
|
||||
additional/design/mediatype-text-raw.md
|
||||
additional/design/mediatype-video-raw.md
|
||||
additional/design/memory.md
|
||||
additional/design/messages.md
|
||||
additional/design/meta.md
|
||||
additional/design/draft-metadata.md
|
||||
additional/design/miniobject.md
|
||||
additional/design/missing-plugins.md
|
||||
additional/design/negotiation.md
|
||||
additional/design/orc-integration.md
|
||||
additional/design/overview.md
|
||||
additional/design/playbin.md
|
||||
additional/design/preroll.md
|
||||
additional/design/probes.md
|
||||
additional/design/progress.md
|
||||
additional/design/push-pull.md
|
||||
additional/design/qos.md
|
||||
additional/design/query.md
|
||||
additional/design/relations.md
|
||||
additional/design/rtp.md
|
||||
additional/design/scheduling.md
|
||||
additional/design/seeking.md
|
||||
additional/design/segments.md
|
||||
additional/design/seqnums.md
|
||||
additional/design/sparsestreams.md
|
||||
additional/design/standards.md
|
||||
additional/design/states.md
|
||||
additional/design/stereo-multiview-video.md
|
||||
additional/design/stream-selection.md
|
||||
additional/design/stream-status.md
|
||||
additional/design/streams.md
|
||||
additional/design/subtitle-overlays.md
|
||||
additional/design/synchronisation.md
|
||||
additional/design/draft-tagreading.md
|
||||
additional/design/toc.md
|
||||
additional/design/tracing.md
|
||||
additional/design/trickmodes.md
|
||||
additional/rtp.md
|
||||
additional/videos.md
|
||||
tools/index.md
|
||||
tools/gst-inspect.md
|
||||
tools/gst-launch.md
|
||||
tools/ges-launch.md
|
||||
|
|
Loading…
Reference in a new issue