On 10/05/16 15:28, Martin Storsjö wrote: > 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. > --- > libavformat/rtpdec.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/libavformat/rtpdec.c b/libavformat/rtpdec.c > index ef51993..2512239 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); > } >
Probably it is ok assuming rtp_parse_queued_packet always consumes the pending data, otherwise we might risk an infiniloop. _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
