diff --git a/avplay.c b/avplay.c index a42a0b48b6..ee069b58dd 100644 --- a/avplay.c +++ b/avplay.c @@ -1235,10 +1235,7 @@ static void stream_close(VideoState *is) for (i = 0; i < VIDEO_PICTURE_QUEUE_SIZE; i++) { vp = &is->pictq[i]; #if CONFIG_AVFILTER - if (vp->picref) { - avfilter_unref_buffer(vp->picref); - vp->picref = NULL; - } + avfilter_unref_bufferp(&vp->picref); #endif if (vp->bmp) { SDL_FreeYUVOverlay(vp->bmp); @@ -1287,9 +1284,7 @@ static void alloc_picture(void *opaque) SDL_FreeYUVOverlay(vp->bmp); #if CONFIG_AVFILTER - if (vp->picref) - avfilter_unref_buffer(vp->picref); - vp->picref = NULL; + avfilter_unref_bufferp(&vp->picref); vp->width = is->out_video_filter->inputs[0]->w; vp->height = is->out_video_filter->inputs[0]->h; @@ -1382,8 +1377,7 @@ static int queue_picture(VideoState *is, AVFrame *src_frame, double pts, int64_t if (vp->bmp) { AVPicture pict = { { 0 } }; #if CONFIG_AVFILTER - if (vp->picref) - avfilter_unref_buffer(vp->picref); + avfilter_unref_bufferp(&vp->picref); vp->picref = src_frame->opaque; #endif diff --git a/libavfilter/af_join.c b/libavfilter/af_join.c index 9ed11a9991..f25ec921dc 100644 --- a/libavfilter/af_join.c +++ b/libavfilter/af_join.c @@ -248,7 +248,7 @@ static void join_uninit(AVFilterContext *ctx) for (i = 0; i < ctx->nb_inputs; i++) { av_freep(&ctx->input_pads[i].name); - avfilter_unref_buffer(s->input_frames[i]); + avfilter_unref_bufferp(&s->input_frames[i]); } av_freep(&s->channels); @@ -402,7 +402,7 @@ static void join_free_buffer(AVFilterBuffer *buf) int i; for (i = 0; i < priv->nb_in_buffers; i++) - avfilter_unref_buffer(priv->in_buffers[i]); + avfilter_unref_bufferp(&priv->in_buffers[i]); av_freep(&priv->in_buffers); av_freep(&buf->priv); diff --git a/libavfilter/fifo.c b/libavfilter/fifo.c index 66de62c3b0..8264d5302e 100644 --- a/libavfilter/fifo.c +++ b/libavfilter/fifo.c @@ -65,11 +65,11 @@ static av_cold void uninit(AVFilterContext *ctx) for (buf = fifo->root.next; buf; buf = tmp) { tmp = buf->next; - avfilter_unref_buffer(buf->buf); + avfilter_unref_bufferp(&buf->buf); av_free(buf); } - avfilter_unref_buffer(fifo->buf_out); + avfilter_unref_bufferp(&fifo->buf_out); } static int add_to_queue(AVFilterLink *inlink, AVFilterBufferRef *buf) diff --git a/libavfilter/vf_overlay.c b/libavfilter/vf_overlay.c index a0c423de26..951ea7a4f6 100644 --- a/libavfilter/vf_overlay.c +++ b/libavfilter/vf_overlay.c @@ -88,8 +88,7 @@ static av_cold void uninit(AVFilterContext *ctx) { OverlayContext *over = ctx->priv; - if (over->overpicref) - avfilter_unref_buffer(over->overpicref); + avfilter_unref_bufferp(&over->overpicref); } static int query_formats(AVFilterContext *ctx) diff --git a/libavfilter/vf_yadif.c b/libavfilter/vf_yadif.c index 9ac11bf959..1025ba12c7 100644 --- a/libavfilter/vf_yadif.c +++ b/libavfilter/vf_yadif.c @@ -224,8 +224,7 @@ static int start_frame(AVFilterLink *link, AVFilterBufferRef *picref) if (yadif->auto_enable && !yadif->cur->video->interlaced) { yadif->out = avfilter_ref_buffer(yadif->cur, AV_PERM_READ); - avfilter_unref_buffer(yadif->prev); - yadif->prev = NULL; + avfilter_unref_bufferp(&yadif->prev); if (yadif->out->pts != AV_NOPTS_VALUE) yadif->out->pts *= 2; return ff_start_frame(ctx->outputs[0], yadif->out); @@ -327,9 +326,9 @@ static av_cold void uninit(AVFilterContext *ctx) { YADIFContext *yadif = ctx->priv; - if (yadif->prev) avfilter_unref_buffer(yadif->prev); - if (yadif->cur ) avfilter_unref_buffer(yadif->cur ); - if (yadif->next) avfilter_unref_buffer(yadif->next); + if (yadif->prev) avfilter_unref_bufferp(&yadif->prev); + if (yadif->cur ) avfilter_unref_bufferp(&yadif->cur ); + if (yadif->next) avfilter_unref_bufferp(&yadif->next); } static int query_formats(AVFilterContext *ctx) diff --git a/libavfilter/vsrc_movie.c b/libavfilter/vsrc_movie.c index 1fb0495e82..b0f191fe8e 100644 --- a/libavfilter/vsrc_movie.c +++ b/libavfilter/vsrc_movie.c @@ -299,8 +299,7 @@ static int request_frame(AVFilterLink *outlink) ret = ff_end_frame(outlink); fail: - avfilter_unref_buffer(movie->picref); - movie->picref = NULL; + avfilter_unref_bufferp(&movie->picref); return ret; }