Commit ca4b61c5 authored by Philippe Normand's avatar Philippe Normand 🥑

gstelementfactory: Add MEDIA_HARDWARE klass classifier

The Harware factory type classifier allows elements (decoders and encoders,
mostly) to advertize they rely on hardware devices to perform encoding or
decoding operations. This classifier can be used by applications to filter and
select only the elements that use hardware devices, for instance to ensure
zero-copy support is enabled for a specific pipeline.

https://bugzilla.gnome.org/show_bug.cgi?id=796921
parent a9370319
......@@ -1051,6 +1051,7 @@ GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE
GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA
GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE
GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO
GST_ELEMENT_FACTORY_TYPE_MEDIA_HARDWARE
GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY
GST_ELEMENT_FACTORY_TYPE_MUXER
GST_ELEMENT_FACTORY_TYPE_PARSER
......
......@@ -111,6 +111,7 @@ gboolean gst_element_register (GstPlugin *plug
* @GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE: Elements handling image media types
* @GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE: Elements handling subtitle media types
* @GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA: Elements handling metadata media types
* @GST_ELEMENT_FACTORY_TYPE_MEDIA_HARDWARE: Elements interacting with hardware devices, you may need to put the element in "READY" state to test if the hardware is present in the system (Since 1.16)
*
* The type of #GstElementFactory to filter.
*
......@@ -142,7 +143,7 @@ typedef guint64 GstElementFactoryListType;
#define GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE ((GstElementFactoryListType)(G_GUINT64_CONSTANT (1) << 51))
#define GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE ((GstElementFactoryListType)(G_GUINT64_CONSTANT (1) << 52))
#define GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA ((GstElementFactoryListType)(G_GUINT64_CONSTANT (1) << 53))
#define GST_ELEMENT_FACTORY_TYPE_MEDIA_HARDWARE ((GstElementFactoryListType)(G_GUINT64_CONSTANT (1) << 54))
/**
* GST_ELEMENT_FACTORY_TYPE_ANY: (value 562949953421311) (type GstElementFactoryListType)
*
......@@ -209,6 +210,7 @@ typedef guint64 GstElementFactoryListType;
#define GST_ELEMENT_FACTORY_KLASS_MEDIA_IMAGE "Image"
#define GST_ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE "Subtitle"
#define GST_ELEMENT_FACTORY_KLASS_MEDIA_METADATA "Metadata"
#define GST_ELEMENT_FACTORY_KLASS_MEDIA_HARDWARE "Hardware"
GST_API
gboolean gst_element_factory_list_is_type (GstElementFactory *factory,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment