[FFmpeg-devel] [PATCH] rtsp: Fallback to TCP if no packets are received over UDP

Martin Storsjö martin
Wed Jan 12 12:16:56 CET 2011


Hi,

One of the most common issues with RTSP is being unable to receive packets 
over UDP, while TCP works fine. This is somewhat fixed by the NAT punching 
code added last year, but people still have issues every now and then. The 
attached patchset implements fallback from UDP to TCP if we didn't receive 
any packets at all over UDP. (If not specifying any parameters such as 
?tcp, it tries with all available lower transport methods, but only tries 
with other methods if SETUP fails, not if SETUP succeeds but later notices 
that it doesn't receive any packets at all.)

What's missing is handling this for Real RTSP. The real_challenge field 
from ff_rtsp_connect probably needs to be stored in RTSPState, but even if 
doing this and reusing it when trying to re-setup the streams, the server 
replies "SETUP failed: 455 Method Not Valid in This State".

// Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-rtsp-Make-make_setup_request-a-nonstatic-function.patch
Type: text/x-diff
Size: 1968 bytes
Desc: 
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20110112/3f44e85e/attachment.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-rtsp-Split-out-a-function-undoing-the-setup-made-by-.patch
Type: text/x-diff
Size: 4297 bytes
Desc: 
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20110112/3f44e85e/attachment-0001.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-rtsp-Use-ff_rtsp_undo_setup-in-the-cleanup-code-in-f.patch
Type: text/x-diff
Size: 911 bytes
Desc: 
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20110112/3f44e85e/attachment-0002.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-rtspdec-Move-rtsp_read_pause-up-next-to-rtsp_read_pl.patch
Type: text/x-diff
Size: 2069 bytes
Desc: 
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20110112/3f44e85e/attachment-0003.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0005-rtspdec-Retry-with-TCP-if-UDP-failed.patch
Type: text/x-diff
Size: 3238 bytes
Desc: 
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20110112/3f44e85e/attachment-0004.patch>



More information about the ffmpeg-devel mailing list