diff options
author | MaZderMind <git@mazdermind.de> | 2015-11-14 17:07:02 +0100 |
---|---|---|
committer | MaZderMind <git@mazdermind.de> | 2015-11-14 17:13:11 +0100 |
commit | 87f7057a5d59dcddb1f5f54c4013ec1ae0014a93 (patch) | |
tree | 0619dbb92ca724a0a736e54edeb2d46563a78413 /voctocore/lib/avrawoutput.py | |
parent | c099bc00d7d793be7d35a896cce2a2ca1222715f (diff) |
issue a warning when a client is too slow and about to get disconnected, #16
Diffstat (limited to 'voctocore/lib/avrawoutput.py')
-rw-r--r-- | voctocore/lib/avrawoutput.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/voctocore/lib/avrawoutput.py b/voctocore/lib/avrawoutput.py index f7dcdf4..ee77c4d 100644 --- a/voctocore/lib/avrawoutput.py +++ b/voctocore/lib/avrawoutput.py @@ -58,7 +58,12 @@ class AVRawOutput(TCPMultiConnection): self.log.debug('fd %u removed from multifdsink', fileno) self.close_connection(conn) + def on_about_to_disconnect(multifdsink, fileno, status): + if fileno == conn.fileno() and status == 3: # Gst.MultiHandleSinkClientStatus.Slow + self.log.warning('about to remove fd %u from multifdsink because it is too slow!', fileno) + fdsink.connect('client-fd-removed', on_disconnect) + fdsink.connect('client-removed', on_about_to_disconnect) def on_eos(self, bus, message): self.log.debug('Received End-of-Stream-Signal on Output-Pipeline') |