summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-01-08 13:14:32 +0100
committerMichael Niedermayer <michaelni@gmx.at>2013-01-08 13:14:39 +0100
commit315f15afe74354df78b1dca711f1ed43c3d7181a (patch)
tree84ce0d4f6d9e5f67322f701033f0f9a9f4185912
parent48d30f6733368f317a61901c61a78a10402eea7b (diff)
parentf811cd2d47ade37a3e66f12260807aa63375ca50 (diff)
Merge remote-tracking branch 'qatar/master'
* qatar/master: rtsp: Respect max_delay for the reordering queue when using custom IO Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavformat/rtsp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index 5f6d738202..9aae845b35 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -1908,7 +1908,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);