multifdsink: fix error in sync-method

Multifdsink did not handle sync-method=latest-keyframe correctly when the
soft-limit is set to -1 (unlimited).
Fixes #578583.
This commit is contained in:
Luca Ognibene 2009-04-12 22:26:33 +02:00 committed by Wim Taymans
parent 251f152c20
commit 1beabc48e8

View file

@ -2309,11 +2309,12 @@ restart:
GstBuffer *buf; GstBuffer *buf;
/* no point in searching beyond the soft-max if any. */ /* no point in searching beyond the soft-max if any. */
if (soft_max_buffers) { if (soft_max_buffers > 0) {
limit = MIN (limit, soft_max_buffers); limit = MIN (limit, soft_max_buffers);
} }
GST_LOG_OBJECT (sink, "extending queue to include sync point, now at %d", GST_LOG_OBJECT (sink,
max_buffer_usage); "extending queue to include sync point, now at %d, limit is %d",
max_buffer_usage, limit);
for (i = 0; i < limit; i++) { for (i = 0; i < limit; i++) {
buf = g_array_index (sink->bufqueue, GstBuffer *, i); buf = g_array_index (sink->bufqueue, GstBuffer *, i);
if (is_sync_frame (sink, buf)) { if (is_sync_frame (sink, buf)) {