From: Gwenole Beauchesne Date: Thu, 31 Jan 2013 10:30:12 +0000 (+0100) Subject: glibcompat: add replacement for g_async_queue_timeout_pop(). X-Git-Tag: 1.19.3~503^2~2701 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=56bc1ce98c8e529baabadc0df4644818d0d3c91d;p=platform%2Fupstream%2Fgstreamer.git glibcompat: add replacement for g_async_queue_timeout_pop(). g_async_queue_timeout_pop() appeared in glib 2.31.18. Implement it as g_async_queue_timed_pop() with a GTimeVal as the final time to wait for new data to arrive in the queue. --- diff --git a/gst-libs/gst/vaapi/glibcompat.h b/gst-libs/gst/vaapi/glibcompat.h index 6c9a8aa..24057f8 100644 --- a/gst-libs/gst/vaapi/glibcompat.h +++ b/gst-libs/gst/vaapi/glibcompat.h @@ -135,6 +135,18 @@ g_cond_wait_until(GCompatCond *cond, GStaticMutex *mutex, gint64 end_time) #define g_cond_wait(cond, mutex) g_compat_cond_wait(cond, mutex) #endif +#if !GLIB_CHECK_VERSION(2,31,18) +static inline gpointer +g_async_queue_timeout_pop(GAsyncQueue *queue, guint64 timeout) +{ + GTimeVal end_time; + + g_get_current_time(&end_time); + g_time_val_add(&end_time, timeout); + return g_async_queue_timed_pop(queue, &end_time); +} +#endif + #undef G_COMPAT_DEFINE #endif /* GLIB_COMPAT_H */