[FFmpeg-devel] [PATCH] Don't send keepalive messages when interleaving RTP over TCP
frothga at sandia.gov
Thu Apr 24 20:53:15 CEST 2014
On 04/24/2014 12:13 PM, Ori Pessach wrote:
> Many RTSP servers will time out a session if they don't receive a keepalive
> message in a timely manner, regardless of the transport used. This patch
> might cause these servers to stop sending data when they determine that the
> client has timed out.
> Specifically, many IP cameras behave in this way. I'm pretty sure the
> behavior is mandated by rfc 2326.
What is the correct behavior for a server?
FFmpeg (rtspdec.c) sends an OPTIONS request every 30 seconds. When the
server receives this on the incoming side of the TCP connection, what
should it do?
1) Send no response to the OPTIONS request. Make a note that keepalive
has been sent and remain in the Playing state. Continue sending RTP and
2) Stall the RTP and RTCP streams. Send the OPTIONS response message.
Immediately resume the streams.
3) Stall, respond, and do not resume streaming.
I failed to find anything in the RFC that clearly spells out how to
handle this aspect of interleaving. If you could point me to the
passage, it would be most appreciated!
More information about the ffmpeg-devel