[][src]Struct obs_sys::obs_source_info

#[repr(C)]
pub struct obs_source_info {
    pub id: *const c_char,
    pub type_: obs_source_type,
    pub output_flags: u32,
    pub get_name: Option<unsafe extern "C" fn(type_data: *mut c_void) -> *const c_char>,
    pub create: Option<unsafe extern "C" fn(settings: *mut obs_data_t, source: *mut obs_source_t) -> *mut c_void>,
    pub destroy: Option<unsafe extern "C" fn(data: *mut c_void)>,
    pub get_width: Option<unsafe extern "C" fn(data: *mut c_void) -> u32>,
    pub get_height: Option<unsafe extern "C" fn(data: *mut c_void) -> u32>,
    pub get_defaults: Option<unsafe extern "C" fn(settings: *mut obs_data_t)>,
    pub get_properties: Option<unsafe extern "C" fn(data: *mut c_void) -> *mut obs_properties_t>,
    pub update: Option<unsafe extern "C" fn(data: *mut c_void, settings: *mut obs_data_t)>,
    pub activate: Option<unsafe extern "C" fn(data: *mut c_void)>,
    pub deactivate: Option<unsafe extern "C" fn(data: *mut c_void)>,
    pub show: Option<unsafe extern "C" fn(data: *mut c_void)>,
    pub hide: Option<unsafe extern "C" fn(data: *mut c_void)>,
    pub video_tick: Option<unsafe extern "C" fn(data: *mut c_void, seconds: f32)>,
    pub video_render: Option<unsafe extern "C" fn(data: *mut c_void, effect: *mut gs_effect_t)>,
    pub filter_video: Option<unsafe extern "C" fn(data: *mut c_void, frame: *mut obs_source_frame) -> *mut obs_source_frame>,
    pub filter_audio: Option<unsafe extern "C" fn(data: *mut c_void, audio: *mut obs_audio_data) -> *mut obs_audio_data>,
    pub enum_active_sources: Option<unsafe extern "C" fn(data: *mut c_void, enum_callback: obs_source_enum_proc_t, param: *mut c_void)>,
    pub save: Option<unsafe extern "C" fn(data: *mut c_void, settings: *mut obs_data_t)>,
    pub load: Option<unsafe extern "C" fn(data: *mut c_void, settings: *mut obs_data_t)>,
    pub mouse_click: Option<unsafe extern "C" fn(data: *mut c_void, event: *const obs_mouse_event, type_: i32, mouse_up: bool, click_count: u32)>,
    pub mouse_move: Option<unsafe extern "C" fn(data: *mut c_void, event: *const obs_mouse_event, mouse_leave: bool)>,
    pub mouse_wheel: Option<unsafe extern "C" fn(data: *mut c_void, event: *const obs_mouse_event, x_delta: c_int, y_delta: c_int)>,
    pub focus: Option<unsafe extern "C" fn(data: *mut c_void, focus: bool)>,
    pub key_click: Option<unsafe extern "C" fn(data: *mut c_void, event: *const obs_key_event, key_up: bool)>,
    pub filter_remove: Option<unsafe extern "C" fn(data: *mut c_void, source: *mut obs_source_t)>,
    pub type_data: *mut c_void,
    pub free_type_data: Option<unsafe extern "C" fn(type_data: *mut c_void)>,
    pub audio_render: Option<unsafe extern "C" fn(data: *mut c_void, ts_out: *mut u64, audio_output: *mut obs_source_audio_mix, mixers: u32, channels: size_t, sample_rate: size_t) -> bool>,
    pub enum_all_sources: Option<unsafe extern "C" fn(data: *mut c_void, enum_callback: obs_source_enum_proc_t, param: *mut c_void)>,
    pub transition_start: Option<unsafe extern "C" fn(data: *mut c_void)>,
    pub transition_stop: Option<unsafe extern "C" fn(data: *mut c_void)>,
    pub get_defaults2: Option<unsafe extern "C" fn(type_data: *mut c_void, settings: *mut obs_data_t)>,
    pub get_properties2: Option<unsafe extern "C" fn(data: *mut c_void, type_data: *mut c_void) -> *mut obs_properties_t>,
    pub audio_mix: Option<unsafe extern "C" fn(data: *mut c_void, ts_out: *mut u64, audio_output: *mut audio_output_data, channels: size_t, sample_rate: size_t) -> bool>,
}

Fields

id: *const c_chartype_: obs_source_typeoutput_flags: u32get_name: Option<unsafe extern "C" fn(type_data: *mut c_void) -> *const c_char>create: Option<unsafe extern "C" fn(settings: *mut obs_data_t, source: *mut obs_source_t) -> *mut c_void>destroy: Option<unsafe extern "C" fn(data: *mut c_void)>get_width: Option<unsafe extern "C" fn(data: *mut c_void) -> u32>get_height: Option<unsafe extern "C" fn(data: *mut c_void) -> u32>get_defaults: Option<unsafe extern "C" fn(settings: *mut obs_data_t)>get_properties: Option<unsafe extern "C" fn(data: *mut c_void) -> *mut obs_properties_t>update: Option<unsafe extern "C" fn(data: *mut c_void, settings: *mut obs_data_t)>activate: Option<unsafe extern "C" fn(data: *mut c_void)>deactivate: Option<unsafe extern "C" fn(data: *mut c_void)>show: Option<unsafe extern "C" fn(data: *mut c_void)>hide: Option<unsafe extern "C" fn(data: *mut c_void)>video_tick: Option<unsafe extern "C" fn(data: *mut c_void, seconds: f32)>video_render: Option<unsafe extern "C" fn(data: *mut c_void, effect: *mut gs_effect_t)>filter_video: Option<unsafe extern "C" fn(data: *mut c_void, frame: *mut obs_source_frame) -> *mut obs_source_frame>filter_audio: Option<unsafe extern "C" fn(data: *mut c_void, audio: *mut obs_audio_data) -> *mut obs_audio_data>enum_active_sources: Option<unsafe extern "C" fn(data: *mut c_void, enum_callback: obs_source_enum_proc_t, param: *mut c_void)>save: Option<unsafe extern "C" fn(data: *mut c_void, settings: *mut obs_data_t)>load: Option<unsafe extern "C" fn(data: *mut c_void, settings: *mut obs_data_t)>mouse_click: Option<unsafe extern "C" fn(data: *mut c_void, event: *const obs_mouse_event, type_: i32, mouse_up: bool, click_count: u32)>mouse_move: Option<unsafe extern "C" fn(data: *mut c_void, event: *const obs_mouse_event, mouse_leave: bool)>mouse_wheel: Option<unsafe extern "C" fn(data: *mut c_void, event: *const obs_mouse_event, x_delta: c_int, y_delta: c_int)>focus: Option<unsafe extern "C" fn(data: *mut c_void, focus: bool)>key_click: Option<unsafe extern "C" fn(data: *mut c_void, event: *const obs_key_event, key_up: bool)>filter_remove: Option<unsafe extern "C" fn(data: *mut c_void, source: *mut obs_source_t)>type_data: *mut c_voidfree_type_data: Option<unsafe extern "C" fn(type_data: *mut c_void)>audio_render: Option<unsafe extern "C" fn(data: *mut c_void, ts_out: *mut u64, audio_output: *mut obs_source_audio_mix, mixers: u32, channels: size_t, sample_rate: size_t) -> bool>enum_all_sources: Option<unsafe extern "C" fn(data: *mut c_void, enum_callback: obs_source_enum_proc_t, param: *mut c_void)>transition_start: Option<unsafe extern "C" fn(data: *mut c_void)>transition_stop: Option<unsafe extern "C" fn(data: *mut c_void)>get_defaults2: Option<unsafe extern "C" fn(type_data: *mut c_void, settings: *mut obs_data_t)>get_properties2: Option<unsafe extern "C" fn(data: *mut c_void, type_data: *mut c_void) -> *mut obs_properties_t>audio_mix: Option<unsafe extern "C" fn(data: *mut c_void, ts_out: *mut u64, audio_output: *mut audio_output_data, channels: size_t, sample_rate: size_t) -> bool>

Trait Implementations

impl Clone for obs_source_info[src]

impl Copy for obs_source_info[src]

impl Debug for obs_source_info[src]

impl Default for obs_source_info[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.