From 53f03d4cc1a7f4abb7f602190341a44e358fe355 Mon Sep 17 00:00:00 2001 From: Miguel Paris Date: Thu, 29 Nov 2018 13:01:44 +0100 Subject: [PATCH] rtpsource: properly compare buffer PTSs --- gst/rtpmanager/rtpsource.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gst/rtpmanager/rtpsource.c b/gst/rtpmanager/rtpsource.c index 8430a15..30c3466 100644 --- a/gst/rtpmanager/rtpsource.c +++ b/gst/rtpmanager/rtpsource.c @@ -1850,7 +1850,16 @@ compare_buffers (gconstpointer a, gconstpointer b, gpointer user_data) const GstBuffer *bufa = a; const GstBuffer *bufb = b; - return GST_BUFFER_PTS (bufa) - GST_BUFFER_PTS (bufb); + g_return_val_if_fail (GST_BUFFER_PTS (bufa) != GST_CLOCK_TIME_NONE, -1); + g_return_val_if_fail (GST_BUFFER_PTS (bufb) != GST_CLOCK_TIME_NONE, 1); + + if (GST_BUFFER_PTS (bufa) < GST_BUFFER_PTS (bufb)) { + return -1; + } else if (GST_BUFFER_PTS (bufa) > GST_BUFFER_PTS (bufb)) { + return 1; + } + + return 0; } void -- 2.7.4