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: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6348>
This commit is contained in:
Nirbheek Chauhan 2024-02-27 18:59:41 +05:30 committed by GStreamer Marge Bot
parent acd40e7852
commit fa387a3eb7

View file

@ -564,8 +564,12 @@ search_by_entry (GstPluginFeature * feature, gpointer search_entry)
static gint static gint
sort_by_rank (GstPluginFeature * first, GstPluginFeature * second) 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); 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 * static GList *