Gtk2HsContentsIndex
Media.Streaming.GStreamer.Core.Caps
Contents
Detail
Types
Caps Operations
Caps Mutation
Synopsis
data Caps
capsNone :: Caps
capsAny :: Caps
capsSize :: Caps -> Word
capsGetStructure :: Caps -> Word -> Maybe Structure
capsIsEmpty :: Caps -> Bool
capsIsFixed :: Caps -> Bool
capsIsEqual :: Caps -> Caps -> Bool
capsIsEqualFixed :: Caps -> Caps -> Bool
capsIsAlwaysCompatible :: Caps -> Caps -> Bool
capsIsSubset :: Caps -> Caps -> Bool
capsIntersect :: Caps -> Caps -> Caps
capsUnion :: Caps -> Caps -> Caps
capsSubtract :: Caps -> Caps -> Caps
capsNormalize :: Caps -> Caps
capsFromString :: String -> Maybe Caps
capsToString :: Caps -> String
data CapsM a
capsCreate :: CapsM a -> (Caps, a)
capsModify :: Caps -> CapsM a -> (Caps, a)
capsAppendStructure :: Structure -> CapsM ()
capsMergeStructure :: Structure -> CapsM ()
capsRemoveStructure :: Word -> CapsM ()
capsTruncate :: CapsM ()
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
show/hide Instances
Eq Caps
capsNone :: Caps
A Caps that represents an undefined media type.
capsAny :: Caps
A Caps that represents all possible media types.
Caps Operations
capsSize
:: Capscaps - a Caps
-> Wordthe number of structures contained in the Caps
Get the number of structures contained in the Caps.
capsGetStructure
:: Capscaps - a Caps
-> Wordindex - the index of the Structure
-> Maybe Structurethe Structure at the given index, or Nothing if index is invalid
Get the Structure at the given index.
capsIsEmpty
:: Capscaps - a Caps
-> BoolTrue if caps is empty, otherwise False
Determine whether caps represents no media formats.
capsIsFixed
:: Capscaps - a Caps
-> BoolTrue 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
:: Capscaps1 - the first Caps
-> Capscaps2 - the second Caps
-> BoolTrue 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
:: Capscaps1 - the first Caps
-> Capscaps2 - the second Caps
-> BoolTrue if both Caps represent the same set of capabilities
Returns True if the caps are equal. The caps must both be fixed.
capsIsAlwaysCompatible
:: Capscaps1 - the first Caps
-> Capscaps2 - the second Caps
-> BoolTrue 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
:: Capscaps1 - the first Caps
-> Capscaps2 - the second Caps
-> BoolTrue 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
:: Capscaps1 - the first Caps
-> Capscaps2 - the second Caps
-> Capsa 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
:: Capscaps1 - the first Caps
-> Capscaps2 - the second Caps
-> Capsa 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
:: Capscaps1 - the first Caps
-> Capscaps2 - the second Caps
-> Capsa 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
:: Capscaps - a Caps
-> Capsthe new, normalized Caps
Creates a new caps that represents the same set of formats as the argument, but that contains no lists.
capsFromString
:: Stringstring - the string representation of a Caps
-> Maybe Capsthe new Caps, or Nothing if string is invalid
Read a caps from a string.
capsToString
:: Capscaps - a Caps
-> Stringthe 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.
show/hide Instances
??? a => Functor (CapsM a)
??? a => Monad (CapsM a)
capsCreate
:: CapsM amutate - 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
:: Capscaps - the Caps to modify
-> CapsM amutate - 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
:: Structurestructure - the Structure to append to the current Caps
-> CapsM ()
Append the given structure to the current caps.
capsMergeStructure
:: Structurestructure - 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
:: Wordidx - 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