Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
- Exported types
- Methods
- append
- appendStructure
- appendStructureFull
- canIntersect
- copyNth
- filterAndMapInPlace
- fixate
- foreach
- fromString
- getFeatures
- getSize
- getStructure
- intersect
- intersectFull
- isAlwaysCompatible
- isAny
- isEmpty
- isEqual
- isEqualFixed
- isFixed
- isStrictlyEqual
- isSubset
- isSubsetStructure
- isSubsetStructureFull
- mapInPlace
- merge
- mergeStructure
- mergeStructureFull
- newAny
- newEmpty
- newEmptySimple
- normalize
- removeStructure
- setFeatures
- setValue
- simplify
- stealStructure
- subtract
- toString
- truncate
- Properties
Caps (capabilities) are lightweight refcounted objects describing media types.
They are composed of an array of Structure
.
Caps are exposed on PadTemplate
to describe all possible types a
given pad can handle. They are also stored in the Registry
along with
a description of the Element
.
Caps are exposed on the element pads using the padQueryCaps
pad
function. This function describes the possible types that the pad can
handle or produce at runtime.
A Caps
can be constructed with the following code fragment:
C code
GstCaps *caps = gst_caps_new_simple ("video/x-raw", "format", G_TYPE_STRING, "I420", "framerate", GST_TYPE_FRACTION, 25, 1, "pixel-aspect-ratio", GST_TYPE_FRACTION, 1, 1, "width", G_TYPE_INT, 320, "height", G_TYPE_INT, 240, NULL);
A Caps
is fixed when it has no properties with ranges or lists. Use
capsIsFixed
to test for fixed caps. Fixed caps can be used in a
caps event to notify downstream elements of the current media type.
Various methods exist to work with the media types such as subtracting or intersecting.
Be aware that the current Caps
/ Structure
serialization into string
has limited support for nested Caps
/ Structure
fields. It can only
support one level of nesting. Using more levels will lead to unexpected
behavior when using serialization features, such as capsToString
or
valueSerialize
and their counterparts.
- newtype Caps = Caps (ManagedPtr Caps)
- newZeroCaps :: MonadIO m => m Caps
- noCaps :: Maybe Caps
- data CapsAppendMethodInfo
- capsAppend :: (HasCallStack, MonadIO m) => Caps -> Caps -> m ()
- data CapsAppendStructureMethodInfo
- capsAppendStructure :: (HasCallStack, MonadIO m) => Caps -> Structure -> m ()
- data CapsAppendStructureFullMethodInfo
- capsAppendStructureFull :: (HasCallStack, MonadIO m) => Caps -> Structure -> Maybe CapsFeatures -> m ()
- data CapsCanIntersectMethodInfo
- capsCanIntersect :: (HasCallStack, MonadIO m) => Caps -> Caps -> m Bool
- data CapsCopyNthMethodInfo
- capsCopyNth :: (HasCallStack, MonadIO m) => Caps -> Word32 -> m Caps
- data CapsFilterAndMapInPlaceMethodInfo
- capsFilterAndMapInPlace :: (HasCallStack, MonadIO m) => Caps -> CapsFilterMapFunc -> m ()
- data CapsFixateMethodInfo
- capsFixate :: (HasCallStack, MonadIO m) => Caps -> m Caps
- data CapsForeachMethodInfo
- capsForeach :: (HasCallStack, MonadIO m) => Caps -> CapsForeachFunc -> m Bool
- capsFromString :: (HasCallStack, MonadIO m) => Text -> m Caps
- data CapsGetFeaturesMethodInfo
- capsGetFeatures :: (HasCallStack, MonadIO m) => Caps -> Word32 -> m CapsFeatures
- data CapsGetSizeMethodInfo
- capsGetSize :: (HasCallStack, MonadIO m) => Caps -> m Word32
- data CapsGetStructureMethodInfo
- capsGetStructure :: (HasCallStack, MonadIO m) => Caps -> Word32 -> m Structure
- data CapsIntersectMethodInfo
- capsIntersect :: (HasCallStack, MonadIO m) => Caps -> Caps -> m Caps
- data CapsIntersectFullMethodInfo
- capsIntersectFull :: (HasCallStack, MonadIO m) => Caps -> Caps -> CapsIntersectMode -> m Caps
- data CapsIsAlwaysCompatibleMethodInfo
- capsIsAlwaysCompatible :: (HasCallStack, MonadIO m) => Caps -> Caps -> m Bool
- data CapsIsAnyMethodInfo
- capsIsAny :: (HasCallStack, MonadIO m) => Caps -> m Bool
- data CapsIsEmptyMethodInfo
- capsIsEmpty :: (HasCallStack, MonadIO m) => Caps -> m Bool
- data CapsIsEqualMethodInfo
- capsIsEqual :: (HasCallStack, MonadIO m) => Caps -> Caps -> m Bool
- data CapsIsEqualFixedMethodInfo
- capsIsEqualFixed :: (HasCallStack, MonadIO m) => Caps -> Caps -> m Bool
- data CapsIsFixedMethodInfo
- capsIsFixed :: (HasCallStack, MonadIO m) => Caps -> m Bool
- data CapsIsStrictlyEqualMethodInfo
- capsIsStrictlyEqual :: (HasCallStack, MonadIO m) => Caps -> Caps -> m Bool
- data CapsIsSubsetMethodInfo
- capsIsSubset :: (HasCallStack, MonadIO m) => Caps -> Caps -> m Bool
- data CapsIsSubsetStructureMethodInfo
- capsIsSubsetStructure :: (HasCallStack, MonadIO m) => Caps -> Structure -> m Bool
- data CapsIsSubsetStructureFullMethodInfo
- capsIsSubsetStructureFull :: (HasCallStack, MonadIO m) => Caps -> Structure -> Maybe CapsFeatures -> m Bool
- data CapsMapInPlaceMethodInfo
- capsMapInPlace :: (HasCallStack, MonadIO m) => Caps -> CapsMapFunc -> m Bool
- data CapsMergeMethodInfo
- capsMerge :: (HasCallStack, MonadIO m) => Caps -> Caps -> m Caps
- data CapsMergeStructureMethodInfo
- capsMergeStructure :: (HasCallStack, MonadIO m) => Caps -> Structure -> m Caps
- data CapsMergeStructureFullMethodInfo
- capsMergeStructureFull :: (HasCallStack, MonadIO m) => Caps -> Structure -> Maybe CapsFeatures -> m Caps
- capsNewAny :: (HasCallStack, MonadIO m) => m Caps
- capsNewEmpty :: (HasCallStack, MonadIO m) => m Caps
- capsNewEmptySimple :: (HasCallStack, MonadIO m) => Text -> m Caps
- data CapsNormalizeMethodInfo
- capsNormalize :: (HasCallStack, MonadIO m) => Caps -> m Caps
- data CapsRemoveStructureMethodInfo
- capsRemoveStructure :: (HasCallStack, MonadIO m) => Caps -> Word32 -> m ()
- data CapsSetFeaturesMethodInfo
- capsSetFeatures :: (HasCallStack, MonadIO m) => Caps -> Word32 -> Maybe CapsFeatures -> m ()
- data CapsSetValueMethodInfo
- capsSetValue :: (HasCallStack, MonadIO m) => Caps -> Text -> GValue -> m ()
- data CapsSimplifyMethodInfo
- capsSimplify :: (HasCallStack, MonadIO m) => Caps -> m Caps
- data CapsStealStructureMethodInfo
- capsStealStructure :: (HasCallStack, MonadIO m) => Caps -> Word32 -> m Structure
- data CapsSubtractMethodInfo
- capsSubtract :: (HasCallStack, MonadIO m) => Caps -> Caps -> m Caps
- data CapsToStringMethodInfo
- capsToString :: (HasCallStack, MonadIO m) => Caps -> m Text
- data CapsTruncateMethodInfo
- capsTruncate :: (HasCallStack, MonadIO m) => Caps -> m Caps
- caps_miniObject :: AttrLabelProxy "miniObject"
- getCapsMiniObject :: MonadIO m => Caps -> m MiniObject
Exported types
Methods
append
data CapsAppendMethodInfo Source #
((~) * signature (Caps -> m ()), MonadIO m) => MethodInfo * CapsAppendMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> Caps |
|
-> m () |
Appends the structures contained in caps2
to caps1
. The structures in
caps2
are not copied -- they are transferred to caps1
, and then caps2
is
freed. If either caps is ANY, the resulting caps will be ANY.
appendStructure
data CapsAppendStructureMethodInfo Source #
((~) * signature (Structure -> m ()), MonadIO m) => MethodInfo * CapsAppendStructureMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> Structure |
|
-> m () |
Appends structure
to caps
. The structure is not copied; caps
becomes the owner of structure
.
appendStructureFull
data CapsAppendStructureFullMethodInfo Source #
((~) * signature (Structure -> Maybe CapsFeatures -> m ()), MonadIO m) => MethodInfo * CapsAppendStructureFullMethodInfo Caps signature Source # | |
capsAppendStructureFull Source #
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> Structure |
|
-> Maybe CapsFeatures |
|
-> m () |
Appends structure
with features
to caps
. The structure is not copied; caps
becomes the owner of structure
.
Since: 1.2
canIntersect
data CapsCanIntersectMethodInfo Source #
((~) * signature (Caps -> m Bool), MonadIO m) => MethodInfo * CapsCanIntersectMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> Caps |
|
-> m Bool | Returns: |
Tries intersecting caps1
and caps2
and reports whether the result would not
be empty
copyNth
data CapsCopyNthMethodInfo Source #
((~) * signature (Word32 -> m Caps), MonadIO m) => MethodInfo * CapsCopyNthMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> Word32 |
|
-> m Caps | Returns: the new |
Creates a new Caps
and appends a copy of the nth structure
contained in caps
.
filterAndMapInPlace
data CapsFilterAndMapInPlaceMethodInfo Source #
((~) * signature (CapsFilterMapFunc -> m ()), MonadIO m) => MethodInfo * CapsFilterAndMapInPlaceMethodInfo Caps signature Source # | |
capsFilterAndMapInPlace Source #
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> CapsFilterMapFunc |
|
-> m () |
Calls the provided function once for each structure and caps feature in the
Caps
. In contrast to capsForeach
, the function may modify the
structure and features. In contrast to capsFilterAndMapInPlace
,
the structure and features are removed from the caps if False
is returned
from the function.
The caps must be mutable.
Since: 1.6
fixate
data CapsFixateMethodInfo Source #
((~) * signature (m Caps), MonadIO m) => MethodInfo * CapsFixateMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> m Caps | Returns: the fixated caps |
Modifies the given caps
into a representation with only fixed
values. First the caps will be truncated and then the first structure will be
fixated with structureFixate
.
This function takes ownership of caps
and will call gst_caps_make_writable()
on it so you must not use caps
afterwards unless you keep an additional
reference to it with gst_caps_ref()
.
foreach
data CapsForeachMethodInfo Source #
((~) * signature (CapsForeachFunc -> m Bool), MonadIO m) => MethodInfo * CapsForeachMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> CapsForeachFunc |
|
-> m Bool | Returns: |
Calls the provided function once for each structure and caps feature in the
Caps
. The function must not modify the fields.
Also see capsMapInPlace
and capsFilterAndMapInPlace
.
Since: 1.6
fromString
getFeatures
data CapsGetFeaturesMethodInfo Source #
((~) * signature (Word32 -> m CapsFeatures), MonadIO m) => MethodInfo * CapsGetFeaturesMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> Word32 |
|
-> m CapsFeatures | Returns: a pointer to the |
Finds the features in caps
that has the index index
, and
returns it.
WARNING: This function takes a const GstCaps *, but returns a
non-const GstCapsFeatures *. This is for programming convenience --
the caller should be aware that structures inside a constant
Caps
should not be modified. However, if you know the caps
are writable, either because you have just copied them or made
them writable with gst_caps_make_writable()
, you may modify the
features returned in the usual way, e.g. with functions like
capsFeaturesAdd
.
You do not need to free or unref the structure returned, it
belongs to the Caps
.
Since: 1.2
getSize
data CapsGetSizeMethodInfo Source #
((~) * signature (m Word32), MonadIO m) => MethodInfo * CapsGetSizeMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> m Word32 | Returns: the number of structures that |
Gets the number of structures contained in caps
.
getStructure
data CapsGetStructureMethodInfo Source #
((~) * signature (Word32 -> m Structure), MonadIO m) => MethodInfo * CapsGetStructureMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> Word32 |
|
-> m Structure | Returns: a pointer to the |
Finds the structure in caps
that has the index index
, and
returns it.
WARNING: This function takes a const GstCaps *, but returns a
non-const GstStructure *. This is for programming convenience --
the caller should be aware that structures inside a constant
Caps
should not be modified. However, if you know the caps
are writable, either because you have just copied them or made
them writable with gst_caps_make_writable()
, you may modify the
structure returned in the usual way, e.g. with functions like
gst_structure_set()
.
You do not need to free or unref the structure returned, it
belongs to the Caps
.
intersect
data CapsIntersectMethodInfo Source #
((~) * signature (Caps -> m Caps), MonadIO m) => MethodInfo * CapsIntersectMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> Caps |
|
-> m Caps | Returns: the new |
Creates a new Caps
that contains all the formats that are common
to both caps1
and caps2
. Defaults to CapsIntersectModeZigZag
mode.
intersectFull
data CapsIntersectFullMethodInfo Source #
((~) * signature (Caps -> CapsIntersectMode -> m Caps), MonadIO m) => MethodInfo * CapsIntersectFullMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> Caps |
|
-> CapsIntersectMode |
|
-> m Caps | Returns: the new |
Creates a new Caps
that contains all the formats that are common
to both caps1
and caps2
, the order is defined by the CapsIntersectMode
used.
isAlwaysCompatible
data CapsIsAlwaysCompatibleMethodInfo Source #
((~) * signature (Caps -> m Bool), MonadIO m) => MethodInfo * CapsIsAlwaysCompatibleMethodInfo Caps signature Source # | |
capsIsAlwaysCompatible Source #
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> Caps |
|
-> m Bool | Returns: |
A given Caps
structure is always compatible with another if
every media format that is in the first is also contained in the
second. That is, caps1
is a subset of caps2
.
isAny
data CapsIsAnyMethodInfo Source #
((~) * signature (m Bool), MonadIO m) => MethodInfo * CapsIsAnyMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> m Bool | Returns: |
Determines if caps
represents any media format.
isEmpty
data CapsIsEmptyMethodInfo Source #
((~) * signature (m Bool), MonadIO m) => MethodInfo * CapsIsEmptyMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> m Bool | Returns: |
Determines if caps
represents no media formats.
isEqual
data CapsIsEqualMethodInfo Source #
((~) * signature (Caps -> m Bool), MonadIO m) => MethodInfo * CapsIsEqualMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> Caps |
|
-> m Bool | Returns: |
Checks if the given caps represent the same set of caps.
isEqualFixed
data CapsIsEqualFixedMethodInfo Source #
((~) * signature (Caps -> m Bool), MonadIO m) => MethodInfo * CapsIsEqualFixedMethodInfo Caps signature Source # | |
isFixed
data CapsIsFixedMethodInfo Source #
((~) * signature (m Bool), MonadIO m) => MethodInfo * CapsIsFixedMethodInfo Caps signature Source # | |
Fixed Caps
describe exactly one format, that is, they have exactly
one structure, and each field in the structure describes a fixed type.
Examples of non-fixed types are GST_TYPE_INT_RANGE and GST_TYPE_LIST.
isStrictlyEqual
data CapsIsStrictlyEqualMethodInfo Source #
((~) * signature (Caps -> m Bool), MonadIO m) => MethodInfo * CapsIsStrictlyEqualMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> Caps |
|
-> m Bool | Returns: |
Checks if the given caps are exactly the same set of caps.
isSubset
data CapsIsSubsetMethodInfo Source #
((~) * signature (Caps -> m Bool), MonadIO m) => MethodInfo * CapsIsSubsetMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> Caps |
|
-> m Bool | Returns: |
Checks if all caps represented by subset
are also represented by superset
.
isSubsetStructure
data CapsIsSubsetStructureMethodInfo Source #
((~) * signature (Structure -> m Bool), MonadIO m) => MethodInfo * CapsIsSubsetStructureMethodInfo Caps signature Source # | |
capsIsSubsetStructure Source #
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> Structure |
|
-> m Bool | Returns: |
Checks if structure
is a subset of caps
. See capsIsSubset
for more information.
isSubsetStructureFull
data CapsIsSubsetStructureFullMethodInfo Source #
((~) * signature (Structure -> Maybe CapsFeatures -> m Bool), MonadIO m) => MethodInfo * CapsIsSubsetStructureFullMethodInfo Caps signature Source # | |
capsIsSubsetStructureFull Source #
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> Structure |
|
-> Maybe CapsFeatures |
|
-> m Bool | Returns: |
Checks if structure
is a subset of caps
. See capsIsSubset
for more information.
Since: 1.2
mapInPlace
data CapsMapInPlaceMethodInfo Source #
((~) * signature (CapsMapFunc -> m Bool), MonadIO m) => MethodInfo * CapsMapInPlaceMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> CapsMapFunc |
|
-> m Bool | Returns: |
Calls the provided function once for each structure and caps feature in the
Caps
. In contrast to capsForeach
, the function may modify but not
delete the structures and features. The caps must be mutable.
Since: 1.6
merge
data CapsMergeMethodInfo Source #
((~) * signature (Caps -> m Caps), MonadIO m) => MethodInfo * CapsMergeMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> Caps |
|
-> m Caps | Returns: the merged caps. |
Appends the structures contained in caps2
to caps1
if they are not yet
expressed by caps1
. The structures in caps2
are not copied -- they are
transferred to a writable copy of caps1
, and then caps2
is freed.
If either caps is ANY, the resulting caps will be ANY.
mergeStructure
data CapsMergeStructureMethodInfo Source #
((~) * signature (Structure -> m Caps), MonadIO m) => MethodInfo * CapsMergeStructureMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> Structure |
|
-> m Caps | Returns: the merged caps. |
Appends structure
to caps
if its not already expressed by caps
.
mergeStructureFull
data CapsMergeStructureFullMethodInfo Source #
((~) * signature (Structure -> Maybe CapsFeatures -> m Caps), MonadIO m) => MethodInfo * CapsMergeStructureFullMethodInfo Caps signature Source # | |
capsMergeStructureFull Source #
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> Structure |
|
-> Maybe CapsFeatures |
|
-> m Caps | Returns: the merged caps. |
Appends structure
with features
to caps
if its not already expressed by caps
.
Since: 1.2
newAny
:: (HasCallStack, MonadIO m) | |
=> m Caps | Returns: the new |
Creates a new Caps
that indicates that it is compatible with
any media format.
newEmpty
:: (HasCallStack, MonadIO m) | |
=> m Caps | Returns: the new |
newEmptySimple
:: (HasCallStack, MonadIO m) | |
=> Text |
|
-> m Caps | Returns: the new |
normalize
data CapsNormalizeMethodInfo Source #
((~) * signature (m Caps), MonadIO m) => MethodInfo * CapsNormalizeMethodInfo Caps signature Source # | |
Returns a Caps
that represents the same set of formats as
caps
, but contains no lists. Each list is expanded into separate
gstStructures
.
This function takes ownership of caps
and will call gst_caps_make_writable()
on it so you must not use caps
afterwards unless you keep an additional
reference to it with gst_caps_ref()
.
removeStructure
data CapsRemoveStructureMethodInfo Source #
((~) * signature (Word32 -> m ()), MonadIO m) => MethodInfo * CapsRemoveStructureMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> Word32 |
|
-> m () |
removes the structure with the given index from the list of structures
contained in caps
.
setFeatures
data CapsSetFeaturesMethodInfo Source #
((~) * signature (Word32 -> Maybe CapsFeatures -> m ()), MonadIO m) => MethodInfo * CapsSetFeaturesMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> Word32 |
|
-> Maybe CapsFeatures |
|
-> m () |
Sets the CapsFeatures
features
for the structure at index
.
Since: 1.2
setValue
data CapsSetValueMethodInfo Source #
((~) * signature (Text -> GValue -> m ()), MonadIO m) => MethodInfo * CapsSetValueMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> Text |
|
-> GValue |
|
-> m () |
Sets the given field
on all structures of caps
to the given value
.
This is a convenience function for calling structureSetValue
on
all structures of caps
.
simplify
data CapsSimplifyMethodInfo Source #
((~) * signature (m Caps), MonadIO m) => MethodInfo * CapsSimplifyMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> m Caps | Returns: The simplified caps. |
Converts the given caps
into a representation that represents the
same set of formats, but in a simpler form. Component structures that are
identical are merged. Component structures that have values that can be
merged are also merged.
This function takes ownership of caps
and will call gst_caps_make_writable()
on it if necessary, so you must not use caps
afterwards unless you keep an
additional reference to it with gst_caps_ref()
.
This method does not preserve the original order of caps
.
stealStructure
data CapsStealStructureMethodInfo Source #
((~) * signature (Word32 -> m Structure), MonadIO m) => MethodInfo * CapsStealStructureMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> Word32 |
|
-> m Structure | Returns: a pointer to the |
Retrieves the structure with the given index from the list of structures
contained in caps
. The caller becomes the owner of the returned structure.
subtract
data CapsSubtractMethodInfo Source #
((~) * signature (Caps -> m Caps), MonadIO m) => MethodInfo * CapsSubtractMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> Caps |
|
-> m Caps | Returns: the resulting caps |
Subtracts the subtrahend
from the minuend
.
<note>This function does not work reliably if optional properties for caps
are included on one caps and omitted on the other.</note>
toString
data CapsToStringMethodInfo Source #
((~) * signature (m Text), MonadIO m) => MethodInfo * CapsToStringMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> m Text | Returns: a newly allocated string representing |
Converts caps
to a string representation. This string representation
can be converted back to a Caps
by capsFromString
.
For debugging purposes its easier to do something like this:
C code
GST_LOG ("caps are %" GST_PTR_FORMAT, caps);
This prints the caps in human readable form.
The current implementation of serialization will lead to unexpected results
when there are nested Caps
/ Structure
deeper than one level.
truncate
data CapsTruncateMethodInfo Source #
((~) * signature (m Caps), MonadIO m) => MethodInfo * CapsTruncateMethodInfo Caps signature Source # | |
:: (HasCallStack, MonadIO m) | |
=> Caps |
|
-> m Caps | Returns: truncated caps |
Discard all but the first structure from caps
. Useful when
fixating.
This function takes ownership of caps
and will call gst_caps_make_writable()
on it if necessary, so you must not use caps
afterwards unless you keep an
additional reference to it with gst_caps_ref()
.
Properties
miniObject
caps_miniObject :: AttrLabelProxy "miniObject" Source #
getCapsMiniObject :: MonadIO m => Caps -> m MiniObject Source #