CapsFeatures
Added in version 1.2.
- class CapsFeatures(*args, **kwargs)
CapsFeatures
can optionally be set on a Caps
to add requirements
for additional features for a specific Structure
. Caps structures with
the same name but with a non-equal set of caps features are not compatible.
If a pad supports multiple sets of features it has to add multiple equal
structures with different feature sets to the caps.
Empty CapsFeatures
are equivalent with the CapsFeatures
that only
contain GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY
. ANY CapsFeatures
as
created by new_any()
are equal to any other CapsFeatures
and can be used to specify that any CapsFeatures
would be supported, e.g.
for elements that don’t touch buffer memory. Caps
with ANY CapsFeatures
are considered non-fixed and during negotiation some CapsFeatures
have
to be selected.
Examples for caps features would be the requirement of a specific Memory
types or the requirement of having a specific Meta
on the buffer. Features
are given as a string of the format memory:GstMemoryTypeName
or
meta:GstMetaAPIName
.
Constructors
- class CapsFeatures
- classmethod new_any() CapsFeatures
Creates a new, ANY
CapsFeatures
. This will be equal to any otherCapsFeatures
but caps with these are unfixed.Added in version 1.2.
- classmethod new_empty() CapsFeatures
Creates a new, empty
CapsFeatures
.Added in version 1.2.
- classmethod new_single(feature: str) CapsFeatures
Creates a new
CapsFeatures
with a single feature.Added in version 1.20.
- Parameters:
feature – The feature
Methods
- class CapsFeatures
- add(feature: str) None
Adds
feature
tofeatures
.Added in version 1.2.
- Parameters:
feature – a feature.
- add_id(feature: int) None
Adds
feature
tofeatures
.Added in version 1.2.
- Parameters:
feature – a feature.
- contains(feature: str) bool
Checks if
features
containsfeature
.Added in version 1.2.
- Parameters:
feature – a feature
- contains_id(feature: int) bool
Checks if
features
containsfeature
.Added in version 1.2.
- Parameters:
feature – a feature
- free() None
Frees a
CapsFeatures
and all its values. The caps features must not have a parent when this function is called.Added in version 1.2.
- from_string(features: str) CapsFeatures | None
Creates a
CapsFeatures
from a string representation.Added in version 1.2.
- Parameters:
features – a string representation of a
CapsFeatures
.
- get_nth(i: int) str | None
Returns the
i
-th feature offeatures
.Added in version 1.2.
- Parameters:
i – index of the feature
- get_nth_id(i: int) int
Returns the
i
-th feature offeatures
.Added in version 1.2.
- Parameters:
i – index of the feature
- is_equal(features2: CapsFeatures) bool
Checks if
features1
andfeatures2
are equal.Added in version 1.2.
- Parameters:
features2 – a
CapsFeatures
.
- remove(feature: str) None
Removes
feature
fromfeatures
.Added in version 1.2.
- Parameters:
feature – a feature.
- remove_id(feature: int) None
Removes
feature
fromfeatures
.Added in version 1.2.
- Parameters:
feature – a feature.
- set_parent_refcount(refcount: int) bool
Sets the parent_refcount field of
CapsFeatures
. This field is used to determine whether a caps features is mutable or not. This function should only be called by code implementing parent objects ofCapsFeatures
, as described in the MT refcounting design document.Added in version 1.2.
- Parameters:
refcount – a pointer to the parent’s refcount