From 7f309fca40fc16fcef2d4810532b6ea36cf43de0 Mon Sep 17 00:00:00 2001 From: "Reynaldo H. Verdejo Pinochet" Date: Wed, 21 Dec 2016 23:25:41 -0800 Subject: [PATCH] design: gstbin: add missing markup Also fix some minor grammar issues. --- markdown/design/gstbin.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/markdown/design/gstbin.md b/markdown/design/gstbin.md index 9583e3af75..9b7654fa3d 100644 --- a/markdown/design/gstbin.md +++ b/markdown/design/gstbin.md @@ -1,8 +1,8 @@ # GstBin -GstBin is a container element for other GstElements. This makes it +`GstBin` is a container element for other `GstElements`. This makes it possible to group elements together so that they can be treated as one -single GstElement. A GstBin provides a GstBus for the children and +single `GstElement`. A `GstBin` provides a `GstBus` for the children and collates messages from them. ## Add/removing elements @@ -16,7 +16,7 @@ The bin maintains a parent-child relationship with its elements (see ## Retrieving elements -GstBin provides a number of functions to retrieve one or more children +`GstBin` provides a number of functions to retrieve one or more children from itself. A few examples of the provided functions: * `gst_bin_get_by_name()` retrieves an element by name. @@ -24,8 +24,8 @@ from itself. A few examples of the provided functions: ## element management -The most important function of the GstBin is to distribute all -GstElement operations on itself to all of its children. This includes: +The most important function of the `GstBin` is to distribute all +`GstElement` operations on itself to all of its children. This includes: - state changes @@ -38,20 +38,20 @@ The state change distribution is the most complex and is explained in ## GstBus -The GstBin creates a GstBus for its children and distributes it when +The `GstBin` creates a `GstBus` for its children and distributes it when child elements are added to the bin. The bin attaches a sync handler to receive messages from children. The bus for receiving messages from -children is distinct from the bin’s own externally-visible GstBus. +children is distinct from the bin’s own externally-visible `GstBus`. Messages received from children are forwarded intact onto the bin’s -external message bus, except for EOS and SEGMENT_START/DONE which are +external message bus, except for EOS and `SEGMENT_START`/`DONE` which are handled specially. -ASYNC_START/ASYNC_STOP messages received from the children are used to +`ASYNC_START`/`ASYNC_STOP` messages received from the children are used to trigger a recalculation of the current state of the bin, as described in [states](design/states.md). -The application can retrieve the external GstBus and integrate it in the +The application can retrieve the external `GstBus` and integrate it in the mainloop or it can just `pop()` messages off in its own thread. When a bin goes to READY it will clear all cached messages. @@ -74,16 +74,16 @@ going to PLAYING again. A bin collects `SEGMENT_START` messages but does not post them to the application. It counts the number of `SEGMENT_START` messages and posts a `SEGMENT_STOP` message to the application when an equal number of -`SEGMENT_STOP` messages where received. +`SEGMENT_STOP` messages were received. -The cached SEGMENT_START/STOP messages are cleared when going to READY. +The cached `SEGMENT_START`/`STOP` messages are cleared when going to READY. ## DURATION When a DURATION query is performed on a bin, it will forward the query to all its sink elements. The bin will calculate the total duration as the MAX of all returned durations and will then cache the result so that -any further query can use the cached version. The reason for caching the +any further queries can use the cached version. The reason for caching the result is because the duration of a stream typically does not change that often. @@ -96,10 +96,10 @@ application, which can then fetch the updated DURATION. ## Subclassing -Subclasses of GstBin are free to implement their own add/remove -implementations. It is a good idea to update the GList of children so +Subclasses of `GstBin` are free to implement their own add/remove +functions. It is a good idea to update the `GList` of children so that the `_iterate()` functions can still be used if the custom bin allows access to its children. Any bin subclass can also implement a custom message handler by -overriding the default message handler. +overriding the default one.