From e2b173039817f98f19d85cb3727ab99bb8185fff Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Mon, 27 May 2024 15:32:10 +0200 Subject: [PATCH] typefindhelper: implement get_length on GstTypeFindBufHelper Some typefind code may rely on gst_type_find_get_length() which was not working when using the helper. Part-of: --- .../gstreamer/libs/gst/base/gsttypefindhelper.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/subprojects/gstreamer/libs/gst/base/gsttypefindhelper.c b/subprojects/gstreamer/libs/gst/base/gsttypefindhelper.c index 455b22911e..500ea355f8 100644 --- a/subprojects/gstreamer/libs/gst/base/gsttypefindhelper.c +++ b/subprojects/gstreamer/libs/gst/base/gsttypefindhelper.c @@ -579,6 +579,14 @@ buf_helper_find_suggest (gpointer data, guint probability, GstCaps * caps) } } +static guint64 +buf_helper_get_length (gpointer data) +{ + GstTypeFindBufHelper *helper = (GstTypeFindBufHelper *) data; + + return helper->size; +} + /** * gst_type_find_helper_for_data: * @obj: (nullable): object doing the typefinding, or %NULL (used for logging) @@ -670,7 +678,7 @@ gst_type_find_helper_for_data_with_extension (GstObject * obj, find.data = &helper; find.peek = buf_helper_find_peek; find.suggest = buf_helper_find_suggest; - find.get_length = NULL; + find.get_length = buf_helper_get_length; type_list = gst_type_find_factory_get_list (); type_list = prioritize_extension (obj, type_list, extension);