av_frame_free() instead of av_freep() in ffmpeg_destroy() #1712

dankamongmen/rationalize-rgba
nick black 3 years ago committed by Nick Black
parent 5ad08e7e87
commit 36f7eb500c

@ -175,14 +175,14 @@ force_rgba(ncvisual* n){
sframe->linesize);
if(height < 0){
//fprintf(stderr, "Error applying converting %d\n", inf->format);
av_freep(sframe->data);
//av_freep(sframe->data);
av_freep(&sframe);
return -1;
}
int bpp = av_get_bits_per_pixel(av_pix_fmt_desc_get(sframe->format));
if(bpp != 32){
//fprintf(stderr, "Bad bits-per-pixel (wanted 32, got %d)\n", bpp);
av_freep(sframe->data);
//av_freep(sframe->data);
av_freep(&sframe);
return -1;
}
@ -191,6 +191,7 @@ force_rgba(ncvisual* n){
//fprintf(stderr, "SETTING UP RESIZE %p\n", n->data);
if(n->details->frame){
if(n->owndata){
// FIXME av_freep?
av_freep(&n->details->frame);
}
}
@ -300,14 +301,14 @@ int ffmpeg_resize(ncvisual* n, int rows, int cols){
sframe->linesize);
if(height < 0){
//fprintf(stderr, "Error applying scaling (%d X %d)\n", inf->height, inf->width);
av_freep(sframe->data);
//av_freep(sframe->data);
av_freep(&sframe);
return -1;
}
int bpp = av_get_bits_per_pixel(av_pix_fmt_desc_get(sframe->format));
if(bpp != 32){
//fprintf(stderr, "Bad bits-per-pixel (wanted 32, got %d)\n", bpp);
av_freep(sframe->data);
//av_freep(sframe->data);
av_freep(&sframe);
return -1;
}
@ -318,6 +319,7 @@ int ffmpeg_resize(ncvisual* n, int rows, int cols){
//fprintf(stderr, "SETTING UP RESIZE %p\n", n->data);
ncvisual_set_data(n, sframe->data[0], false);
if(n->details->frame){
// FIXME av_freep(&n->details->frame->data);
av_freep(&n->details->frame);
}
}
@ -578,13 +580,13 @@ int ffmpeg_blit(ncvisual* ncv, int rows, int cols, ncplane* n,
if(rgba_blit_dispatch(n, bset, stride, data, rows, cols, bargs) < 0){
//fprintf(stderr, "rgba dispatch failed!\n");
if(sframe){
av_freep(sframe->data);
//av_freep(sframe->data);
av_freep(&sframe);
}
return -1;
}
if(sframe){
av_freep(sframe->data);
//av_freep(ncv->details->frame->data);
av_freep(&sframe);
}
return 0;
@ -634,7 +636,7 @@ void ffmpeg_details_destroy(ncvisual_details* deets){
avcodec_close(deets->codecctx);
avcodec_free_context(&deets->subtcodecctx);
avcodec_free_context(&deets->codecctx);
av_freep(&deets->frame);
av_frame_free(&deets->frame);
//avcodec_parameters_free(&ncv->cparams);
sws_freeContext(deets->rgbactx);
sws_freeContext(deets->swsctx);

Loading…
Cancel
Save