From 2f5fd70ad8254712a3ae961d8c38a3365ed1d9e3 Mon Sep 17 00:00:00 2001 From: Youness Alaoui Date: Mon, 28 Apr 2008 23:28:51 +0000 Subject: [MOVED FROM GST-P-FARSIGHT] Max latency should also be increased by our own latency 20080428232851-4f0f6-05f9a89403cd54211f2f4a6595704270eab9616f.gz --- gst/liveadder/liveadder.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gst/liveadder/liveadder.c b/gst/liveadder/liveadder.c index 54a7f475..5ab45655 100644 --- a/gst/liveadder/liveadder.c +++ b/gst/liveadder/liveadder.c @@ -645,13 +645,17 @@ gst_live_adder_query (GstPad * pad, GstQuery * query) gst_iterator_free (iter); if (res) { - + GstClockTime my_latency = adder->latency_ms * GST_MSECOND; GST_OBJECT_LOCK (adder); adder->peer_latency = min_latency; - min_latency += adder->latency_ms * GST_MSECOND; + min_latency += my_latency; GST_OBJECT_UNLOCK (adder); - max_latency = MAX (max_latency, min_latency); + /* Make sure we don't risk an overflow */ + if (max_latency < G_MAXUINT64 - my_latency) + max_latency += my_latency; + else + max_latency = G_MAXUINT64 gst_query_set_latency (query, TRUE, min_latency, max_latency); GST_DEBUG_OBJECT (adder, "Calculated total latency : min %" GST_TIME_FORMAT " max %" GST_TIME_FORMAT, -- cgit v1.2.1