Commit 58be3093 authored by Jan Alexander Steffens (heftig)'s avatar Jan Alexander Steffens (heftig) Committed by Sebastian Dröge

multihandlesink: Fix buffers-queued being off by one

max_buffer_usage is the index of the oldest buffer in the queue,
starting at zero, not the number of buffers queued.

find_limits returns the index of the oldest buffer that satisfies the
limits in its min_idx parameter, not the number of buffers needed. Fix
this use too in order to keep passing the tests that read
buffers-queued.

https://bugzilla.gnome.org/show_bug.cgi?id=775351
parent 9bdf7ff6
......@@ -1791,7 +1791,7 @@ restart:
find_limits (mhsink, &usage, mhsink->bytes_min, mhsink->buffers_min,
mhsink->time_min, &max, -1, -1, -1);
max_buffer_usage = MAX (max_buffer_usage, usage + 1);
max_buffer_usage = MAX (max_buffer_usage, usage);
GST_LOG_OBJECT (sink, "extended queue to %d", max_buffer_usage);
}
......@@ -1840,7 +1840,7 @@ restart:
gst_buffer_unref (old);
}
/* save for stats */
mhsink->buffers_queued = max_buffer_usage;
mhsink->buffers_queued = max_buffer_usage + 1;
CLIENTS_UNLOCK (sink);
/* and send a signal to thread if handle_set changed */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment