1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
use libc::{c_int, c_uint};
use ::avfilter::filter::{AVFilterContext, AVFilterBufferRef};
use ::avutil::AVFrame;

pub const AV_BUFFERSRC_FLAG_NO_CHECK_FORMAT: c_int = 1;
pub const AV_BUFFERSRC_FLAG_NO_COPY:         c_int = 2;
pub const AV_BUFFERSRC_FLAG_PUSH:            c_int = 4;
pub const AV_BUFFERSRC_FLAG_KEEP_REF:        c_int = 8;

extern {
	// XXX: #if FF_API_AVFILTERBUFFER
	pub fn av_buffersrc_add_ref(buffer_src: *mut AVFilterContext, picref: *mut AVFilterBufferRef, flags: c_int) -> c_int;

	pub fn av_buffersrc_get_nb_failed_requests(buffer_src: *const AVFilterContext) -> c_uint;
	pub fn av_buffersrc_write_frame(ctx: *mut AVFilterContext, frame: *const AVFrame) -> c_int;
	pub fn av_buffersrc_add_frame(ctx: *mut AVFilterContext, frame: *mut AVFrame) -> c_int;
	pub fn av_buffersrc_add_frame_flags(buffer_src: *mut AVFilterContext, frame: *mut AVFrame, flags: c_int) -> c_int;
}