[FFmpeg-devel] [PATCH 3/4] avutil/cuda_check: propagate AVERROR_UNRECOVERABLE when needed

James Almer jamrial at gmail.com
Tue Nov 22 15:31:10 EET 2022


On 11/22/2022 10:21 AM, Timo Rothenpieler wrote:
> On 22/11/2022 14:07, James Almer wrote:
>> Based on a patch by Soft Works.
>>
>> Signed-off-by: James Almer <jamrial at gmail.com>
>> ---
>>   libavutil/cuda_check.h | 4 ++++
>>   1 file changed, 4 insertions(+)
>>
>> diff --git a/libavutil/cuda_check.h b/libavutil/cuda_check.h
>> index f5a9234eaf..33aaf9c098 100644
>> --- a/libavutil/cuda_check.h
>> +++ b/libavutil/cuda_check.h
>> @@ -49,6 +49,10 @@ static inline int ff_cuda_check(void *avctx,
>>           av_log(avctx, AV_LOG_ERROR, " -> %s: %s", err_name, 
>> err_string);
>>       av_log(avctx, AV_LOG_ERROR, "\n");
>> +    // Not recoverable
>> +    if (err == CUDA_ERROR_UNKNOWN)
>> +        return AVERROR_UNRECOVERABLE;
> 
> Why does specifically CUDA_ERROR_UNKNOWN get mapped to unrecoverable?

It's the code that Soft Works found out was returned repeatedly no 
matter how many packets you fed to the encoder, which meant it was stuck 
in an unrecoverable state. See 
http://ffmpeg.org/pipermail/ffmpeg-devel/2021-October/287153.html

If you know of cases where this error could be returned in valid 
recoverable scenarios that are not already handled in some other way, 
what do you suggest could be done?

> 
>>       return AVERROR_EXTERNAL;
>>   }
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list