diff options
author | Zhao Zhili <zhilizhao@tencent.com> | 2023-01-04 10:37:50 +0800 |
---|---|---|
committer | Zhao Zhili <zhilizhao@tencent.com> | 2023-01-11 18:57:44 +0800 |
commit | 8f35ee824000ea039067aef0478b413ee4e78fa5 (patch) | |
tree | dfe8e2798b17008a1a7ce82a7c6f5fadf8a6b59d /libavcodec/videotoolboxenc.c | |
parent | e7aca339ce67dd68fc3179af0890cd1cc46e0a83 (diff) | |
download | ffmpeg-8f35ee824000ea039067aef0478b413ee4e78fa5.tar.gz |
avcodec/videotoolboxenc: fix error code
1. Fix return 0 on error.
2. Fix return OS error code passthrough.
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
Diffstat (limited to 'libavcodec/videotoolboxenc.c')
-rw-r--r-- | libavcodec/videotoolboxenc.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libavcodec/videotoolboxenc.c b/libavcodec/videotoolboxenc.c index 3b00e542cb..56971471e4 100644 --- a/libavcodec/videotoolboxenc.c +++ b/libavcodec/videotoolboxenc.c @@ -2555,6 +2555,7 @@ static int vtenc_populate_extradata(AVCodecContext *avctx, pool = VTCompressionSessionGetPixelBufferPool(vtctx->session); if(!pool){ av_log(avctx, AV_LOG_ERROR, "Error getting pixel buffer pool.\n"); + status = AVERROR_EXTERNAL; goto pe_cleanup; } @@ -2564,6 +2565,7 @@ static int vtenc_populate_extradata(AVCodecContext *avctx, if(status != kCVReturnSuccess){ av_log(avctx, AV_LOG_ERROR, "Error creating frame from pool: %d\n", status); + status = AVERROR_EXTERNAL; goto pe_cleanup; } @@ -2581,7 +2583,7 @@ static int vtenc_populate_extradata(AVCodecContext *avctx, AV_LOG_ERROR, "Error sending frame for extradata: %d\n", status); - + status = AVERROR_EXTERNAL; goto pe_cleanup; } @@ -2589,8 +2591,10 @@ static int vtenc_populate_extradata(AVCodecContext *avctx, status = VTCompressionSessionCompleteFrames(vtctx->session, kCMTimeIndefinite); - if (status) + if (status) { + status = AVERROR_EXTERNAL; goto pe_cleanup; + } status = vtenc_q_pop(vtctx, 0, &buf, NULL); if (status) { |