|
Media.Streaming.GStreamer.Core.Caps |
|
|
|
|
|
Synopsis |
|
|
|
|
Detail
|
|
Caps (short for capabilities) are lightweight objects
describing media types. They are composed of arrays of
Structures.
Caps are exposed on PadTemplates to describe all the
possible types a given Pad can handle. They are also stored
in the Registry along with the description of an Element.
Caps can be retrieved from an Element's Pads using the
padGetCaps function. The returned Caps describes the possible
types that the pad can handle or produce at runtime.
Caps are also attached to Buffers to describe the type of
the contained data using the function bufferSetCaps. Caps
attached to a buffer allow for format negotiation upstream and
downstream.
Caps are fixed when they have no properties with ranges or
lists. Use capsIsFixed to test for fixed caps. Only fixed
caps may be set on a Pad or Buffer.
|
|
Types
|
|
data Caps |
Instances | |
|
|
capsNone :: Caps |
A Caps that represents an undefined media type.
|
|
capsAny :: Caps |
A Caps that represents all possible media types.
|
|
Caps Operations
|
|
capsSize |
:: Caps | caps - a Caps
| -> Word | the number of structures contained in the Caps
| Get the number of structures contained in the Caps.
|
|
|
capsGetStructure |
|
|
capsIsEmpty |
:: Caps | caps - a Caps
| -> Bool | True if caps is empty, otherwise False
| Determine whether caps represents no media formats.
|
|
|
capsIsFixed |
:: Caps | caps - a Caps
| -> Bool | True if caps is fixed, otherwise False
| Determine whether the caps is fixed; that is, if it has exactly
one structure, and each field in the structure describes a fixed type.
|
|
|
capsIsEqual |
:: Caps | caps1 - the first Caps
| -> Caps | caps2 - the second Caps
| -> Bool | True if both Caps represent the same set
of capabilities.
| Returns True if the caps represent the same set of capabilities.
This function does not work reliably if optional properties for
Caps are included on one Caps but omitted on the other.
|
|
|
capsIsEqualFixed |
:: Caps | caps1 - the first Caps
| -> Caps | caps2 - the second Caps
| -> Bool | True if both Caps represent the same set
of capabilities
| Returns True if the caps are equal. The caps must both be
fixed.
|
|
|
capsIsAlwaysCompatible |
:: Caps | caps1 - the first Caps
| -> Caps | caps2 - the second Caps
| -> Bool | True if caps1 is a subset of caps2, otherwise False
| Returns True if every media format in the first caps is also
contained by the second. That is, the first is a subset of the
second.
|
|
|
capsIsSubset |
:: Caps | caps1 - the first Caps
| -> Caps | caps2 - the second Caps
| -> Bool | True if caps1 is a subset of caps2, otherwise False
| Returns True if all caps represented by the first argument are
also represented by the second.
This function does not work reliably if optional properties for
caps are included on one caps and omitted on the other.
|
|
|
capsIntersect |
:: Caps | caps1 - the first Caps
| -> Caps | caps2 - the second Caps
| -> Caps | a new Caps containing all capabilities present
in both caps1 and caps2
| Creates a new caps containing all the formats that are common to
both of the caps.
|
|
|
capsUnion |
:: Caps | caps1 - the first Caps
| -> Caps | caps2 - the second Caps
| -> Caps | a new Caps containing all capabilities present
in either caps1 and caps2
| Creates a new caps containing all the formats that are common to
either of the caps. If either of the structures are equivalient
to capsAny, the result will be capsAny.
|
|
|
capsSubtract |
:: Caps | caps1 - the first Caps
| -> Caps | caps2 - the second Caps
| -> Caps | a new Caps containing all capabilities present
in caps1 but not caps2
| Creates a new caps containing all the formats that are in the
first but not the second.
|
|
|
capsNormalize |
:: Caps | caps - a Caps
| -> Caps | the new, normalized Caps
| Creates a new caps that represents the same set of formats as the
argument, but that contains no lists.
|
|
|
capsFromString |
:: String | string - the string representation of a Caps
| -> Maybe Caps | the new Caps, or Nothing if string is invalid
| Read a caps from a string.
|
|
|
capsToString |
:: Caps | caps - a Caps
| -> String | the string representation of Caps
| Converts the argument to a string representation. The string can
be converted back to a caps using capsFromString.
|
|
|
Caps Mutation
|
|
data CapsM a |
A Monad for sequencing modifications to a Caps.
| Instances | ??? a => Functor (CapsM a) | ??? a => Monad (CapsM a) |
|
|
|
capsCreate |
:: CapsM a | mutate - the mutating action
| -> (Caps, a) | the new Caps and the action's result
| Create a caps and mutate it according to the given action.
|
|
|
capsModify |
:: Caps | caps - the Caps to modify
| -> CapsM a | mutate - the mutating action
| -> (Caps, a) | the new Caps and the action's result
| Copy a caps and mutate it according to the given action.
|
|
|
capsAppendStructure |
|
|
capsMergeStructure |
:: Structure | structure - the Structure to merge with the current Caps
| -> CapsM () | | Append the structure to the current caps, if it is not already
expressed by the caps.
Since 0.10.10.
|
|
|
capsRemoveStructure |
:: Word | idx - the index of the Structure to remove
| -> CapsM () | | Removes the structure at the given index from the current caps.
|
|
|
capsTruncate :: CapsM () |
Discard all but the first structure from the current caps.
|
|
Produced by Haddock version 0.8 |