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
This commit is contained in:
Philippe Normand 2018-10-05 12:19:46 +02:00
parent a9370319b6
commit ca4b61c555
2 changed files with 4 additions and 1 deletions

View file

@ -1051,6 +1051,7 @@ GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE
GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA
GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE
GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO
GST_ELEMENT_FACTORY_TYPE_MEDIA_HARDWARE
GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY
GST_ELEMENT_FACTORY_TYPE_MUXER GST_ELEMENT_FACTORY_TYPE_MUXER
GST_ELEMENT_FACTORY_TYPE_PARSER GST_ELEMENT_FACTORY_TYPE_PARSER

View file

@ -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_IMAGE: Elements handling image media types
* @GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE: Elements handling subtitle 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_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. * 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_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_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_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) * 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_IMAGE "Image"
#define GST_ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE "Subtitle" #define GST_ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE "Subtitle"
#define GST_ELEMENT_FACTORY_KLASS_MEDIA_METADATA "Metadata" #define GST_ELEMENT_FACTORY_KLASS_MEDIA_METADATA "Metadata"
#define GST_ELEMENT_FACTORY_KLASS_MEDIA_HARDWARE "Hardware"
GST_API GST_API
gboolean gst_element_factory_list_is_type (GstElementFactory *factory, gboolean gst_element_factory_list_is_type (GstElementFactory *factory,