summaryrefslogtreecommitdiff
path: root/docs/design/part-overview.txt
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2006-05-08 09:52:33 +0000
committerWim Taymans <wim.taymans@gmail.com>2006-05-08 09:52:33 +0000
commitb9dbb551050354dd2426e66a4a3ec3f1792807c1 (patch)
treee3cb164246d9c3f2b935689de39070f5a9559c23 /docs/design/part-overview.txt
parent029c8d820b82a41f0bb27e4ceb56043dc7357ded (diff)
docs/design/part-overview.txt: Make upsteam/downstream concepts more clear.
Original commit message from CVS: * docs/design/part-overview.txt: Make upsteam/downstream concepts more clear. Give an example of serialized/non-serialized events. * docs/design/part-events.txt: * docs/design/part-streams.txt: Mention applied_rate. * docs/design/part-trickmodes.txt: Mention applied rate, flesh out some more use cases. * gst/gstevent.c: (gst_event_new_new_segment), (gst_event_parse_new_segment), (gst_event_new_new_segment_full), (gst_event_parse_new_segment_full), (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_buffer_size), (gst_event_parse_buffer_size), (gst_event_new_qos), (gst_event_parse_qos), (gst_event_parse_seek), (gst_event_new_navigation): * gst/gstevent.h: Add applied_rate field to NEWSEGMENT event. API: gst_event_new_new_segment_full() API: gst_event_parse_new_segment_full() * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek), (gst_segment_set_newsegment), (gst_segment_set_newsegment_full), (gst_segment_to_stream_time), (gst_segment_to_running_time): * gst/gstsegment.h: Add applied_rate to GstSegment structure. Make calculation of stream_time and running_time more correct wrt rate/applied_rate. Add some more docs. API: GstSegment::applied_rate field API: gst_segment_set_newsegment_full(); * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment), (gst_base_sink_get_sync_times), (gst_base_sink_get_position): * libs/gst/base/gstbasetransform.c: (gst_base_transform_sink_eventfunc), (gst_base_transform_handle_buffer): Parse and use applied_rate in the GstSegment field. * tests/check/gst/gstevent.c: (GST_START_TEST): Add check for applied_rate field. * tests/check/gst/gstsegment.c: (GST_START_TEST), (gstsegments_suite): Add more checks for various GstSegment operations.
Diffstat (limited to 'docs/design/part-overview.txt')
-rw-r--r--docs/design/part-overview.txt13
1 files changed, 12 insertions, 1 deletions
diff --git a/docs/design/part-overview.txt b/docs/design/part-overview.txt
index 6852ff5a9e..1232f1418e 100644
--- a/docs/design/part-overview.txt
+++ b/docs/design/part-overview.txt
@@ -29,11 +29,15 @@ Introduction
an example of an ogg/vorbis playback pipeline.
+-----------------------------------------------------------+
+ | ----------> downstream -------------------> |
+ | |
| pipeline |
| +---------+ +----------+ +-----------+ +----------+ |
| | filesrc | | oggdemux | | vorbisdec | | alsasink | |
| | src-sink src-sink src-sink | |
| +---------+ +----------+ +-----------+ +----------+ |
+ | |
+ | <---------< upstream <-------------------< |
+-----------------------------------------------------------+
The filesrc element reads data from a file on disk. The oggdemux element parses
@@ -244,7 +248,14 @@ Dataflow and events
the events are used to denote special conditions in the dataflow such as EOS or
to inform plugins of special events such as flushing or seeking.
- Some events must be serialized with the buffer flow, others don't.
+ Some events must be serialized with the buffer flow, others don't. Serialized
+ events are inserted between the buffers. Non serialized events jump in front
+ of any buffers current being processed.
+
+ An example of a serialized event is a TAG event that is inserted between buffers
+ to mark metadata for those buffers.
+
+ An example of a non serialized event is the FLUSH event.
Pipeline construction