From 9ea78fd00a49f0691c1a5134eb59d4e5bb380a2a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Martin=20Storsj=C3=B6?= Date: Mon, 14 Jan 2013 17:48:26 +0200 Subject: [PATCH] rtpdec: Always check if we have the next packet queued MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit It doesn't matter what the actual reason for not returning an AVPacket was - if we didn't return any packet and we have the next one queued, parse it immediately. (rtp_parse_queued_packet always consumes a queued packet if one exists, so there's no risk for infinite loops.) Signed-off-by: Martin Storsjö --- libavformat/rtpdec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/rtpdec.c b/libavformat/rtpdec.c index ef51993c269..25122398802 100644 --- a/libavformat/rtpdec.c +++ b/libavformat/rtpdec.c @@ -837,7 +837,7 @@ int ff_rtp_parse_packet(RTPDemuxContext *s, AVPacket *pkt, return -1; rv = rtp_parse_one_packet(s, pkt, bufptr, len); s->prev_ret = rv; - while (rv == AVERROR(EAGAIN) && has_next_packet(s)) + while (rv < 0 && has_next_packet(s)) rv = rtp_parse_queued_packet(s, pkt); return rv ? rv : has_next_packet(s); } -- 2.39.2