Favor av_buffersrc_add_ref() instead, which is more powerful.
fb->buf->free = filter_release_buffer;
buf->refcount++;
- av_buffersrc_buffer(filt_in, fb);
+ av_buffersrc_add_ref(filt_in, fb, AV_BUFFERSRC_FLAG_NO_COPY);
} else
av_buffersrc_write_frame(filt_in, frame);
return 0;
}
+#ifdef FF_API_BUFFERSRC_BUFFER
int av_buffersrc_buffer(AVFilterContext *s, AVFilterBufferRef *buf)
{
return av_buffersrc_add_ref(s, buf, AV_BUFFERSRC_FLAG_NO_COPY);
}
+#endif
unsigned av_buffersrc_get_nb_failed_requests(AVFilterContext *buffer_src)
{
*/
unsigned av_buffersrc_get_nb_failed_requests(AVFilterContext *buffer_src);
+#ifdef FF_API_BUFFERSRC_BUFFER
/**
* Add a buffer to the filtergraph s.
*
* @param buf buffer containing frame data to be passed down the filtergraph.
* This function will take ownership of buf, the user must not free it.
* A NULL buf signals EOF -- i.e. no more frames will be sent to this filter.
+ * @deprecated Use av_buffersrc_add_ref(s, picref, AV_BUFFERSRC_FLAG_NO_COPY) instead.
*/
+attribute_deprecated
int av_buffersrc_buffer(AVFilterContext *s, AVFilterBufferRef *buf);
+#endif
/**
* Add a frame to the buffer source.
#ifndef FF_API_FILL_FRAME
#define FF_API_FILL_FRAME (LIBAVFILTER_VERSION_MAJOR < 4)
#endif
+#ifndef FF_API_BUFFERSRC_BUFFER
+#define FF_API_BUFFERSRC_BUFFER (LIBAVFILTER_VERSION_MAJOR < 4)
+#endif
#endif // AVFILTER_VERSION_H