From fa387a3eb7442d2faa0aae1a728b2ed978eb1cf2 Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Tue, 27 Feb 2024 18:59:41 +0530 Subject: gsturi: Sort by feature name to break a feature rank tie This matches autoplug in other places such as decodebin, otherwise we will pick "randomly" based on the order in which plugins are registered, which is mostly dependent on the order in which readdir() returns items. So let's make it predictable. Part-of: --- subprojects/gstreamer/gst/gsturi.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/subprojects/gstreamer/gst/gsturi.c b/subprojects/gstreamer/gst/gsturi.c index ae1fb72827..6c569db7c4 100644 --- a/subprojects/gstreamer/gst/gsturi.c +++ b/subprojects/gstreamer/gst/gsturi.c @@ -564,8 +564,12 @@ search_by_entry (GstPluginFeature * feature, gpointer search_entry) static gint sort_by_rank (GstPluginFeature * first, GstPluginFeature * second) { - return gst_plugin_feature_get_rank (second) - + int diff = gst_plugin_feature_get_rank (second) - gst_plugin_feature_get_rank (first); + if (diff == 0) + diff = g_strcmp0 (gst_plugin_feature_get_name (first), + gst_plugin_feature_get_name (second)); + return diff; } static GList * -- cgit v1.2.3