Gst.CapsFeatures
Gst.CapsFeatures can optionally be set on a Gst.Caps to add requirements for additional features for a specific Gst.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 Gst.CapsFeatures are equivalent with the Gst.CapsFeatures that only contain #GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY. ANY Gst.CapsFeatures as created by Gst.new_any are equal to any other Gst.CapsFeatures and can be used to specify that any Gst.CapsFeatures would be supported, e.g. for elements that don't touch buffer memory. Gst.Caps with ANY Gst.CapsFeatures are considered non-fixed and during negotiation some Gst.CapsFeatures have to be selected.
Examples for caps features would be the requirement of a specific Gst.Memory types or the requirement of having a specific Gst.Meta on the buffer. Features are given as a string of the format "memory:GstMemoryTypeName" or "meta:GstMetaAPIName".