[FFmpeg-devel] [PATCH] Don't send keepalive messages when interleaving RTP over TCP

Ori Pessach mail at oripessach.com
Thu Apr 24 20:13:21 CEST 2014

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.

On Thu, Apr 24, 2014 at 12:01 PM, Fred Rothganger <frothga at sandia.gov>wrote:

> Attached is a small patch to correct the following problem:
> When receiving video via RTP interleaving over the same TCP connection as
> an RTSP PLAY request, the current code sends a keepalive request every 30
> seconds. Since the response must come over the same connection as the
> interleaved RTP packets, this forces the server to stop streaming RTP. On
> the other hand, keepalive is completely unnecessary, since the connection
> is by definition live if the interleaved packets are arriving.
> This patch simply adds a check to make sure we are not using
> RTSP_LOWER_TRANSPORT_TCP before sending a keepalive request.
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

More information about the ffmpeg-devel mailing list