Mercurial > libavformat.hg
diff rtsp.h @ 4877:940946a4569b libavformat
Send dummy requests over the TCP connection (WMS wants GET_PARAMETER,
Real wants OPTIONS) while the connection is idle, otherwise it will
be aborted after a short period (usually a minute). See the thread
"[PATCH] rtsp.c: keep-alive" on the mailinglist.
author | rbultje |
---|---|
date | Wed, 15 Apr 2009 13:04:34 +0000 |
parents | 2e0ea6f96564 |
children | 686de8748c36 |
line wrap: on
line diff
--- a/rtsp.h Wed Apr 15 06:41:08 2009 +0000 +++ b/rtsp.h Wed Apr 15 13:04:34 2009 +0000 @@ -132,6 +132,14 @@ * (RealServer compatible)" or "RealServer Version v.e.r.sion (platform)", * where platform is the output of $uname -msr | sed 's/ /-/g'. */ char server[64]; + + /** The "timeout" comes as part of the server response to the "SETUP" + * command, in the "Session: <xyz>[;timeout=<value>]" line. It is the + * time, in seconds, that the server will go without traffic over the + * RTSP/TCP connection before it closes the connection. To prevent + * this, sent dummy requests (e.g. OPTIONS) with intervals smaller + * than this value. */ + int timeout; } RTSPMessageHeader; /** @@ -192,6 +200,16 @@ * identifier that the client should re-transmit in each RTSP command */ char session_id[512]; + /** copy of RTSPMessageHeader->timeout, i.e. the time (in seconds) that + * the server will go without traffic on the RTSP/TCP line before it + * closes the connection. */ + int timeout; + + /** timestamp of the last RTSP command that we sent to the RTSP server. + * This is used to calculate when to send dummy commands to keep the + * connection alive, in conjunction with \p timeout. */ + int64_t last_cmd_time; + /** the negotiated data/packet transport protocol; e.g. RTP or RDT */ enum RTSPTransport transport;