multifdsink: fix error in sync-method
authorLuca Ognibene <luca.ognibene at gmail.com>
Sun, 12 Apr 2009 20:26:33 +0000 (22:26 +0200)
committerWim Taymans <wim@metal.(none)>
Sun, 12 Apr 2009 20:26:33 +0000 (22:26 +0200)
Multifdsink did not handle sync-method=latest-keyframe correctly when the
soft-limit is set to -1 (unlimited).
Fixes #578583.

gst/tcp/gstmultifdsink.c

index af437906de939d9db0237ff41ef4adec17f84307..ae87a3833bc0fdf451642968f407514e76c4d1b0 100644 (file)
@@ -2309,11 +2309,12 @@ restart:
     GstBuffer *buf;
 
     /* 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);
     }
-    GST_LOG_OBJECT (sink, "extending queue to include sync point, now at %d",
-        max_buffer_usage);
+    GST_LOG_OBJECT (sink,
+        "extending queue to include sync point, now at %d, limit is %d",
+        max_buffer_usage, limit);
     for (i = 0; i < limit; i++) {
       buf = g_array_index (sink->bufqueue, GstBuffer *, i);
       if (is_sync_frame (sink, buf)) {