[FFmpeg-devel] [PATCH] mpegts: Return AVERROR(EAGAIN) instead of -1 if there isn't enough data

Baptiste Coudurier baptiste.coudurier
Wed Oct 13 21:25:18 CEST 2010


Hi Martin,

On 10/13/2010 01:52 AM, Martin Storsjo wrote:
> This makes the rtpdec queue code able to process packets more efficiently,
> keeping the queue shorter, by parsing the next packet instead of returning
> the unidentified error code -1 as an error.
> ---
>   libavformat/mpegts.c |    2 +-
>   1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
> index d2f9f1e..13a9908 100644
> --- a/libavformat/mpegts.c
> +++ b/libavformat/mpegts.c
> @@ -1742,7 +1742,7 @@ int ff_mpegts_parse_packet(MpegTSContext *ts, AVPacket *pkt,
>           if (ts->stop_parse>0)
>               break;
>           if (len<  TS_PACKET_SIZE)
> -            return -1;
> +            return AVERROR(EAGAIN);
>           if (buf[0] != 0x47) {
>               buf++;
>               len--;

Nope, if we couldn't read TS_PACKET_SIZE, it is an error, there is no 
need to retry.

-- 
Baptiste COUDURIER
Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
FFmpeg maintainer                                  http://www.ffmpeg.org



More information about the ffmpeg-devel mailing list