unsafe extern "C" fn trampoline_chain_function<T, F: Fn(&T, Option<&Object>, Buffer) -> Result<FlowSuccess, FlowError> + Send + Sync + 'static>( pad: *mut GstPad, parent: *mut GstObject, buffer: *mut GstBuffer, ) -> GstFlowReturnwhere T: IsA<Pad>,