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

Baptiste Coudurier baptiste.coudurier
Wed Oct 13 21:35:14 CEST 2010


On 10/13/2010 12:32 PM, Martin Storsj? wrote:
> On Wed, 13 Oct 2010, Baptiste Coudurier wrote:
>
>> 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.
>
> Well then, could this piece of code return some other specific error code,
> not just the generic -1, so that the caller knows that the actual error is
> "not enough data provided"?

That's the only "error" (<0) reported by this function. I don't 
understand your problem.

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



More information about the ffmpeg-devel mailing list