diff --git a/markdown/design/MT-refcounting.md b/markdown/additional/design/MT-refcounting.md similarity index 99% rename from markdown/design/MT-refcounting.md rename to markdown/additional/design/MT-refcounting.md index be0eb7fa6b..62eb982f94 100644 --- a/markdown/design/MT-refcounting.md +++ b/markdown/additional/design/MT-refcounting.md @@ -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 diff --git a/markdown/design/TODO.md b/markdown/additional/design/TODO.md similarity index 98% rename from markdown/design/TODO.md rename to markdown/additional/design/TODO.md index 1fef7a3750..ba74d8acfe 100644 --- a/markdown/design/TODO.md +++ b/markdown/additional/design/TODO.md @@ -31,7 +31,7 @@ code-wise. ## IMPLEMENTATION - - implement more QOS, [qos](design/qos.md). + - implement more QOS, [qos](additional/design/qos.md). - implement BUFFERSIZE. diff --git a/markdown/design/activation.md b/markdown/additional/design/activation.md similarity index 100% rename from markdown/design/activation.md rename to markdown/additional/design/activation.md diff --git a/markdown/design/audiosinks.md b/markdown/additional/design/audiosinks.md similarity index 100% rename from markdown/design/audiosinks.md rename to markdown/additional/design/audiosinks.md diff --git a/markdown/design/buffer.md b/markdown/additional/design/buffer.md similarity index 98% rename from markdown/design/buffer.md rename to markdown/additional/design/buffer.md index dea8e4a55a..1d05d3f085 100644 --- a/markdown/design/buffer.md +++ b/markdown/additional/design/buffer.md @@ -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 diff --git a/markdown/design/buffering.md b/markdown/additional/design/buffering.md similarity index 100% rename from markdown/design/buffering.md rename to markdown/additional/design/buffering.md diff --git a/markdown/design/bufferpool.md b/markdown/additional/design/bufferpool.md similarity index 100% rename from markdown/design/bufferpool.md rename to markdown/additional/design/bufferpool.md diff --git a/markdown/design/caps.md b/markdown/additional/design/caps.md similarity index 99% rename from markdown/design/caps.md rename to markdown/additional/design/caps.md index df74d48af4..f920092cd2 100644 --- a/markdown/design/caps.md +++ b/markdown/additional/design/caps.md @@ -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. diff --git a/markdown/design/clocks.md b/markdown/additional/design/clocks.md similarity index 98% rename from markdown/design/clocks.md rename to markdown/additional/design/clocks.md index 2204ffbab3..8fea93f8b4 100644 --- a/markdown/design/clocks.md +++ b/markdown/additional/design/clocks.md @@ -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 diff --git a/markdown/design/context.md b/markdown/additional/design/context.md similarity index 100% rename from markdown/design/context.md rename to markdown/additional/design/context.md diff --git a/markdown/design/controller.md b/markdown/additional/design/controller.md similarity index 100% rename from markdown/design/controller.md rename to markdown/additional/design/controller.md diff --git a/markdown/design/conventions.md b/markdown/additional/design/conventions.md similarity index 100% rename from markdown/design/conventions.md rename to markdown/additional/design/conventions.md diff --git a/markdown/design/decodebin.md b/markdown/additional/design/decodebin.md similarity index 100% rename from markdown/design/decodebin.md rename to markdown/additional/design/decodebin.md diff --git a/markdown/design/draft-klass.md b/markdown/additional/design/draft-klass.md similarity index 100% rename from markdown/design/draft-klass.md rename to markdown/additional/design/draft-klass.md diff --git a/markdown/design/draft-metadata.md b/markdown/additional/design/draft-metadata.md similarity index 100% rename from markdown/design/draft-metadata.md rename to markdown/additional/design/draft-metadata.md diff --git a/markdown/design/draft-push-pull.md b/markdown/additional/design/draft-push-pull.md similarity index 100% rename from markdown/design/draft-push-pull.md rename to markdown/additional/design/draft-push-pull.md diff --git a/markdown/design/draft-tagreading.md b/markdown/additional/design/draft-tagreading.md similarity index 100% rename from markdown/design/draft-tagreading.md rename to markdown/additional/design/draft-tagreading.md diff --git a/markdown/design/dynamic.md b/markdown/additional/design/dynamic.md similarity index 100% rename from markdown/design/dynamic.md rename to markdown/additional/design/dynamic.md diff --git a/markdown/design/element-sink.md b/markdown/additional/design/element-sink.md similarity index 100% rename from markdown/design/element-sink.md rename to markdown/additional/design/element-sink.md diff --git a/markdown/design/element-source.md b/markdown/additional/design/element-source.md similarity index 96% rename from markdown/design/element-source.md rename to markdown/additional/design/element-source.md index be81f50c27..f83aef1f78 100644 --- a/markdown/design/element-source.md +++ b/markdown/additional/design/element-source.md @@ -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 diff --git a/markdown/design/element-transform.md b/markdown/additional/design/element-transform.md similarity index 100% rename from markdown/design/element-transform.md rename to markdown/additional/design/element-transform.md diff --git a/markdown/design/encoding.md b/markdown/additional/design/encoding.md similarity index 100% rename from markdown/design/encoding.md rename to markdown/additional/design/encoding.md diff --git a/markdown/design/events.md b/markdown/additional/design/events.md similarity index 96% rename from markdown/design/events.md rename to markdown/additional/design/events.md index bcb9a174bf..ead5b96204 100644 --- a/markdown/design/events.md +++ b/markdown/additional/design/events.md @@ -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 diff --git a/markdown/design/framestep.md b/markdown/additional/design/framestep.md similarity index 100% rename from markdown/design/framestep.md rename to markdown/additional/design/framestep.md diff --git a/markdown/design/gstbin.md b/markdown/additional/design/gstbin.md similarity index 96% rename from markdown/design/gstbin.md rename to markdown/additional/design/gstbin.md index 9481fc1ee0..dc8f30d24b 100644 --- a/markdown/design/gstbin.md +++ b/markdown/additional/design/gstbin.md @@ -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. diff --git a/markdown/design/gstbus.md b/markdown/additional/design/gstbus.md similarity index 100% rename from markdown/design/gstbus.md rename to markdown/additional/design/gstbus.md diff --git a/markdown/design/gstelement.md b/markdown/additional/design/gstelement.md similarity index 95% rename from markdown/design/gstelement.md rename to markdown/additional/design/gstelement.md index f0cb07a598..9b7c3cfcd5 100644 --- a/markdown/design/gstelement.md +++ b/markdown/additional/design/gstelement.md @@ -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). diff --git a/markdown/design/gstghostpad.md b/markdown/additional/design/gstghostpad.md similarity index 100% rename from markdown/design/gstghostpad.md rename to markdown/additional/design/gstghostpad.md diff --git a/markdown/design/gstobject.md b/markdown/additional/design/gstobject.md similarity index 100% rename from markdown/design/gstobject.md rename to markdown/additional/design/gstobject.md diff --git a/markdown/design/gstpipeline.md b/markdown/additional/design/gstpipeline.md similarity index 89% rename from markdown/design/gstpipeline.md rename to markdown/additional/design/gstpipeline.md index a742b92fb1..5f8e56ea03 100644 --- a/markdown/design/gstpipeline.md +++ b/markdown/additional/design/gstpipeline.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)). diff --git a/markdown/design/index.md b/markdown/additional/design/index.md similarity index 100% rename from markdown/design/index.md rename to markdown/additional/design/index.md diff --git a/markdown/design/interlaced-video.md b/markdown/additional/design/interlaced-video.md similarity index 100% rename from markdown/design/interlaced-video.md rename to markdown/additional/design/interlaced-video.md diff --git a/markdown/design/keyframe-force.md b/markdown/additional/design/keyframe-force.md similarity index 100% rename from markdown/design/keyframe-force.md rename to markdown/additional/design/keyframe-force.md diff --git a/markdown/design/latency.md b/markdown/additional/design/latency.md similarity index 100% rename from markdown/design/latency.md rename to markdown/additional/design/latency.md diff --git a/markdown/design/live-source.md b/markdown/additional/design/live-source.md similarity index 97% rename from markdown/design/live-source.md rename to markdown/additional/design/live-source.md index 5fadcc8508..a1068e36e1 100644 --- a/markdown/design/live-source.md +++ b/markdown/additional/design/live-source.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 diff --git a/markdown/design/mediatype-audio-raw.md b/markdown/additional/design/mediatype-audio-raw.md similarity index 100% rename from markdown/design/mediatype-audio-raw.md rename to markdown/additional/design/mediatype-audio-raw.md diff --git a/markdown/design/mediatype-text-raw.md b/markdown/additional/design/mediatype-text-raw.md similarity index 100% rename from markdown/design/mediatype-text-raw.md rename to markdown/additional/design/mediatype-text-raw.md diff --git a/markdown/design/mediatype-video-raw.md b/markdown/additional/design/mediatype-video-raw.md similarity index 99% rename from markdown/design/mediatype-video-raw.md rename to markdown/additional/design/mediatype-video-raw.md index 8c59bde2e8..da941dd786 100644 --- a/markdown/design/mediatype-video-raw.md +++ b/markdown/additional/design/mediatype-video-raw.md @@ -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 diff --git a/markdown/design/memory.md b/markdown/additional/design/memory.md similarity index 97% rename from markdown/design/memory.md rename to markdown/additional/design/memory.md index 84bdfa0ec0..a791cc03b9 100644 --- a/markdown/design/memory.md +++ b/markdown/additional/design/memory.md @@ -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 diff --git a/markdown/design/messages.md b/markdown/additional/design/messages.md similarity index 97% rename from markdown/design/messages.md rename to markdown/additional/design/messages.md index 6873d76f6a..b3baae8b18 100644 --- a/markdown/design/messages.md +++ b/markdown/additional/design/messages.md @@ -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 diff --git a/markdown/design/meta.md b/markdown/additional/design/meta.md similarity index 100% rename from markdown/design/meta.md rename to markdown/additional/design/meta.md diff --git a/markdown/design/miniobject.md b/markdown/additional/design/miniobject.md similarity index 100% rename from markdown/design/miniobject.md rename to markdown/additional/design/miniobject.md diff --git a/markdown/design/missing-plugins.md b/markdown/additional/design/missing-plugins.md similarity index 100% rename from markdown/design/missing-plugins.md rename to markdown/additional/design/missing-plugins.md diff --git a/markdown/design/negotiation.md b/markdown/additional/design/negotiation.md similarity index 99% rename from markdown/design/negotiation.md rename to markdown/additional/design/negotiation.md index 133fe27163..10a09813a7 100644 --- a/markdown/design/negotiation.md +++ b/markdown/additional/design/negotiation.md @@ -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 diff --git a/markdown/design/orc-integration.md b/markdown/additional/design/orc-integration.md similarity index 100% rename from markdown/design/orc-integration.md rename to markdown/additional/design/orc-integration.md diff --git a/markdown/design/overview.md b/markdown/additional/design/overview.md similarity index 98% rename from markdown/design/overview.md rename to markdown/additional/design/overview.md index 6e9ba7fc9c..cb7299ea6f 100644 --- a/markdown/design/overview.md +++ b/markdown/additional/design/overview.md @@ -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: diff --git a/markdown/design/playbin.md b/markdown/additional/design/playbin.md similarity index 100% rename from markdown/design/playbin.md rename to markdown/additional/design/playbin.md diff --git a/markdown/design/preroll.md b/markdown/additional/design/preroll.md similarity index 96% rename from markdown/design/preroll.md rename to markdown/additional/design/preroll.md index 768cc2b992..aae4fffc02 100644 --- a/markdown/design/preroll.md +++ b/markdown/additional/design/preroll.md @@ -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 diff --git a/markdown/design/probes.md b/markdown/additional/design/probes.md similarity index 100% rename from markdown/design/probes.md rename to markdown/additional/design/probes.md diff --git a/markdown/design/progress.md b/markdown/additional/design/progress.md similarity index 100% rename from markdown/design/progress.md rename to markdown/additional/design/progress.md diff --git a/markdown/design/push-pull.md b/markdown/additional/design/push-pull.md similarity index 100% rename from markdown/design/push-pull.md rename to markdown/additional/design/push-pull.md diff --git a/markdown/design/qos.md b/markdown/additional/design/qos.md similarity index 100% rename from markdown/design/qos.md rename to markdown/additional/design/qos.md diff --git a/markdown/design/query.md b/markdown/additional/design/query.md similarity index 86% rename from markdown/design/query.md rename to markdown/additional/design/query.md index 43de1c8b7b..fca174edd4 100644 --- a/markdown/design/query.md +++ b/markdown/additional/design/query.md @@ -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)) diff --git a/markdown/design/relations.md b/markdown/additional/design/relations.md similarity index 100% rename from markdown/design/relations.md rename to markdown/additional/design/relations.md diff --git a/markdown/design/rtp.md b/markdown/additional/design/rtp.md similarity index 99% rename from markdown/design/rtp.md rename to markdown/additional/design/rtp.md index 22ee40ec48..5f6daceff0 100644 --- a/markdown/design/rtp.md +++ b/markdown/additional/design/rtp.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 diff --git a/markdown/design/scheduling.md b/markdown/additional/design/scheduling.md similarity index 100% rename from markdown/design/scheduling.md rename to markdown/additional/design/scheduling.md diff --git a/markdown/design/seeking.md b/markdown/additional/design/seeking.md similarity index 100% rename from markdown/design/seeking.md rename to markdown/additional/design/seeking.md diff --git a/markdown/design/segments.md b/markdown/additional/design/segments.md similarity index 97% rename from markdown/design/segments.md rename to markdown/additional/design/segments.md index 58f3180394..7da6aa7733 100644 --- a/markdown/design/segments.md +++ b/markdown/additional/design/segments.md @@ -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 diff --git a/markdown/design/seqnums.md b/markdown/additional/design/seqnums.md similarity index 100% rename from markdown/design/seqnums.md rename to markdown/additional/design/seqnums.md diff --git a/markdown/design/sparsestreams.md b/markdown/additional/design/sparsestreams.md similarity index 100% rename from markdown/design/sparsestreams.md rename to markdown/additional/design/sparsestreams.md diff --git a/markdown/design/standards.md b/markdown/additional/design/standards.md similarity index 100% rename from markdown/design/standards.md rename to markdown/additional/design/standards.md diff --git a/markdown/design/states.md b/markdown/additional/design/states.md similarity index 100% rename from markdown/design/states.md rename to markdown/additional/design/states.md diff --git a/markdown/design/stereo-multiview-video.md b/markdown/additional/design/stereo-multiview-video.md similarity index 100% rename from markdown/design/stereo-multiview-video.md rename to markdown/additional/design/stereo-multiview-video.md diff --git a/markdown/design/stream-selection.md b/markdown/additional/design/stream-selection.md similarity index 100% rename from markdown/design/stream-selection.md rename to markdown/additional/design/stream-selection.md diff --git a/markdown/design/stream-status.md b/markdown/additional/design/stream-status.md similarity index 100% rename from markdown/design/stream-status.md rename to markdown/additional/design/stream-status.md diff --git a/markdown/design/streams.md b/markdown/additional/design/streams.md similarity index 95% rename from markdown/design/streams.md rename to markdown/additional/design/streams.md index fc5f03cba3..7b72a23d23 100644 --- a/markdown/design/streams.md +++ b/markdown/additional/design/streams.md @@ -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. diff --git a/markdown/design/subtitle-overlays.md b/markdown/additional/design/subtitle-overlays.md similarity index 100% rename from markdown/design/subtitle-overlays.md rename to markdown/additional/design/subtitle-overlays.md diff --git a/markdown/design/synchronisation.md b/markdown/additional/design/synchronisation.md similarity index 96% rename from markdown/design/synchronisation.md rename to markdown/additional/design/synchronisation.md index ad54e510b0..b7730e8146 100644 --- a/markdown/design/synchronisation.md +++ b/markdown/additional/design/synchronisation.md @@ -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. diff --git a/markdown/design/toc.md b/markdown/additional/design/toc.md similarity index 100% rename from markdown/design/toc.md rename to markdown/additional/design/toc.md diff --git a/markdown/design/tracing.md b/markdown/additional/design/tracing.md similarity index 100% rename from markdown/design/tracing.md rename to markdown/additional/design/tracing.md diff --git a/markdown/design/trickmodes.md b/markdown/additional/design/trickmodes.md similarity index 99% rename from markdown/design/trickmodes.md rename to markdown/additional/design/trickmodes.md index b108bf088b..201e9cd2de 100644 --- a/markdown/design/trickmodes.md +++ b/markdown/additional/design/trickmodes.md @@ -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 diff --git a/markdown/additional/index.md b/markdown/additional/index.md new file mode 100644 index 0000000000..0e1b63ac0c --- /dev/null +++ b/markdown/additional/index.md @@ -0,0 +1,3 @@ +# Additional documentation + +This section references miscellaneous documents, such as design considerations. diff --git a/markdown/rtp.md b/markdown/additional/rtp.md similarity index 100% rename from markdown/rtp.md rename to markdown/additional/rtp.md diff --git a/markdown/splitup.md b/markdown/additional/splitup.md similarity index 100% rename from markdown/splitup.md rename to markdown/additional/splitup.md diff --git a/markdown/additional/videos.md b/markdown/additional/videos.md new file mode 100644 index 0000000000..ec289f6967 --- /dev/null +++ b/markdown/additional/videos.md @@ -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/ diff --git a/markdown/api.md b/markdown/api.md deleted file mode 100644 index 71c531a3b8..0000000000 --- a/markdown/api.md +++ /dev/null @@ -1 +0,0 @@ -# API reference diff --git a/markdown/contribute/index.md b/markdown/contribute/index.md index e465fe6658..0bc4035901 100644 --- a/markdown/contribute/index.md +++ b/markdown/contribute/index.md @@ -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 diff --git a/markdown/doc_index.md b/markdown/doc_index.md deleted file mode 100644 index b5f4644c79..0000000000 --- a/markdown/doc_index.md +++ /dev/null @@ -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) - * Core Reference - * Core Libraries Reference - * [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) - - - - -## 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) - * Orc - Optimized inner loop Runtime Compiler - -## 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) diff --git a/markdown/licensing.md b/markdown/frequently-asked-questions/licensing.md similarity index 100% rename from markdown/licensing.md rename to markdown/frequently-asked-questions/licensing.md diff --git a/markdown/index.md b/markdown/index.md index a1d7319354..e47cc8b5b2 100644 --- a/markdown/index.md +++ b/markdown/index.md @@ -21,7 +21,7 @@ cost of greater complexity, writing new applications is not always easy.
- API Reference + API Reference
diff --git a/markdown/libs.md b/markdown/libs.md index 27ccc4a654..eda4755942 100644 --- a/markdown/libs.md +++ b/markdown/libs.md @@ -2,4 +2,4 @@ short-description: All the GStreamer libraries from the various components ... -# GStreamer libraries +# API reference diff --git a/markdown/plugin-development/basics/boiler.md b/markdown/plugin-development/basics/boiler.md index 542dd7ea93..08c83231ae 100644 --- a/markdown/plugin-development/basics/boiler.md +++ b/markdown/plugin-development/basics/boiler.md @@ -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. diff --git a/markdown/plugins_doc.md b/markdown/plugins_doc.md index 657c1204e2..a502713591 100644 --- a/markdown/plugins_doc.md +++ b/markdown/plugins_doc.md @@ -2,4 +2,4 @@ short-description: All the GStreamer plugins from its various components ... -# GStreamer plugins +# Plugins diff --git a/scripts/generate_sitemap.py b/scripts/generate_sitemap.py index 2240f3cad7..fb725b4fb2 100755 --- a/scripts/generate_sitemap.py +++ b/scripts/generate_sitemap.py @@ -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) diff --git a/sitemap.txt b/sitemap.txt index de52602512..566a2c27f5 100644 --- a/sitemap.txt +++ b/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