qtdemux: Fix build with GLib versions < 2.54

g_ptr_array_find_with_equal_func was introduced in glib 2.54
which is a higher version than our minimum required one.

https://bugzilla.gnome.org/show_bug.cgi?id=797239
This commit is contained in:
Seungha Yang 2018-10-20 00:10:04 +09:00 committed by Tim-Philipp Müller
parent 13aa805943
commit 7bce030be3

View file

@ -12507,6 +12507,33 @@ qtdemux_reuse_and_configure_stream (GstQTDemux * qtdemux,
return gst_qtdemux_configure_stream (qtdemux, newstream);
}
/* g_ptr_array_find_with_equal_func is available since 2.54,
* replacement until we can depend unconditionally on the real one in GLib */
#if !GLIB_CHECK_VERSION(2,54,0)
#define g_ptr_array_find_with_equal_func qtdemux_ptr_array_find_with_equal_func
static gboolean
qtdemux_ptr_array_find_with_equal_func (GPtrArray * haystack,
gconstpointer needle, GEqualFunc equal_func, guint * index_)
{
guint i;
g_return_val_if_fail (haystack != NULL, FALSE);
if (equal_func == NULL)
equal_func = g_direct_equal;
for (i = 0; i < haystack->len; i++) {
if (equal_func (g_ptr_array_index (haystack, i), needle)) {
if (index_ != NULL)
*index_ = i;
return TRUE;
}
}
return FALSE;
}
#endif
static gboolean
qtdemux_update_streams (GstQTDemux * qtdemux)
{