mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-30 12:49:40 +00:00
docs/design/: Replace all _pull_region() with _pull_range()
Original commit message from CVS: * docs/design/draft-push-pull.txt: * docs/design/part-events.txt: * docs/design/part-overview.txt: * docs/design/part-scheduling.txt: Replace all _pull_region() with _pull_range()
This commit is contained in:
parent
7e27440c9e
commit
cf26a6cbcc
5 changed files with 18 additions and 10 deletions
|
@ -1,3 +1,11 @@
|
|||
2005-09-26 Tim-Philipp Müller <tim at centricular dot net>
|
||||
|
||||
* docs/design/draft-push-pull.txt:
|
||||
* docs/design/part-events.txt:
|
||||
* docs/design/part-overview.txt:
|
||||
* docs/design/part-scheduling.txt:
|
||||
Replace all _pull_region() with _pull_range()
|
||||
|
||||
2005-09-26 Andy Wingo <wingo@pobox.com>
|
||||
|
||||
* gst/gstvalue.c (_gst_value_initialize): Better fakeout.
|
||||
|
|
|
@ -51,7 +51,7 @@ Types of pull based scheduling:
|
|||
Current scheduling decision:
|
||||
|
||||
- core selects scheduling type starting on sinks by looking at existence
|
||||
of loop function on sinkpad and calling _check_pull_region() on the
|
||||
of loop function on sinkpad and calling _check_pull_range() on the
|
||||
source pad to activate the pads in push/pull mode.
|
||||
|
||||
- element proxies pull mode pad activation to peer pad.
|
||||
|
@ -66,7 +66,7 @@ Problems:
|
|||
Requirements:
|
||||
|
||||
- element should be able to select scheduling method itself based on
|
||||
how it can use the peer element pull_region. This includes if the
|
||||
how it can use the peer element pull_range. This includes if the
|
||||
peer can operate with or without offset/size. This also means that
|
||||
the core does not need to select the scheduling method anymore and
|
||||
allows for more afficient scheduling methods adjusted for the
|
||||
|
@ -79,7 +79,7 @@ Proposition:
|
|||
|
||||
- pads queries scheduling mode of peer pad. This query is rather
|
||||
finegrained and allows the element to know if the peer supports
|
||||
offsets and sizes in the get_region function. A proposition for
|
||||
offsets and sizes in the get_range function. A proposition for
|
||||
the query is outlined in draft-query.txt.
|
||||
|
||||
- pad selects scheduling mode and informs the peer pad of this
|
||||
|
|
|
@ -48,8 +48,8 @@ Flushing happens in two stages.
|
|||
After the flush completes the second stage, data is flowing again in the pipeline
|
||||
and all buffers are more recent than those before the flush.
|
||||
|
||||
For elements that use the pullregion function, they send both flush events to
|
||||
the upstream pads in the same way top make sure that the pullregion function
|
||||
For elements that use the pullrange function, they send both flush events to
|
||||
the upstream pads in the same way to make sure that the pullrange function
|
||||
unlocks and any pending buffers are cleared in the upstream elements.
|
||||
|
||||
|
||||
|
|
|
@ -193,7 +193,7 @@ Dataflow and buffers
|
|||
When an element whishes to send a buffer to another element is does this using one
|
||||
of the pads that is linked to a pad of the other element. In the push model, a
|
||||
buffer is pushed to the peer pad with gst_pad_push(). In the pull model, a buffer
|
||||
is pulled from the peer with the gst_pad_pull_region() function.
|
||||
is pulled from the peer with the gst_pad_pull_range() function.
|
||||
|
||||
Before an element pushes out a buffer, it should make sure that the peer element
|
||||
can understand the buffer contents. It does this by querying the peer element
|
||||
|
|
|
@ -23,7 +23,7 @@ Pulling
|
|||
-------
|
||||
|
||||
Pads that operate in pulling mode can only pull data from a pad that exposes the
|
||||
pullregion function. In this case, the sink pad exposes a loop function that will be
|
||||
pull_range function. In this case, the sink pad exposes a loop function that will be
|
||||
called repeadedly until the task is stopped.
|
||||
|
||||
After pulling data from the peer pad, the loop function will typically call the
|
||||
|
@ -48,8 +48,8 @@ The upstream element can be another chain based element or a pushing source.
|
|||
The getrange function
|
||||
---------------------
|
||||
|
||||
The getrange function is called when a peer pad perform a _pullregion() on the pad. This
|
||||
downstream pad can be a pulling element or another pullregion() based element.
|
||||
The getrange function is called when a peer pad perform a _pull_range() on the pad. This
|
||||
downstream pad can be a pulling element or another _pull_range() based element.
|
||||
|
||||
Plug-in techniques
|
||||
------------------
|
||||
|
@ -58,7 +58,7 @@ Multi-sink elements
|
|||
-------------------
|
||||
|
||||
Elements with multiple sinks can either expose a loop function on each of the pads to
|
||||
actively pullregion data or they can expose a chain function on each pad.
|
||||
actively pull_range data or they can expose a chain function on each pad.
|
||||
|
||||
Implementing a chain function is usually easy and allows for all possible scheduling
|
||||
methods.
|
||||
|
|
Loading…
Reference in a new issue