docs: add a paragraph about the STREAM CONFIG event to the design docs
authorTim-Philipp Müller <tim.muller@collabora.co.uk>
Sun, 12 Feb 2012 21:17:41 +0000 (21:17 +0000)
committerTim-Philipp Müller <tim.muller@collabora.co.uk>
Sun, 12 Feb 2012 21:17:41 +0000 (21:17 +0000)
docs/design/part-events.txt

index 001e8b7..c8ffde6 100644 (file)
@@ -13,6 +13,7 @@ Different types of events exist to implement various functionalities.
   GST_EVENT_FLUSH_START:   data is to be discarded
   GST_EVENT_FLUSH_STOP:    data is allowed again
   GST_EVENT_CAPS:          Format information about the following buffers
+  GST_EVENT_STREAM_CONFIG: Stream config: stream headers and codec setup data
   GST_EVENT_SEGMENT:       Timing information for the following buffers
   GST_EVENT_TAG:           Stream metadata.
   GST_EVENT_BUFFERSIZE:    Buffer size requirements
@@ -141,6 +142,26 @@ goes to PLAYING.
 A FLUSH_STOP event on an element flushes the EOS state and all pending EOS messages.
 
 
+GST_EVENT_STREAM_CONFIG
+~~~~~~~~~~~~~~~~~~~~~~~
+
+A stream config event is sent downstream by an element to pass stream headers
+or codec/stream setup data to elements downstream.
+
+Stream headers are buffers that are to be pre-pended to a stream to create
+a valid decodable bitstream. This is useful for e.g. network elements who
+will send such stream headers first when a new client connects in the middle
+of a streaming session. The stream headers and the current data will then
+create a valid decodable stream. Stream headers are usually also sent as
+buffers at the beginning of a stream in addition to the rest of the stream
+data.
+
+Setup data is codec config data that must be communicated outside of the
+data stream and is required by the consumer / downstream element in order
+to interpret the data stream correctly. Prepending it to the data stream is
+usually not allowed and will not yield a valid stream.
+
+
 SEGMENT
 ~~~~~~~