mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-08 13:22:53 +02:00
avcodec/videotoolboxenc: Don't ignore ENOMEM
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
This commit is contained in:
parent
2fc37c4239
commit
2eae57c862
@ -2585,14 +2585,13 @@ static int vtenc_send_frame(AVCodecContext *avctx,
|
||||
if (vtctx->a53_cc && side_data && side_data->size) {
|
||||
sei = av_mallocz(sizeof(*sei));
|
||||
if (!sei) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Not enough memory for closed captions, skipping\n");
|
||||
} else {
|
||||
int ret = ff_alloc_a53_sei(frame, 0, &sei->data, &sei->size);
|
||||
if (ret < 0) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Not enough memory for closed captions, skipping\n");
|
||||
av_free(sei);
|
||||
sei = NULL;
|
||||
}
|
||||
status = AVERROR(ENOMEM);
|
||||
goto out;
|
||||
}
|
||||
status = ff_alloc_a53_sei(frame, 0, &sei->data, &sei->size);
|
||||
if (status < 0) {
|
||||
av_free(sei);
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -2608,15 +2607,19 @@ static int vtenc_send_frame(AVCodecContext *avctx,
|
||||
NULL
|
||||
);
|
||||
|
||||
if (frame_dict) CFRelease(frame_dict);
|
||||
CFRelease(cv_img);
|
||||
|
||||
if (status) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Error: cannot encode frame: %d\n", status);
|
||||
return AVERROR_EXTERNAL;
|
||||
status = AVERROR_EXTERNAL;
|
||||
// Not necessary, just in case new code put after here
|
||||
goto out;
|
||||
}
|
||||
|
||||
return 0;
|
||||
out:
|
||||
if (frame_dict)
|
||||
CFRelease(frame_dict);
|
||||
CFRelease(cv_img);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
static av_cold int vtenc_frame(
|
||||
|
Loading…
Reference in New Issue
Block a user