summaryrefslogtreecommitdiff
path: root/docs/design/part-live-source.txt
diff options
context:
space:
mode:
authorThibault Saunier <tsaunier@gnome.org>2016-12-05 18:16:34 -0300
committerThibault Saunier <tsaunier@gnome.org>2016-12-06 14:08:14 -0300
commitd1c79fc1774c80873b956bfb187ad57042deedbb (patch)
tree3f9a620c1d9acbcd516bbf5e8fa314b6dcf352c0 /docs/design/part-live-source.txt
parentdbe3d2b328113b468e19adc2ff39acc22e151069 (diff)
docs: Remove design doc as they have been moved to gst-docs
https://bugzilla.gnome.org/show_bug.cgi?id=775667
Diffstat (limited to 'docs/design/part-live-source.txt')
-rw-r--r--docs/design/part-live-source.txt60
1 files changed, 0 insertions, 60 deletions
diff --git a/docs/design/part-live-source.txt b/docs/design/part-live-source.txt
deleted file mode 100644
index 47055a5a9e..0000000000
--- a/docs/design/part-live-source.txt
+++ /dev/null
@@ -1,60 +0,0 @@
-Live sources
-------------
-
-A live source is a source that cannot be arbitrarily PAUSED without losing
-data.
-
-A live source such as an element capturing audio or video need to be handled
-in a special way. It does not make sense to start the dataflow in the PAUSED
-state for those devices as the user might wait a long time between going from
-PAUSED to PLAYING, making the previously captured buffers irrelevant.
-
-A live source therefore only produces buffers in the PLAYING state. This has
-implications for sinks waiting for a buffer to complete the preroll state
-since such a buffer might never arrive.
-
-Live sources return NO_PREROLL when going to the PAUSED state to inform the
-bin/pipeline that this element will not be able to produce data in the
-PAUSED state. NO_PREROLL should be returned for both READY->PAUSED and
-PLAYING->PAUSED.
-
-When performing a get_state() on a bin with a non-zero timeout value, the
-bin must be sure that there are no live sources in the pipeline because else
-the get_state() function would block on the sinks.
-
-A gstbin therefore always performs a zero timeout get_state() on its
-elements to discover the NO_PREROLL (and ERROR) elements before performing
-a blocking wait.
-
-
-Scheduling
-~~~~~~~~~~
-
-Live sources will not produce data in the paused state. They block in the
-getrange function or in the loop function until they go to PLAYING.
-
-
-Latency
-~~~~~~~
-
-The live source timestamps its data with the time of the clock at the
-time the data was captured. Normally it will take some time to capture
-the first sample of data and the last sample. This means that when the
-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. This latency
-is exposed with a LATENCY query.
-
-See part-latency.txt.
-
-
-Timestamps
-~~~~~~~~~~
-
-Live sources always timestamp their buffers with the running_time of the
-pipeline. This is needed to be able to match the timestamps of different live
-sources in order to synchronize them.
-
-This is in contrast to non-live sources, which timestamp their buffers starting
-from running_time 0.
-