stream: refactor TCP backpressure handling
authorMathieu Duponchelle <mathieu@centricular.com>
Tue, 15 Oct 2019 17:08:32 +0000 (19:08 +0200)
committerMathieu Duponchelle <mathieu@centricular.com>
Mon, 21 Oct 2019 11:49:54 +0000 (13:49 +0200)
commitdd32924eb020b01fdec511c9f10a283383312488
treeff5d25a54077e2361556464ca62e4599d9023388
parent95ce953e34cd0e9f5d42ce7900a9572e7bc8ca47
stream: refactor TCP backpressure handling

The previous implementation stopped sending TCP messages to
all clients when a single one stopped consuming them, which
obviously created problems for shared media.

Instead, we now manage a backlog in stream-transport, and slow
clients are removed once this backlog exceeds a maximum duration,
currently hardcoded.

Fixes #80
gst/rtsp-server/rtsp-client.c
gst/rtsp-server/rtsp-server-internal.h [new file with mode: 0644]
gst/rtsp-server/rtsp-stream-transport.c
gst/rtsp-server/rtsp-stream-transport.h
gst/rtsp-server/rtsp-stream.c