lavc/libx264: do not ignore memory allocation errors

This commit is contained in:
Anton Khirnov
2022-11-27 10:47:53 +01:00
parent cccd2c2179
commit e17b609fc6

View File

@@ -468,14 +468,16 @@ static int setup_frame(AVCodecContext *ctx, const AVFrame *frame,
size_t sei_size; size_t sei_size;
ret = ff_alloc_a53_sei(frame, 0, &sei_data, &sei_size); ret = ff_alloc_a53_sei(frame, 0, &sei_data, &sei_size);
if (ret < 0) { if (ret < 0)
av_log(ctx, AV_LOG_ERROR, "Not enough memory for closed captions, skipping\n"); goto fail;
} else if (sei_data) {
if (sei_data) {
pic->extra_sei.payloads = av_mallocz(sizeof(pic->extra_sei.payloads[0])); pic->extra_sei.payloads = av_mallocz(sizeof(pic->extra_sei.payloads[0]));
if (pic->extra_sei.payloads == NULL) { if (pic->extra_sei.payloads == NULL) {
av_log(ctx, AV_LOG_ERROR, "Not enough memory for closed captions, skipping\n"); ret = AVERROR(ENOMEM);
av_free(sei_data); goto fail;
} else { }
pic->extra_sei.sei_free = av_free; pic->extra_sei.sei_free = av_free;
pic->extra_sei.payloads[0].payload_size = sei_size; pic->extra_sei.payloads[0].payload_size = sei_size;
@@ -484,7 +486,6 @@ static int setup_frame(AVCodecContext *ctx, const AVFrame *frame,
pic->extra_sei.payloads[0].payload_type = 4; pic->extra_sei.payloads[0].payload_type = 4;
} }
} }
}
sd = av_frame_get_side_data(frame, AV_FRAME_DATA_REGIONS_OF_INTEREST); sd = av_frame_get_side_data(frame, AV_FRAME_DATA_REGIONS_OF_INTEREST);
if (sd) { if (sd) {