server/gstdecode.c: Limit the buildup of internal buffers.
authorMark Wooding <mdw@distorted.org.uk>
Sun, 26 Nov 2017 20:30:00 +0000 (20:30 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Wed, 29 Nov 2017 11:47:21 +0000 (11:47 +0000)
Block upstream decoding if we start to build up too many buffers
(presumably because downstream is waiting for real time to pass while it
plays audio at us).

The magic number 16 is plucked from nowhere in particular.  I have no
idea how to choose a number properly.

server/gstdecode.c

index 93cde85..a746a24 100644 (file)
@@ -366,6 +366,8 @@ static void decode(void)
   g_signal_connect(bus, "message", G_CALLBACK(bus_message), 0);
 
   /* Tell the sink to call us when interesting things happen. */
+  gst_app_sink_set_max_buffers(appsink, 16);
+  gst_app_sink_set_drop(appsink, FALSE);
   gst_app_sink_set_callbacks(appsink, &callbacks, 0, 0);
 
   /* Set the ball rolling. */