diff --git a/subprojects/gstreamer/gst/gstelementfactory.c b/subprojects/gstreamer/gst/gstelementfactory.c index e4205b4614..2bbe9434f0 100644 --- a/subprojects/gstreamer/gst/gstelementfactory.c +++ b/subprojects/gstreamer/gst/gstelementfactory.c @@ -1084,6 +1084,10 @@ gst_element_factory_list_is_type (GstElementFactory * factory, res = ((strstr (klass, "Parser") != NULL) && (strstr (klass, "Codec") != NULL)); + if (!res && (type & GST_ELEMENT_FACTORY_TYPE_TIMESTAMPER)) + res = ((strstr (klass, "Timestamper") != NULL) + && (strstr (klass, "Codec") != NULL)); + if (!res && (type & GST_ELEMENT_FACTORY_TYPE_DEPAYLOADER)) res = (strstr (klass, "Depayloader") != NULL); diff --git a/subprojects/gstreamer/gst/gstelementfactory.h b/subprojects/gstreamer/gst/gstelementfactory.h index 07f3f81b22..b3749a6379 100644 --- a/subprojects/gstreamer/gst/gstelementfactory.h +++ b/subprojects/gstreamer/gst/gstelementfactory.h @@ -165,6 +165,14 @@ typedef guint64 GstElementFactoryListType; #define GST_ELEMENT_FACTORY_TYPE_DECRYPTOR ((GstElementFactoryListType)(G_GUINT64_CONSTANT (1) << 10)) #define GST_ELEMENT_FACTORY_TYPE_ENCRYPTOR ((GstElementFactoryListType)(G_GUINT64_CONSTANT (1) << 11)) #define GST_ELEMENT_FACTORY_TYPE_HARDWARE ((GstElementFactoryListType)(G_GUINT64_CONSTANT (1) << 12)) +/** + * GST_ELEMENT_FACTORY_TYPE_TIMESTAMPER: + * + * Timestamp correcting elements + * + * Since: 1.24 + */ +#define GST_ELEMENT_FACTORY_TYPE_TIMESTAMPER ((GstElementFactoryListType)(G_GUINT64_CONSTANT (1) << 13)) #define GST_ELEMENT_FACTORY_TYPE_MAX_ELEMENTS ((GstElementFactoryListType)(G_GUINT64_CONSTANT (1) << 48))