#[repr(C)]
pub struct GstBaseSrcClass {
pub parent_class: GstElementClass,
pub get_caps: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: *mut GstCaps) -> *mut GstCaps>,
pub negotiate: Option<unsafe extern "C" fn(_: *mut GstBaseSrc) -> gboolean>,
pub fixate: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: *mut GstCaps) -> *mut GstCaps>,
pub set_caps: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: *mut GstCaps) -> gboolean>,
pub decide_allocation: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: *mut GstQuery) -> gboolean>,
pub start: Option<unsafe extern "C" fn(_: *mut GstBaseSrc) -> gboolean>,
pub stop: Option<unsafe extern "C" fn(_: *mut GstBaseSrc) -> gboolean>,
pub get_times: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: *mut GstBuffer, _: *mut GstClockTime, _: *mut GstClockTime)>,
pub get_size: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: *mut u64) -> gboolean>,
pub is_seekable: Option<unsafe extern "C" fn(_: *mut GstBaseSrc) -> gboolean>,
pub prepare_seek_segment: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: *mut GstEvent, _: *mut GstSegment) -> gboolean>,
pub do_seek: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: *mut GstSegment) -> gboolean>,
pub unlock: Option<unsafe extern "C" fn(_: *mut GstBaseSrc) -> gboolean>,
pub unlock_stop: Option<unsafe extern "C" fn(_: *mut GstBaseSrc) -> gboolean>,
pub query: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: *mut GstQuery) -> gboolean>,
pub event: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: *mut GstEvent) -> gboolean>,
pub create: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: u64, _: c_uint, _: *mut GstBuffer) -> GstFlowReturn>,
pub alloc: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: u64, _: c_uint, _: *mut GstBuffer) -> GstFlowReturn>,
pub fill: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: u64, _: c_uint, _: *mut GstBuffer) -> GstFlowReturn>,
pub _gst_reserved: [gpointer; 20],
}
parent_class: GstElementClass
get_caps: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: *mut GstCaps) -> *mut GstCaps>
negotiate: Option<unsafe extern "C" fn(_: *mut GstBaseSrc) -> gboolean>
fixate: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: *mut GstCaps) -> *mut GstCaps>
set_caps: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: *mut GstCaps) -> gboolean>
decide_allocation: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: *mut GstQuery) -> gboolean>
start: Option<unsafe extern "C" fn(_: *mut GstBaseSrc) -> gboolean>
stop: Option<unsafe extern "C" fn(_: *mut GstBaseSrc) -> gboolean>
get_times: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: *mut GstBuffer, _: *mut GstClockTime, _: *mut GstClockTime)>
get_size: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: *mut u64) -> gboolean>
is_seekable: Option<unsafe extern "C" fn(_: *mut GstBaseSrc) -> gboolean>
prepare_seek_segment: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: *mut GstEvent, _: *mut GstSegment) -> gboolean>
do_seek: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: *mut GstSegment) -> gboolean>
unlock: Option<unsafe extern "C" fn(_: *mut GstBaseSrc) -> gboolean>
unlock_stop: Option<unsafe extern "C" fn(_: *mut GstBaseSrc) -> gboolean>
query: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: *mut GstQuery) -> gboolean>
event: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: *mut GstEvent) -> gboolean>
create: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: u64, _: c_uint, _: *mut GstBuffer) -> GstFlowReturn>
alloc: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: u64, _: c_uint, _: *mut GstBuffer) -> GstFlowReturn>
fill: Option<unsafe extern "C" fn(_: *mut GstBaseSrc, _: u64, _: c_uint, _: *mut GstBuffer) -> GstFlowReturn>
_gst_reserved: [gpointer; 20]