[FFmpeg-devel] [PATCH] avcodec/libdav1d: only return EAGAIN when there are no buffered packets

James Almer jamrial at gmail.com
Sat May 20 19:42:11 EEST 2023


On 5/20/2023 1:14 PM, Anton Khirnov wrote:
> Quoting James Almer (2023-05-20 15:21:13)
>> Fixes decoding packets containing split temporal units, as generated for example
>> by the av1_frame_split bsf.
>>
>> Signed-off-by: James Almer <jamrial at gmail.com>
>> ---
>>   libavcodec/libdav1d.c | 9 ++++++---
>>   1 file changed, 6 insertions(+), 3 deletions(-)
>>
>> diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c
>> index c15e98cbd1..55ea9166b6 100644
>> --- a/libavcodec/libdav1d.c
>> +++ b/libavcodec/libdav1d.c
>> @@ -328,6 +328,7 @@ static int libdav1d_receive_frame(AVCodecContext *c, AVFrame *frame)
>>   #endif
>>       int res;
>>   
>> +again:
> 
> yuck

I could make it a while loop, but then i need to reindent a lot of 
lines. Is a goto that bad? We use that everywhere...


More information about the ffmpeg-devel mailing list