mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-30 05:31:15 +00:00
docs: update stream docs for SEGMENT_START event
This commit is contained in:
parent
8ebaf79781
commit
867051c7f6
2 changed files with 24 additions and 11 deletions
|
@ -8,7 +8,8 @@ Caps are exposed on GstPadTemplates to describe all possible types a
|
||||||
given pad can handle. They are also stored in the registry along with
|
given pad can handle. They are also stored in the registry along with
|
||||||
a description of the element.
|
a description of the element.
|
||||||
|
|
||||||
Caps are exposed on the element pads using the _get_caps() pad function.
|
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
|
This function describes the possible types that the pad can handle or
|
||||||
produce (see part-pads.txt and part-negotiation.txt).
|
produce (see part-pads.txt and part-negotiation.txt).
|
||||||
|
|
||||||
|
|
|
@ -11,10 +11,11 @@ Stream objects
|
||||||
The following objects are to be expected in the streaming thread:
|
The following objects are to be expected in the streaming thread:
|
||||||
|
|
||||||
- events
|
- events
|
||||||
- SEGMENT (S)
|
- STREAM_START (START)
|
||||||
- EOS (EOS) *
|
- SEGMENT (SEGMENT)
|
||||||
|
- EOS * (EOS)
|
||||||
- TAG (T)
|
- TAG (T)
|
||||||
- buffers (B) *
|
- buffers * (B)
|
||||||
|
|
||||||
Objects marked with * need to be synchronised to the clock in sinks
|
Objects marked with * need to be synchronised to the clock in sinks
|
||||||
and live sources.
|
and live sources.
|
||||||
|
@ -23,16 +24,21 @@ and live sources.
|
||||||
Typical stream
|
Typical stream
|
||||||
~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
A typical stream starts with a segment event that marks the
|
A typical stream starts with a stream start event that marks the
|
||||||
|
start of the stream, followed by a segment event that marks the
|
||||||
buffer timestamp range. After that buffers are sent one after the
|
buffer timestamp range. After that buffers are sent one after the
|
||||||
other. After the last buffer an EOS marks the end of the stream. No
|
other. After the last buffer an EOS marks the end of the stream. No
|
||||||
more buffers are to be processed after the EOS event.
|
more buffers are to be processed after the EOS event.
|
||||||
|
|
||||||
+-+ +-++-+ +-+ +---+
|
+-----+-------+ +-++-+ +-+ +---+
|
||||||
|S| |B||B| ... |B| |EOS|
|
|START|SEGMENT| |B||B| ... |B| |EOS|
|
||||||
+-+ +-++-+ +-+ +---+
|
+-----+-------+ +-++-+ +-+ +---+
|
||||||
|
|
||||||
1) SEGMENT, rate, start/stop, time
|
1) STREAM_START
|
||||||
|
- marks the start of a stream; unlike the SEGMENT event, there
|
||||||
|
will be no STREAM_START event after flushing seeks.
|
||||||
|
|
||||||
|
2) SEGMENT, rate, start/stop, time
|
||||||
- marks valid buffer timestamp range (start, stop)
|
- marks valid buffer timestamp range (start, stop)
|
||||||
- marks stream_time of buffers (time). This is the stream time of buffers
|
- marks stream_time of buffers (time). This is the stream time of buffers
|
||||||
with a timestamp of NS.start.
|
with a timestamp of NS.start.
|
||||||
|
@ -42,7 +48,7 @@ Typical stream
|
||||||
- marks running_time of buffers. This is the time used to synchronize
|
- marks running_time of buffers. This is the time used to synchronize
|
||||||
against the clock.
|
against the clock.
|
||||||
|
|
||||||
2) N buffers
|
3) N buffers
|
||||||
- displayable buffers are between start/stop of the SEGMENT. Buffers
|
- displayable buffers are between start/stop of the SEGMENT. Buffers
|
||||||
outside the segment range should be dropped or clipped.
|
outside the segment range should be dropped or clipped.
|
||||||
|
|
||||||
|
@ -62,9 +68,15 @@ Typical stream
|
||||||
|
|
||||||
* current position in stream between 0 and duration.
|
* current position in stream between 0 and duration.
|
||||||
|
|
||||||
3) EOS
|
4) EOS
|
||||||
- marks the end of data, nothing is to be expected after EOS, elements
|
- marks the end of data, nothing is to be expected after EOS, elements
|
||||||
should refuse more data and return GST_FLOW_EOS. A FLUSH_STOP
|
should refuse more data and return GST_FLOW_EOS. A FLUSH_STOP
|
||||||
event clears the EOS state of an element.
|
event clears the EOS state of an element.
|
||||||
|
|
||||||
|
|
||||||
|
Elements
|
||||||
|
~~~~~~~~
|
||||||
|
|
||||||
|
These events are generated typically either by the GstBaseSrc class for
|
||||||
|
sources operating in push mode, or by a parser/demuxer operating in pull-mode
|
||||||
|
and pushing parsed/demuxed data downstream.
|
||||||
|
|
Loading…
Reference in a new issue