diff --git a/ChangeLog b/ChangeLog index 2ae5486e2d..be366e1982 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-02-20 Tim-Philipp Müller + + * gst-libs/gst/audio/mixerutils.c: + (element_factory_rank_compare_func): + Make order in which elements are tried more determinable. + 2006-02-20 Julien MOUTTE * gst/playback/gstdecodebin.c: (get_our_ghost_pad), diff --git a/gst-libs/gst/audio/mixerutils.c b/gst-libs/gst/audio/mixerutils.c index 3ac14dcd03..94cdde3dc7 100644 --- a/gst-libs/gst/audio/mixerutils.c +++ b/gst-libs/gst/audio/mixerutils.c @@ -176,6 +176,14 @@ element_factory_rank_compare_func (gconstpointer a, gconstpointer b) gint rank_a = gst_plugin_feature_get_rank (GST_PLUGIN_FEATURE (a)); gint rank_b = gst_plugin_feature_get_rank (GST_PLUGIN_FEATURE (b)); + /* make order chosen in the end more determinable */ + if (rank_a == rank_b) { + const gchar *name_a = GST_PLUGIN_FEATURE_NAME (GST_PLUGIN_FEATURE (a)); + const gchar *name_b = GST_PLUGIN_FEATURE_NAME (GST_PLUGIN_FEATURE (b)); + + return g_ascii_strcasecmp (name_a, name_b); + } + return rank_b - rank_a; }