[FFmpeg-cvslog] rtsp: Respect max_delay for the reordering queue when using custom IO

Martin Storsjö git at videolan.org
Tue Jan 8 13:27:52 CET 2013


ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Mon Jan  7 21:26:59 2013 +0200| [f811cd2d47ade37a3e66f12260807aa63375ca50] | committer: Martin Storsjö

rtsp: Respect max_delay for the reordering queue when using custom IO

Signed-off-by: Martin Storsjö <martin at martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f811cd2d47ade37a3e66f12260807aa63375ca50
---

 libavformat/rtsp.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index b3e5444..ba9b756 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -1912,7 +1912,11 @@ redo:
             ff_rtp_check_and_send_back_rr(rtsp_st->transport_priv, rtsp_st->rtp_handle, NULL, len);
         break;
     case RTSP_LOWER_TRANSPORT_CUSTOM:
-        len = ffio_read_partial(s->pb, rt->recvbuf, RECVBUF_SIZE);
+        if (first_queue_st && rt->transport == RTSP_TRANSPORT_RTP &&
+            wait_end && wait_end < av_gettime())
+            len = AVERROR(EAGAIN);
+        else
+            len = ffio_read_partial(s->pb, rt->recvbuf, RECVBUF_SIZE);
         len = pick_stream(s, &rtsp_st, rt->recvbuf, len);
         if (len > 0 && rtsp_st->transport_priv && rt->transport == RTSP_TRANSPORT_RTP)
             ff_rtp_check_and_send_back_rr(rtsp_st->transport_priv, NULL, s->pb, len);



More information about the ffmpeg-cvslog mailing list