rtpdec: Always check if we have the next packet queued

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ö <martin@martin.st>
This commit is contained in:
Martin Storsjö 2013-01-14 17:48:26 +02:00
parent 0c1d66a079
commit 9ea78fd00a

View File

@ -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);
}