[INFO] fetching crate libobs-new 2.0.3... [INFO] checking libobs-new-2.0.3 against try#a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d for pr-145342-1 [INFO] extracting crate libobs-new 2.0.3 into /workspace/builds/worker-7-tc2/source [INFO] started tweaking crates.io crate libobs-new 2.0.3 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate libobs-new 2.0.3 [INFO] tweaked toml for crates.io crate libobs-new 2.0.3 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate libobs-new 2.0.3 on toolchain a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate libobs-new 2.0.3 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e1d2d706a814e89c3d04948c7158a4cd3ef6b0ffec79658edb65711277f1ede6 [INFO] running `Command { std: "docker" "start" "-a" "e1d2d706a814e89c3d04948c7158a4cd3ef6b0ffec79658edb65711277f1ede6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e1d2d706a814e89c3d04948c7158a4cd3ef6b0ffec79658edb65711277f1ede6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e1d2d706a814e89c3d04948c7158a4cd3ef6b0ffec79658edb65711277f1ede6", kill_on_drop: false }` [INFO] [stdout] e1d2d706a814e89c3d04948c7158a4cd3ef6b0ffec79658edb65711277f1ede6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 38abfcfe4e6c09073ba64d1409a434892cf5afda7edf4190a6d1a8a15ffb8acd [INFO] running `Command { std: "docker" "start" "-a" "38abfcfe4e6c09073ba64d1409a434892cf5afda7edf4190a6d1a8a15ffb8acd", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.94 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling glob v0.3.2 [INFO] [stderr] Compiling prettyplease v0.2.31 [INFO] [stderr] Compiling libc v0.2.171 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling bindgen v0.71.1 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling bitflags v2.9.0 [INFO] [stderr] Compiling rustc-hash v2.1.1 [INFO] [stderr] Compiling libloading v0.8.6 [INFO] [stderr] Compiling cc v1.2.17 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling syn v2.0.100 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling vsprintf v2.0.0 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling libobs-new v2.0.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:57481 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct base_allocator { pub malloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : usize) -> * mut :: std :: os :: raw :: c_void > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:57602 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct base_allocator { pub malloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : usize) -> * mut :: std :: os :: raw :: c_void > , pub realloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void , arg2 : usize) -> * mut :: std :: os :: raw :: c_void > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:57769 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct base_allocator { pub malloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : usize) -> * mut :: std :: os :: raw :: c_void > , pub realloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void , arg2 : usize) -> * mut :: std :: os :: raw :: c_void > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:57481 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct base_allocator { pub malloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : usize) -> * mut :: std :: os :: raw :: c_void > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:57602 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct base_allocator { pub malloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : usize) -> * mut :: std :: os :: raw :: c_void > , pub realloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void , arg2 : usize) -> * mut :: std :: os :: raw :: c_void > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:57481 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct base_allocator { pub malloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : usize) -> * mut :: std :: os :: raw :: c_void > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:57769 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct base_allocator { pub malloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : usize) -> * mut :: std :: os :: raw :: c_void > , pub realloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void , arg2 : usize) -> * mut :: std :: os :: raw :: c_void > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:57602 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct base_allocator { pub malloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : usize) -> * mut :: std :: os :: raw :: c_void > , pub realloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void , arg2 : usize) -> * mut :: std :: os :: raw :: c_void > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:57481 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct base_allocator { pub malloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : usize) -> * mut :: std :: os :: raw :: c_void > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:57769 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct base_allocator { pub malloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : usize) -> * mut :: std :: os :: raw :: c_void > , pub realloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void , arg2 : usize) -> * mut :: std :: os :: raw :: c_void > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:57602 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct base_allocator { pub malloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : usize) -> * mut :: std :: os :: raw :: c_void > , pub realloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void , arg2 : usize) -> * mut :: std :: os :: raw :: c_void > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:57481 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct base_allocator { pub malloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : usize) -> * mut :: std :: os :: raw :: c_void > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:57769 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct base_allocator { pub malloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : usize) -> * mut :: std :: os :: raw :: c_void > , pub realloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void , arg2 : usize) -> * mut :: std :: os :: raw :: c_void > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:57602 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct base_allocator { pub malloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : usize) -> * mut :: std :: os :: raw :: c_void > , pub realloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void , arg2 : usize) -> * mut :: std :: os :: raw :: c_void > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:75057 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct gs_device_loss { pub device_loss_release : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:57769 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct base_allocator { pub malloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : usize) -> * mut :: std :: os :: raw :: c_void > , pub realloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void , arg2 : usize) -> * mut :: std :: os :: raw :: c_void > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:75182 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct gs_device_loss { pub device_loss_release : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub device_loss_rebuild : :: std :: option :: Option < unsafe extern "C" fn (device : * mut :: std :: os :: raw :: c_void , data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:57481 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct base_allocator { pub malloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : usize) -> * mut :: std :: os :: raw :: c_void > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:57602 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct base_allocator { pub malloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : usize) -> * mut :: std :: os :: raw :: c_void > , pub realloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void , arg2 : usize) -> * mut :: std :: os :: raw :: c_void > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:75057 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct gs_device_loss { pub device_loss_release : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:57769 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct base_allocator { pub malloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : usize) -> * mut :: std :: os :: raw :: c_void > , pub realloc : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void , arg2 : usize) -> * mut :: std :: os :: raw :: c_void > , pub free : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:75057 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct gs_device_loss { pub device_loss_release : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:75182 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct gs_device_loss { pub device_loss_release : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub device_loss_rebuild : :: std :: option :: Option < unsafe extern "C" fn (device : * mut :: std :: os :: raw :: c_void , data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:75182 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct gs_device_loss { pub device_loss_release : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub device_loss_rebuild : :: std :: option :: Option < unsafe extern "C" fn (device : * mut :: std :: os :: raw :: c_void , data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:75057 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct gs_device_loss { pub device_loss_release : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:75057 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct gs_device_loss { pub device_loss_release : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:75182 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct gs_device_loss { pub device_loss_release : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub device_loss_rebuild : :: std :: option :: Option < unsafe extern "C" fn (device : * mut :: std :: os :: raw :: c_void , data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:75182 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct gs_device_loss { pub device_loss_release : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub device_loss_rebuild : :: std :: option :: Option < unsafe extern "C" fn (device : * mut :: std :: os :: raw :: c_void , data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:75057 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct gs_device_loss { pub device_loss_release : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:107581 [INFO] [stdout] | [INFO] [stdout] 3 | ...py , Clone , PartialOrd , Ord , PartialEq , Eq)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:75182 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct gs_device_loss { pub device_loss_release : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub device_loss_rebuild : :: std :: option :: Option < unsafe extern "C" fn (device : * mut :: std :: os :: raw :: c_void , data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:107617 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:107581 [INFO] [stdout] | [INFO] [stdout] 3 | ...py , Clone , PartialOrd , Ord , PartialEq , Eq)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:107655 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:107617 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:107691 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , pub close : cookie_close_function_t , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:107655 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:107581 [INFO] [stdout] | [INFO] [stdout] 3 | ...one , PartialOrd , Ord , PartialEq , Eq)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cooki... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:107691 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , pub close : cookie_close_function_t , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:107617 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:107581 [INFO] [stdout] | [INFO] [stdout] 3 | ...one , PartialOrd , Ord , PartialEq , Eq)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cooki... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:107655 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:107617 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:107691 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , pub close : cookie_close_function_t , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:107655 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:107691 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , pub close : cookie_close_function_t , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:107581 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_w... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:107581 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_w... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:107617 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , p... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:107617 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , p... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:107655 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:107655 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:107691 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , pub close : cookie_close_function_t , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:107691 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct _IO_cookie_io_functions_t { pub read : cookie_read_function_t , pub write : cookie_write_function_t , pub seek : cookie_seek_function_t , pub close : cookie_close_function_t , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:127789 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct audio_output_info { pub name : * const :: std :: os :: raw :: c_char , pub samples_per_sec : u32 , pub format : audio_format , pub speakers : speaker_layout , pub input_callback : audio_input_callback_t , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:127789 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct audio_output_info { pub name : * const :: std :: os :: raw :: c_char , pub samples_per_sec : u32 , pub format : audio_format , pub speakers : speaker_layout , pub input_callback : audio_input_callback_t , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:127789 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct audio_output_info { pub name : * const :: std :: os :: raw :: c_char , pub samples_per_sec : u32 , pub format : audio_format , pub speakers : speaker_layout , pub input_callback : audio_input_callback_t , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:127789 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct audio_output_info { pub name : * const :: std :: os :: raw :: c_char , pub samples_per_sec : u32 , pub format : audio_format , pub speakers : speaker_layout , pub input_callback : audio_input_callback_t , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:127789 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct audio_output_info { pub name : * const :: std :: os :: raw :: c_char , pub samples_per_sec : u32 , pub format : audio_format , pub speakers : speaker_layout , pub input_callback : audio_input_callback_t , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:127789 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct audio_output_info { pub name : * const :: std :: os :: raw :: c_char , pub samples_per_sec : u32 , pub format : audio_format , pub speakers : speaker_layout , pub input_callback : audio_input_callback_t , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:156671 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:156671 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:157062 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:157062 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:157369 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:157369 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:157591 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:157591 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:157823 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:157823 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:158129 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:158129 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:158391 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:158668 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:158391 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:158882 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:158668 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:158882 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:159109 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:159109 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:159272 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:159272 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:159439 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:159439 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:159697 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:159697 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:161074 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:161074 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:161544 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:161544 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:162306 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:162306 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:162791 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:163287 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:162791 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:163696 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:163287 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:164174 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:163696 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:164602 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:164174 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:165059 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:164602 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:165059 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:165478 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:165478 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:165825 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:165825 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:166141 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:166462 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:166141 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:166462 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:166587 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:166587 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:167227 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:167227 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:167436 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:167436 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:167558 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:167558 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:167988 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:167988 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:168332 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:168332 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:168529 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:168529 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:168853 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:168853 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:168990 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:168990 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169109 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169109 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169225 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169225 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169341 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169341 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169461 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169461 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169592 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169592 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169719 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169719 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169859 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , pub media_get_state : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> obs_media_state > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169859 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , pub media_get_state : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> obs_media_state > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:170107 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , pub media_get_state : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> obs_media_state > , pub version : u32 , pub unversioned_id : * const :: std :: os :: raw :: c_char , # [doc = " Missing files"] pub missing_files : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_missing_files_t > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:170107 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , pub media_get_state : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> obs_media_state > , pub version : u32 , pub unversioned_id : * const :: std :: os :: raw :: c_char , # [doc = " Missing files"] pub missing_files : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_missing_files_t > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:170284 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , pub media_get_state : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> obs_media_state > , pub version : u32 , pub unversioned_id : * const :: std :: os :: raw :: c_char , # [doc = " Missing files"] pub missing_files : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_missing_files_t > , # [doc = " Get color space"] pub video_get_color_space : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , count : usize , preferred_spaces : * const gs_color_space) -> gs_color_space > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:170284 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , pub media_get_state : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> obs_media_state > , pub version : u32 , pub unversioned_id : * const :: std :: os :: raw :: c_char , # [doc = " Missing files"] pub missing_files : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_missing_files_t > , # [doc = " Get color space"] pub video_get_color_space : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , count : usize , preferred_spaces : * const gs_color_space) -> gs_color_space > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:170637 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , pub media_get_state : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> obs_media_state > , pub version : u32 , pub unversioned_id : * const :: std :: os :: raw :: c_char , # [doc = " Missing files"] pub missing_files : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_missing_files_t > , # [doc = " Get color space"] pub video_get_color_space : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , count : usize , preferred_spaces : * const gs_color_space) -> gs_color_space > , # [doc = " Called when the filter is added to a source\n\n @param data Filter data\n @param source Source that the filter is being added to"] pub filter_add : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:156671 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:170637 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , pub media_get_state : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> obs_media_state > , pub version : u32 , pub unversioned_id : * const :: std :: os :: raw :: c_char , # [doc = " Missing files"] pub missing_files : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_missing_files_t > , # [doc = " Get color space"] pub video_get_color_space : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , count : usize , preferred_spaces : * const gs_color_space) -> gs_color_space > , # [doc = " Called when the filter is added to a source\n\n @param data Filter data\n @param source Source that the filter is being added to"] pub filter_add : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:156671 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:157062 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:157062 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:157369 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:157369 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:157591 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:157591 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:157823 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:158129 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:158391 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:157823 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:158668 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:158882 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:158129 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:159109 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:158391 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:159272 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:159439 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:158668 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:159697 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:158882 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:161074 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:161544 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:162306 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:162791 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:163287 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:163696 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:159109 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:164174 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:159272 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:164602 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:165059 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:159439 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:165478 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:159697 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:165825 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:161074 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:161544 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:166141 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:162306 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:162791 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:166462 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:163287 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:166587 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:163696 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:167227 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:164174 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:167436 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:164602 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:167558 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:165059 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:167988 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:165478 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:168332 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:165825 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:168529 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:166141 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:168853 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:166462 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:168990 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:166587 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169109 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:167227 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169225 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:167436 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169341 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:167558 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169461 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:167988 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169592 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:168332 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169719 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:168529 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:168853 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169859 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , pub media_get_state : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> obs_media_state > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:168990 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:170107 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , pub media_get_state : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> obs_media_state > , pub version : u32 , pub unversioned_id : * const :: std :: os :: raw :: c_char , # [doc = " Missing files"] pub missing_files : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_missing_files_t > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169109 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:170284 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , pub media_get_state : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> obs_media_state > , pub version : u32 , pub unversioned_id : * const :: std :: os :: raw :: c_char , # [doc = " Missing files"] pub missing_files : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_missing_files_t > , # [doc = " Get color space"] pub video_get_color_space : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , count : usize , preferred_spaces : * const gs_color_space) -> gs_color_space > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:170637 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , pub media_get_state : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> obs_media_state > , pub version : u32 , pub unversioned_id : * const :: std :: os :: raw :: c_char , # [doc = " Missing files"] pub missing_files : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_missing_files_t > , # [doc = " Get color space"] pub video_get_color_space : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , count : usize , preferred_spaces : * const gs_color_space) -> gs_color_space > , # [doc = " Called when the filter is added to a source\n\n @param data Filter data\n @param source Source that the filter is being added to"] pub filter_add : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169225 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:156671 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:157062 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169341 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:157369 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169461 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:157591 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169592 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169719 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:157823 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:158129 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169859 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , pub media_get_state : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> obs_media_state > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:158391 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:170107 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , pub media_get_state : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> obs_media_state > , pub version : u32 , pub unversioned_id : * const :: std :: os :: raw :: c_char , # [doc = " Missing files"] pub missing_files : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_missing_files_t > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:158668 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:170284 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , pub media_get_state : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> obs_media_state > , pub version : u32 , pub unversioned_id : * const :: std :: os :: raw :: c_char , # [doc = " Missing files"] pub missing_files : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_missing_files_t > , # [doc = " Get color space"] pub video_get_color_space : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , count : usize , preferred_spaces : * const gs_color_space) -> gs_color_space > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:158882 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:170637 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , pub media_get_state : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> obs_media_state > , pub version : u32 , pub unversioned_id : * const :: std :: os :: raw :: c_char , # [doc = " Missing files"] pub missing_files : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_missing_files_t > , # [doc = " Get color space"] pub video_get_color_space : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , count : usize , preferred_spaces : * const gs_color_space) -> gs_color_space > , # [doc = " Called when the filter is added to a source\n\n @param data Filter data\n @param source Source that the filter is being added to"] pub filter_add : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:159109 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:156671 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:159272 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:157062 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:159439 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:157369 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:159697 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:157591 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:161074 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:157823 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:161544 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:158129 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:162306 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:158391 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:158668 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:162791 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:163287 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:158882 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:163696 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:159109 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:159272 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:164174 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:164602 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:159439 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:165059 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:159697 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:165478 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:161074 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:165825 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:161544 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:166141 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:162306 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:166462 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:162791 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:166587 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:163287 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:167227 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:163696 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:167436 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:164174 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:167558 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:164602 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:167988 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:165059 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:168332 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:165478 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:168529 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:165825 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:168853 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:166141 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:168990 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:166462 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169109 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:166587 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169225 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169341 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:167227 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:167436 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169461 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:167558 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169592 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:167988 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169719 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169859 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , pub media_get_state : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> obs_media_state > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:168332 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:168529 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:170107 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , pub media_get_state : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> obs_media_state > , pub version : u32 , pub unversioned_id : * const :: std :: os :: raw :: c_char , # [doc = " Missing files"] pub missing_files : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_missing_files_t > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:170284 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , pub media_get_state : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> obs_media_state > , pub version : u32 , pub unversioned_id : * const :: std :: os :: raw :: c_char , # [doc = " Missing files"] pub missing_files : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_missing_files_t > , # [doc = " Get color space"] pub video_get_color_space : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , count : usize , preferred_spaces : * const gs_color_space) -> gs_color_space > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:168853 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:170637 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , pub media_get_state : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> obs_media_state > , pub version : u32 , pub unversioned_id : * const :: std :: os :: raw :: c_char , # [doc = " Missing files"] pub missing_files : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_missing_files_t > , # [doc = " Get color space"] pub video_get_color_space : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , count : usize , preferred_spaces : * const gs_color_space) -> gs_color_space > , # [doc = " Called when the filter is added to a source\n\n @param data Filter data\n @param source Source that the filter is being added to"] pub filter_add : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:168990 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:186049 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169109 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:186474 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169225 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:186741 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169341 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:187361 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169461 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:187648 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169592 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:187895 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:188097 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169719 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:188527 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:169859 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , pub media_get_state : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> obs_media_state > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:189087 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:189562 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Gets the SEI data, if any\n\n @param data Data associated with this encoder context\n @param[out] sei_data Pointer to receive the SEI data\n @param[out] size Pointer to receive the SEI data size\n @return true if SEI data available, false otherwise"] pub get_sei_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , sei_data : * mut * mut u8 , size : * mut usize) -> bool > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:170107 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , pub media_get_state : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> obs_media_state > , pub version : u32 , pub unversioned_id : * const :: std :: os :: raw :: c_char , # [doc = " Missing files"] pub missing_files : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_missing_files_t > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:189919 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Gets the SEI data, if any\n\n @param data Data associated with this encoder context\n @param[out] sei_data Pointer to receive the SEI data\n @param[out] size Pointer to receive the SEI data size\n @return true if SEI data available, false otherwise"] pub get_sei_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , sei_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Returns desired audio format and sample information\n\n @param data Data associated with this encoder context\n @param[in/out] info Audio format information"] pub get_audio_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut audio_convert_info) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:170284 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , pub media_get_state : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> obs_media_state > , pub version : u32 , pub unversioned_id : * const :: std :: os :: raw :: c_char , # [doc = " Missing files"] pub missing_files : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_missing_files_t > , # [doc = " Get color space"] pub video_get_color_space : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , count : usize , preferred_spaces : * const gs_color_space) -> gs_color_space > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:190244 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Gets the SEI data, if any\n\n @param data Data associated with this encoder context\n @param[out] sei_data Pointer to receive the SEI data\n @param[out] size Pointer to receive the SEI data size\n @return true if SEI data available, false otherwise"] pub get_sei_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , sei_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Returns desired audio format and sample information\n\n @param data Data associated with this encoder context\n @param[in/out] info Audio format information"] pub get_audio_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut audio_convert_info) > , # [doc = " Returns desired video format information\n\n @param data Data associated with this encoder context\n @param[in/out] info Video format information"] pub get_video_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut video_scale_info) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:170637 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct obs_source_info { # [doc = " Unique string identifier for the source"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Type of source.\n\n OBS_SOURCE_TYPE_INPUT for input sources,\n OBS_SOURCE_TYPE_FILTER for filter sources, and\n OBS_SOURCE_TYPE_TRANSITION for transition sources."] pub type_ : obs_source_type , # [doc = " Source output flags"] pub output_flags : u32 , # [doc = " Get the translated name of the source type\n\n @param type_data The type_data variable of this structure\n @return The translated name of the source type"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the source data for the source\n\n @param settings Settings to initialize the source with\n @param source Source that this data is associated with\n @return The data associated with this source"] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , source : * mut obs_source_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the private data for the source\n\n Async sources must not call obs_source_output_video after returning\n from destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Returns the width of the source. Required if this is an input\n source and has non-async video"] pub get_width : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Returns the height of the source. Required if this is an input\n source and has non-async video"] pub get_height : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " Gets the default settings for this source\n\n @param[out] settings Data to assign default settings to\n @deprecated Use get_defaults2 if type_data is needed"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @return The properties data\n @deprecated Use get_properties2 if type_data is needed"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this source\n\n @param data Source data\n @param settings New settings for this source"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when the source has been activated in the main view"] pub activate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source has been deactivated from the main view\n (no longer being played/displayed)"] pub deactivate : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is visible"] pub show : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when the source is no longer visible"] pub hide : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called each video frame with the time elapsed\n\n @param data Source data\n @param seconds Seconds elapsed since the last frame"] pub video_tick : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seconds : f32) > , # [doc = " Called when rendering the source with the graphics subsystem.\n\n If this is an input/transition source, this is called to draw the\n source texture with the graphics subsystem using the specified\n effect.\n\n If this is a filter source, it wraps source draw calls (for\n example applying a custom effect with custom parameters to a\n source). In this case, it's highly recommended to use the\n obs_source_process_filter function to automatically handle\n effect-based filter processing. However, you can implement custom\n draw handling as desired as well.\n\n If the source output flags do not include SOURCE_CUSTOM_DRAW, all\n a source needs to do is set the \"image\" parameter of the effect to\n the desired texture, and then draw. If the output flags include\n SOURCE_COLOR_MATRIX, you may optionally set the \"color_matrix\"\n parameter of the effect to a custom 4x4 conversion matrix (by\n default it will be set to an YUV->RGB conversion matrix)\n\n @param data Source data\n @param effect Effect to be used with this source. If the source\n output flags include SOURCE_CUSTOM_DRAW, this will\n be NULL, and the source is expected to process with\n an effect manually."] pub video_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , effect : * mut gs_effect_t) > , # [doc = " Called to filter raw async video data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param frame Video frame to filter\n @return New video frame data. This can defer video data to\n be drawn later if time is needed for processing"] pub filter_video : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut obs_source_frame) -> * mut obs_source_frame > , # [doc = " Called to filter raw audio data.\n\n @note This function is only used with filter sources.\n\n @param data Filter data\n @param audio Audio data to filter.\n @return Modified or new audio data. You can directly modify\n the data passed and return it, or you can defer audio\n data for later if time is needed for processing. If\n you are returning new data, that data must exist\n until the next call to the filter_audio callback or\n until the filter is removed/destroyed."] pub filter_audio : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , audio : * mut obs_audio_data) -> * mut obs_audio_data > , # [doc = " Called to enumerate all active sources being used within this\n source. If the source has children that render audio/video it must\n implement this callback.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_active_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , # [doc = " Called when saving a source. This is a separate function because\n sometimes a source needs to know when it is being saved so it\n doesn't always have to update the current settings until a certain\n point.\n\n @param data Source data\n @param settings Settings"] pub save : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when loading a source from saved data. This should be called\n after all the loading sources have actually been created because\n sometimes there are sources that depend on each other.\n\n @param data Source data\n @param settings Settings"] pub load : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Called when interacting with a source and a mouse-down or mouse-up\n occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param type Mouse button pushed\n @param mouse_up Mouse event type (true if mouse-up)\n @param click_count Mouse click count (1 for single click, etc.)"] pub mouse_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , type_ : i32 , mouse_up : bool , click_count : u32) > , # [doc = " Called when interacting with a source and a mouse-move occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param mouse_leave Mouse leave state (true if mouse left source)"] pub mouse_move : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , mouse_leave : bool) > , # [doc = " Called when interacting with a source and a mouse-wheel occurs.\n\n @param data Source data\n @param event Mouse event properties\n @param x_delta Movement delta in the horizontal direction\n @param y_delta Movement delta in the vertical direction"] pub mouse_wheel : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_mouse_event , x_delta : :: std :: os :: raw :: c_int , y_delta : :: std :: os :: raw :: c_int) > , # [doc = " Called when interacting with a source and gain focus/lost focus event\n occurs.\n\n @param data Source data\n @param focus Focus state (true if focus gained)"] pub focus : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , focus : bool) > , # [doc = " Called when interacting with a source and a key-up or key-down\n occurs.\n\n @param data Source data\n @param event Key event properties\n @param focus Key event type (true if mouse-up)"] pub key_click : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const obs_key_event , key_up : bool) > , # [doc = " Called when the filter is removed from a source\n\n @param data Filter data\n @param source Source that the filter being removed from"] pub filter_remove : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , # [doc = " Private data associated with this entry"] pub type_data : * mut :: std :: os :: raw :: c_void , # [doc = " If defined, called to free private data on shutdown"] pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub audio_render : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut obs_source_audio_mix , mixers : u32 , channels : usize , sample_rate : usize) -> bool > , # [doc = " Called to enumerate all active and inactive sources being used\n within this source. If this callback isn't implemented,\n enum_active_sources will be called instead.\n\n This is typically used if a source can have inactive child sources.\n\n @param data Filter data\n @param enum_callback Enumeration callback\n @param param User data to pass to callback"] pub enum_all_sources : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , enum_callback : obs_source_enum_proc_t , param : * mut :: std :: os :: raw :: c_void) > , pub transition_start : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub transition_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the default settings for this source\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param type_data The type_data variable of this structure\n @param[out] settings Data to assign default settings to"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) > , # [doc = " Gets the property information of this source\n\n @param data Source data\n @param type_data The type_data variable of this structure\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub audio_mix : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , ts_out : * mut u64 , audio_output : * mut audio_output_data , channels : usize , sample_rate : usize) -> bool > , # [doc = " Icon type for the source"] pub icon_type : obs_icon_type , # [doc = " Media controls"] pub media_play_pause : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , pause : bool) > , pub media_restart : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_stop : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_next : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_previous : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub media_get_duration : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_get_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> i64 > , pub media_set_time : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , miliseconds : i64) > , pub media_get_state : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> obs_media_state > , pub version : u32 , pub unversioned_id : * const :: std :: os :: raw :: c_char , # [doc = " Missing files"] pub missing_files : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_missing_files_t > , # [doc = " Get color space"] pub video_get_color_space : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , count : usize , preferred_spaces : * const gs_color_space) -> gs_color_space > , # [doc = " Called when the filter is added to a source\n\n @param data Filter data\n @param source Source that the filter is being added to"] pub filter_add : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , source : * mut obs_source_t) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:190450 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Gets the SEI data, if any\n\n @param data Data associated with this encoder context\n @param[out] sei_data Pointer to receive the SEI data\n @param[out] size Pointer to receive the SEI data size\n @return true if SEI data available, false otherwise"] pub get_sei_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , sei_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Returns desired audio format and sample information\n\n @param data Data associated with this encoder context\n @param[in/out] info Audio format information"] pub get_audio_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut audio_convert_info) > , # [doc = " Returns desired video format information\n\n @param data Data associated with this encoder context\n @param[in/out] info Video format information"] pub get_video_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut video_scale_info) > , pub type_data : * mut :: std :: os :: raw :: c_void , pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:186049 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:190871 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Gets the SEI data, if any\n\n @param data Data associated with this encoder context\n @param[out] sei_data Pointer to receive the SEI data\n @param[out] size Pointer to receive the SEI data size\n @return true if SEI data available, false otherwise"] pub get_sei_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , sei_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Returns desired audio format and sample information\n\n @param data Data associated with this encoder context\n @param[in/out] info Audio format information"] pub get_audio_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut audio_convert_info) > , # [doc = " Returns desired video format information\n\n @param data Data associated with this encoder context\n @param[in/out] info Video format information"] pub get_video_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut video_scale_info) > , pub type_data : * mut :: std :: os :: raw :: c_void , pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub caps : u32 , # [doc = " Gets the default settings for this encoder\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param[out] settings Data to assign default settings to\n @param[in] typedata Type Data"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , type_data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:191221 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Gets the SEI data, if any\n\n @param data Data associated with this encoder context\n @param[out] sei_data Pointer to receive the SEI data\n @param[out] size Pointer to receive the SEI data size\n @return true if SEI data available, false otherwise"] pub get_sei_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , sei_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Returns desired audio format and sample information\n\n @param data Data associated with this encoder context\n @param[in/out] info Audio format information"] pub get_audio_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut audio_convert_info) > , # [doc = " Returns desired video format information\n\n @param data Data associated with this encoder context\n @param[in/out] info Video format information"] pub get_video_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut video_scale_info) > , pub type_data : * mut :: std :: os :: raw :: c_void , pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub caps : u32 , # [doc = " Gets the default settings for this encoder\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param[out] settings Data to assign default settings to\n @param[in] typedata Type Data"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , type_data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the property information of this encoder\n\n @param[in] data Pointer from create (or null)\n @param[in] typedata Type Data\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:186474 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:191418 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Gets the SEI data, if any\n\n @param data Data associated with this encoder context\n @param[out] sei_data Pointer to receive the SEI data\n @param[out] size Pointer to receive the SEI data size\n @return true if SEI data available, false otherwise"] pub get_sei_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , sei_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Returns desired audio format and sample information\n\n @param data Data associated with this encoder context\n @param[in/out] info Audio format information"] pub get_audio_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut audio_convert_info) > , # [doc = " Returns desired video format information\n\n @param data Data associated with this encoder context\n @param[in/out] info Video format information"] pub get_video_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut video_scale_info) > , pub type_data : * mut :: std :: os :: raw :: c_void , pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub caps : u32 , # [doc = " Gets the default settings for this encoder\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param[out] settings Data to assign default settings to\n @param[in] typedata Type Data"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , type_data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the property information of this encoder\n\n @param[in] data Pointer from create (or null)\n @param[in] typedata Type Data\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub encode_texture : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , handle : u32 , pts : i64 , lock_key : u64 , next_key : * mut u64 , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:186741 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:191676 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Gets the SEI data, if any\n\n @param data Data associated with this encoder context\n @param[out] sei_data Pointer to receive the SEI data\n @param[out] size Pointer to receive the SEI data size\n @return true if SEI data available, false otherwise"] pub get_sei_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , sei_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Returns desired audio format and sample information\n\n @param data Data associated with this encoder context\n @param[in/out] info Audio format information"] pub get_audio_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut audio_convert_info) > , # [doc = " Returns desired video format information\n\n @param data Data associated with this encoder context\n @param[in/out] info Video format information"] pub get_video_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut video_scale_info) > , pub type_data : * mut :: std :: os :: raw :: c_void , pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub caps : u32 , # [doc = " Gets the default settings for this encoder\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param[out] settings Data to assign default settings to\n @param[in] typedata Type Data"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , type_data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the property information of this encoder\n\n @param[in] data Pointer from create (or null)\n @param[in] typedata Type Data\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub encode_texture : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , handle : u32 , pts : i64 , lock_key : u64 , next_key : * mut u64 , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , pub encode_texture2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , texture : * mut encoder_texture , pts : i64 , lock_key : u64 , next_key : * mut u64 , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:187361 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:186049 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:186474 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:187648 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:186741 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:187895 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:187361 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:188097 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:187648 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:188527 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:187895 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:189087 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:188097 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:189562 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Gets the SEI data, if any\n\n @param data Data associated with this encoder context\n @param[out] sei_data Pointer to receive the SEI data\n @param[out] size Pointer to receive the SEI data size\n @return true if SEI data available, false otherwise"] pub get_sei_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , sei_data : * mut * mut u8 , size : * mut usize) -> bool > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:188527 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:189919 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Gets the SEI data, if any\n\n @param data Data associated with this encoder context\n @param[out] sei_data Pointer to receive the SEI data\n @param[out] size Pointer to receive the SEI data size\n @return true if SEI data available, false otherwise"] pub get_sei_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , sei_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Returns desired audio format and sample information\n\n @param data Data associated with this encoder context\n @param[in/out] info Audio format information"] pub get_audio_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut audio_convert_info) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:189087 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:190244 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Gets the SEI data, if any\n\n @param data Data associated with this encoder context\n @param[out] sei_data Pointer to receive the SEI data\n @param[out] size Pointer to receive the SEI data size\n @return true if SEI data available, false otherwise"] pub get_sei_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , sei_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Returns desired audio format and sample information\n\n @param data Data associated with this encoder context\n @param[in/out] info Audio format information"] pub get_audio_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut audio_convert_info) > , # [doc = " Returns desired video format information\n\n @param data Data associated with this encoder context\n @param[in/out] info Video format information"] pub get_video_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut video_scale_info) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:189562 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Gets the SEI data, if any\n\n @param data Data associated with this encoder context\n @param[out] sei_data Pointer to receive the SEI data\n @param[out] size Pointer to receive the SEI data size\n @return true if SEI data available, false otherwise"] pub get_sei_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , sei_data : * mut * mut u8 , size : * mut usize) -> bool > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:190450 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Gets the SEI data, if any\n\n @param data Data associated with this encoder context\n @param[out] sei_data Pointer to receive the SEI data\n @param[out] size Pointer to receive the SEI data size\n @return true if SEI data available, false otherwise"] pub get_sei_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , sei_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Returns desired audio format and sample information\n\n @param data Data associated with this encoder context\n @param[in/out] info Audio format information"] pub get_audio_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut audio_convert_info) > , # [doc = " Returns desired video format information\n\n @param data Data associated with this encoder context\n @param[in/out] info Video format information"] pub get_video_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut video_scale_info) > , pub type_data : * mut :: std :: os :: raw :: c_void , pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:189919 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Gets the SEI data, if any\n\n @param data Data associated with this encoder context\n @param[out] sei_data Pointer to receive the SEI data\n @param[out] size Pointer to receive the SEI data size\n @return true if SEI data available, false otherwise"] pub get_sei_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , sei_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Returns desired audio format and sample information\n\n @param data Data associated with this encoder context\n @param[in/out] info Audio format information"] pub get_audio_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut audio_convert_info) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:190871 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Gets the SEI data, if any\n\n @param data Data associated with this encoder context\n @param[out] sei_data Pointer to receive the SEI data\n @param[out] size Pointer to receive the SEI data size\n @return true if SEI data available, false otherwise"] pub get_sei_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , sei_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Returns desired audio format and sample information\n\n @param data Data associated with this encoder context\n @param[in/out] info Audio format information"] pub get_audio_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut audio_convert_info) > , # [doc = " Returns desired video format information\n\n @param data Data associated with this encoder context\n @param[in/out] info Video format information"] pub get_video_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut video_scale_info) > , pub type_data : * mut :: std :: os :: raw :: c_void , pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub caps : u32 , # [doc = " Gets the default settings for this encoder\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param[out] settings Data to assign default settings to\n @param[in] typedata Type Data"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , type_data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:190244 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Gets the SEI data, if any\n\n @param data Data associated with this encoder context\n @param[out] sei_data Pointer to receive the SEI data\n @param[out] size Pointer to receive the SEI data size\n @return true if SEI data available, false otherwise"] pub get_sei_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , sei_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Returns desired audio format and sample information\n\n @param data Data associated with this encoder context\n @param[in/out] info Audio format information"] pub get_audio_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut audio_convert_info) > , # [doc = " Returns desired video format information\n\n @param data Data associated with this encoder context\n @param[in/out] info Video format information"] pub get_video_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut video_scale_info) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:191221 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Gets the SEI data, if any\n\n @param data Data associated with this encoder context\n @param[out] sei_data Pointer to receive the SEI data\n @param[out] size Pointer to receive the SEI data size\n @return true if SEI data available, false otherwise"] pub get_sei_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , sei_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Returns desired audio format and sample information\n\n @param data Data associated with this encoder context\n @param[in/out] info Audio format information"] pub get_audio_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut audio_convert_info) > , # [doc = " Returns desired video format information\n\n @param data Data associated with this encoder context\n @param[in/out] info Video format information"] pub get_video_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut video_scale_info) > , pub type_data : * mut :: std :: os :: raw :: c_void , pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub caps : u32 , # [doc = " Gets the default settings for this encoder\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param[out] settings Data to assign default settings to\n @param[in] typedata Type Data"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , type_data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the property information of this encoder\n\n @param[in] data Pointer from create (or null)\n @param[in] typedata Type Data\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:190450 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Gets the SEI data, if any\n\n @param data Data associated with this encoder context\n @param[out] sei_data Pointer to receive the SEI data\n @param[out] size Pointer to receive the SEI data size\n @return true if SEI data available, false otherwise"] pub get_sei_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , sei_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Returns desired audio format and sample information\n\n @param data Data associated with this encoder context\n @param[in/out] info Audio format information"] pub get_audio_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut audio_convert_info) > , # [doc = " Returns desired video format information\n\n @param data Data associated with this encoder context\n @param[in/out] info Video format information"] pub get_video_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut video_scale_info) > , pub type_data : * mut :: std :: os :: raw :: c_void , pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:191418 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Gets the SEI data, if any\n\n @param data Data associated with this encoder context\n @param[out] sei_data Pointer to receive the SEI data\n @param[out] size Pointer to receive the SEI data size\n @return true if SEI data available, false otherwise"] pub get_sei_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , sei_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Returns desired audio format and sample information\n\n @param data Data associated with this encoder context\n @param[in/out] info Audio format information"] pub get_audio_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut audio_convert_info) > , # [doc = " Returns desired video format information\n\n @param data Data associated with this encoder context\n @param[in/out] info Video format information"] pub get_video_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut video_scale_info) > , pub type_data : * mut :: std :: os :: raw :: c_void , pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub caps : u32 , # [doc = " Gets the default settings for this encoder\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param[out] settings Data to assign default settings to\n @param[in] typedata Type Data"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , type_data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the property information of this encoder\n\n @param[in] data Pointer from create (or null)\n @param[in] typedata Type Data\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub encode_texture : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , handle : u32 , pts : i64 , lock_key : u64 , next_key : * mut u64 , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:191676 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialOrd , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Gets the SEI data, if any\n\n @param data Data associated with this encoder context\n @param[out] sei_data Pointer to receive the SEI data\n @param[out] size Pointer to receive the SEI data size\n @return true if SEI data available, false otherwise"] pub get_sei_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , sei_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Returns desired audio format and sample information\n\n @param data Data associated with this encoder context\n @param[in/out] info Audio format information"] pub get_audio_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut audio_convert_info) > , # [doc = " Returns desired video format information\n\n @param data Data associated with this encoder context\n @param[in/out] info Video format information"] pub get_video_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut video_scale_info) > , pub type_data : * mut :: std :: os :: raw :: c_void , pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub caps : u32 , # [doc = " Gets the default settings for this encoder\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param[out] settings Data to assign default settings to\n @param[in] typedata Type Data"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , type_data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the property information of this encoder\n\n @param[in] data Pointer from create (or null)\n @param[in] typedata Type Data\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub encode_texture : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , handle : u32 , pts : i64 , lock_key : u64 , next_key : * mut u64 , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , pub encode_texture2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , texture : * mut encoder_texture , pts : i64 , lock_key : u64 , next_key : * mut u64 , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , ... [INFO] [stdout] | ---------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:190871 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Gets the SEI data, if any\n\n @param data Data associated with this encoder context\n @param[out] sei_data Pointer to receive the SEI data\n @param[out] size Pointer to receive the SEI data size\n @return true if SEI data available, false otherwise"] pub get_sei_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , sei_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Returns desired audio format and sample information\n\n @param data Data associated with this encoder context\n @param[in/out] info Audio format information"] pub get_audio_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut audio_convert_info) > , # [doc = " Returns desired video format information\n\n @param data Data associated with this encoder context\n @param[in/out] info Video format information"] pub get_video_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut video_scale_info) > , pub type_data : * mut :: std :: os :: raw :: c_void , pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub caps : u32 , # [doc = " Gets the default settings for this encoder\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param[out] settings Data to assign default settings to\n @param[in] typedata Type Data"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , type_data : * mut :: std :: os :: raw :: c_void) > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:191221 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Gets the SEI data, if any\n\n @param data Data associated with this encoder context\n @param[out] sei_data Pointer to receive the SEI data\n @param[out] size Pointer to receive the SEI data size\n @return true if SEI data available, false otherwise"] pub get_sei_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , sei_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Returns desired audio format and sample information\n\n @param data Data associated with this encoder context\n @param[in/out] info Audio format information"] pub get_audio_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut audio_convert_info) > , # [doc = " Returns desired video format information\n\n @param data Data associated with this encoder context\n @param[in/out] info Video format information"] pub get_video_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut video_scale_info) > , pub type_data : * mut :: std :: os :: raw :: c_void , pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub caps : u32 , # [doc = " Gets the default settings for this encoder\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param[out] settings Data to assign default settings to\n @param[in] typedata Type Data"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , type_data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the property information of this encoder\n\n @param[in] data Pointer from create (or null)\n @param[in] typedata Type Data\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:186049 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:191418 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Gets the SEI data, if any\n\n @param data Data associated with this encoder context\n @param[out] sei_data Pointer to receive the SEI data\n @param[out] size Pointer to receive the SEI data size\n @return true if SEI data available, false otherwise"] pub get_sei_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , sei_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Returns desired audio format and sample information\n\n @param data Data associated with this encoder context\n @param[in/out] info Audio format information"] pub get_audio_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut audio_convert_info) > , # [doc = " Returns desired video format information\n\n @param data Data associated with this encoder context\n @param[in/out] info Video format information"] pub get_video_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut video_scale_info) > , pub type_data : * mut :: std :: os :: raw :: c_void , pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub caps : u32 , # [doc = " Gets the default settings for this encoder\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param[out] settings Data to assign default settings to\n @param[in] typedata Type Data"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , type_data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the property information of this encoder\n\n @param[in] data Pointer from create (or null)\n @param[in] typedata Type Data\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub encode_texture : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , handle : u32 , pts : i64 , lock_key : u64 , next_key : * mut u64 , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:186474 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , ... [INFO] [stdout] | --- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/libobs-new-92335ba1dae015a4/out/bindings.rs:3:191676 [INFO] [stdout] | [INFO] [stdout] 3 | ... , Ord , PartialEq , Eq)] pub struct obs_encoder_info { # [doc = " Specifies the named identifier of this encoder"] pub id : * const :: std :: os :: raw :: c_char , # [doc = " Specifies the encoder type (video or audio)"] pub type_ : obs_encoder_type , # [doc = " Specifies the codec"] pub codec : * const :: std :: os :: raw :: c_char , # [doc = " Gets the full translated name of this encoder\n\n @param type_data The type_data variable of this structure\n @return Translated name of the encoder"] pub get_name : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) -> * const :: std :: os :: raw :: c_char > , # [doc = " Creates the encoder with the specified settings\n\n @param settings Settings for the encoder\n @param encoder OBS encoder context\n @return Data associated with this encoder context, or\n NULL if initialization failed."] pub create : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , encoder : * mut obs_encoder_t) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroys the encoder data\n\n @param data Data associated with this encoder context"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Encodes frame(s), and outputs encoded packets as they become\n available.\n\n @param data Data associated with this encoder\n context\n @param[in] frame Raw audio/video data to encode\n @param[out] packet Encoder packet output, if any\n @param[out] received_packet Set to true if a packet was received,\n false otherwise\n @return true if successful, false otherwise."] pub encode : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , frame : * mut encoder_frame , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , # [doc = " Audio encoder only: Returns the frame size for this encoder"] pub get_frame_size : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> usize > , # [doc = " Gets the default settings for this encoder\n\n @param[out] settings Data to assign default settings to"] pub get_defaults : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t) > , # [doc = " Gets the property information of this encoder\n\n @return The properties data"] pub get_properties : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , # [doc = " Updates the settings for this encoder (usually used for things like\n changing bitrate while active)\n\n @param data Data associated with this encoder context\n @param settings New settings for this encoder\n @return true if successful, false otherwise"] pub update : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , settings : * mut obs_data_t) -> bool > , # [doc = " Returns extra data associated with this encoder (usually header)\n\n @param data Data associated with this encoder context\n @param[out] extra_data Pointer to receive the extra data\n @param[out] size Pointer to receive the size of the extra\n data\n @return true if extra data available, false\n otherwise"] pub get_extra_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , extra_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Gets the SEI data, if any\n\n @param data Data associated with this encoder context\n @param[out] sei_data Pointer to receive the SEI data\n @param[out] size Pointer to receive the SEI data size\n @return true if SEI data available, false otherwise"] pub get_sei_data : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , sei_data : * mut * mut u8 , size : * mut usize) -> bool > , # [doc = " Returns desired audio format and sample information\n\n @param data Data associated with this encoder context\n @param[in/out] info Audio format information"] pub get_audio_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut audio_convert_info) > , # [doc = " Returns desired video format information\n\n @param data Data associated with this encoder context\n @param[in/out] info Video format information"] pub get_video_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * mut video_scale_info) > , pub type_data : * mut :: std :: os :: raw :: c_void , pub free_type_data : :: std :: option :: Option < unsafe extern "C" fn (type_data : * mut :: std :: os :: raw :: c_void) > , pub caps : u32 , # [doc = " Gets the default settings for this encoder\n\n If get_defaults is also defined both will be called, and the first\n call will be to get_defaults, then to get_defaults2.\n\n @param[out] settings Data to assign default settings to\n @param[in] typedata Type Data"] pub get_defaults2 : :: std :: option :: Option < unsafe extern "C" fn (settings : * mut obs_data_t , type_data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Gets the property information of this encoder\n\n @param[in] data Pointer from create (or null)\n @param[in] typedata Type Data\n @return The properties data"] pub get_properties2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , type_data : * mut :: std :: os :: raw :: c_void) -> * mut obs_properties_t > , pub encode_texture : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , handle : u32 , pts : i64 , lock_key : u64 , next_key : * mut u64 , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , pub encode_texture2 : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , texture : * mut encoder_texture , pts : i64 , lock_key : u64 , next_key : * mut u64 , packet : * mut encoder_packet , received_packet : * mut bool) -> bool > , ... [WARN] too much data in the log, truncating it