[INFO] fetching crate ffmpeg-sys-the-third 3.0.1+ffmpeg-7.1... [INFO] checking ffmpeg-sys-the-third-3.0.1+ffmpeg-7.1 against try#a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d for pr-145342-1 [INFO] extracting crate ffmpeg-sys-the-third 3.0.1+ffmpeg-7.1 into /workspace/builds/worker-6-tc2/source [INFO] started tweaking crates.io crate ffmpeg-sys-the-third 3.0.1+ffmpeg-7.1 [INFO] finished tweaking crates.io crate ffmpeg-sys-the-third 3.0.1+ffmpeg-7.1 [INFO] tweaked toml for crates.io crate ffmpeg-sys-the-third 3.0.1+ffmpeg-7.1 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate ffmpeg-sys-the-third 3.0.1+ffmpeg-7.1 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 ffmpeg-sys-the-third 3.0.1+ffmpeg-7.1 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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 449eb97e1a95ca0e97ce84f9cb31bdc7f7a166fad5ffa25790e13fa9c1f0ceed [INFO] running `Command { std: "docker" "start" "-a" "449eb97e1a95ca0e97ce84f9cb31bdc7f7a166fad5ffa25790e13fa9c1f0ceed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "449eb97e1a95ca0e97ce84f9cb31bdc7f7a166fad5ffa25790e13fa9c1f0ceed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "449eb97e1a95ca0e97ce84f9cb31bdc7f7a166fad5ffa25790e13fa9c1f0ceed", kill_on_drop: false }` [INFO] [stdout] 449eb97e1a95ca0e97ce84f9cb31bdc7f7a166fad5ffa25790e13fa9c1f0ceed [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 1ad10a9b04a5d941200bf6bea99d378f2d2ef46766379dc21ddd574e35e0dc66 [INFO] running `Command { std: "docker" "start" "-a" "1ad10a9b04a5d941200bf6bea99d378f2d2ef46766379dc21ddd574e35e0dc66", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.173 [INFO] [stderr] Compiling glob v0.3.1 [INFO] [stderr] Compiling proc-macro2 v1.0.81 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling regex-syntax v0.8.3 [INFO] [stderr] Compiling memchr v2.7.2 [INFO] [stderr] Compiling libloading v0.8.3 [INFO] [stderr] Compiling either v1.11.0 [INFO] [stderr] Compiling bindgen v0.69.4 [INFO] [stderr] Compiling bitflags v2.5.0 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Compiling clang-sys v1.7.0 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling lazycell v1.3.0 [INFO] [stderr] Compiling cc v1.0.96 [INFO] [stderr] Compiling pkg-config v0.3.30 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling syn v2.0.60 [INFO] [stderr] Compiling regex-automata v0.4.6 [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Compiling clang v2.0.0 [INFO] [stderr] Compiling regex v1.10.4 [INFO] [stderr] Compiling ffmpeg-sys-the-third v3.0.1+ffmpeg-7.1 (/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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:177380 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVClass { # [doc = " The name of the class; usually it is the same name as the\n context structure type to which the AVClass is associated."] pub class_name : * const libc :: c_char , # [doc = " A pointer to a function which returns the name of a context\n instance ctx associated with the class."] pub item_name : :: std :: option :: Option < unsafe extern "C" fn (ctx : * mut libc :: c_void) -> * const libc :: 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] = 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:178669 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVClass { # [doc = " The name of the class; usually it is the same name as the\n context structure type to which the AVClass is associated."] pub class_name : * const libc :: c_char , # [doc = " A pointer to a function which returns the name of a context\n instance ctx associated with the class."] pub item_name : :: std :: option :: Option < unsafe extern "C" fn (ctx : * mut libc :: c_void) -> * const libc :: c_char > , # [doc = " a pointer to the first option specified in the class if any or NULL\n\n @see av_set_default_options()"] pub option : * const AVOption , # [doc = " LIBAVUTIL_VERSION with which this structure was created.\n This is used to allow fields to be added without requiring major\n version bumps everywhere."] pub version : libc :: c_int , # [doc = " Offset in the structure where log_level_offset is stored.\n 0 means there is no such variable"] pub log_level_offset_offset : libc :: c_int , # [doc = " Offset in the structure where a pointer to the parent context for\n logging is stored. For example a decoder could pass its AVCodecContext\n to eval as such a parent context, which an av_log() implementation\n could then leverage to display the parent context.\n The offset can be NULL."] pub parent_log_context_offset : libc :: c_int , # [doc = " Category used for visualization (like color)\n This is only set if the category is equal for all objects using this class.\n available since version (51 << 16 | 56 << 8 | 100)"] pub category : AVClassCategory , # [doc = " Callback to return the category.\n available since version (51 << 16 | 59 << 8 | 100)"] pub get_category : :: std :: option :: Option < unsafe extern "C" fn (ctx : * mut libc :: c_void) -> AVClassCategory > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:178886 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVClass { # [doc = " The name of the class; usually it is the same name as the\n context structure type to which the AVClass is associated."] pub class_name : * const libc :: c_char , # [doc = " A pointer to a function which returns the name of a context\n instance ctx associated with the class."] pub item_name : :: std :: option :: Option < unsafe extern "C" fn (ctx : * mut libc :: c_void) -> * const libc :: c_char > , # [doc = " a pointer to the first option specified in the class if any or NULL\n\n @see av_set_default_options()"] pub option : * const AVOption , # [doc = " LIBAVUTIL_VERSION with which this structure was created.\n This is used to allow fields to be added without requiring major\n version bumps everywhere."] pub version : libc :: c_int , # [doc = " Offset in the structure where log_level_offset is stored.\n 0 means there is no such variable"] pub log_level_offset_offset : libc :: c_int , # [doc = " Offset in the structure where a pointer to the parent context for\n logging is stored. For example a decoder could pass its AVCodecContext\n to eval as such a parent context, which an av_log() implementation\n could then leverage to display the parent context.\n The offset can be NULL."] pub parent_log_context_offset : libc :: c_int , # [doc = " Category used for visualization (like color)\n This is only set if the category is equal for all objects using this class.\n available since version (51 << 16 | 56 << 8 | 100)"] pub category : AVClassCategory , # [doc = " Callback to return the category.\n available since version (51 << 16 | 59 << 8 | 100)"] pub get_category : :: std :: option :: Option < unsafe extern "C" fn (ctx : * mut libc :: c_void) -> AVClassCategory > , # [doc = " Callback to return the supported/allowed ranges.\n available since version (52.12)"] pub query_ranges : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut * mut AVOptionRanges , obj : * mut libc :: c_void , key : * const libc :: c_char , flags : libc :: c_int) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:179153 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVClass { # [doc = " The name of the class; usually it is the same name as the\n context structure type to which the AVClass is associated."] pub class_name : * const libc :: c_char , # [doc = " A pointer to a function which returns the name of a context\n instance ctx associated with the class."] pub item_name : :: std :: option :: Option < unsafe extern "C" fn (ctx : * mut libc :: c_void) -> * const libc :: c_char > , # [doc = " a pointer to the first option specified in the class if any or NULL\n\n @see av_set_default_options()"] pub option : * const AVOption , # [doc = " LIBAVUTIL_VERSION with which this structure was created.\n This is used to allow fields to be added without requiring major\n version bumps everywhere."] pub version : libc :: c_int , # [doc = " Offset in the structure where log_level_offset is stored.\n 0 means there is no such variable"] pub log_level_offset_offset : libc :: c_int , # [doc = " Offset in the structure where a pointer to the parent context for\n logging is stored. For example a decoder could pass its AVCodecContext\n to eval as such a parent context, which an av_log() implementation\n could then leverage to display the parent context.\n The offset can be NULL."] pub parent_log_context_offset : libc :: c_int , # [doc = " Category used for visualization (like color)\n This is only set if the category is equal for all objects using this class.\n available since version (51 << 16 | 56 << 8 | 100)"] pub category : AVClassCategory , # [doc = " Callback to return the category.\n available since version (51 << 16 | 59 << 8 | 100)"] pub get_category : :: std :: option :: Option < unsafe extern "C" fn (ctx : * mut libc :: c_void) -> AVClassCategory > , # [doc = " Callback to return the supported/allowed ranges.\n available since version (52.12)"] pub query_ranges : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut * mut AVOptionRanges , obj : * mut libc :: c_void , key : * const libc :: c_char , flags : libc :: c_int) -> libc :: c_int > , # [doc = " Return next AVOptions-enabled child or NULL"] pub child_next : :: std :: option :: Option < unsafe extern "C" fn (obj : * mut libc :: c_void , prev : * mut libc :: c_void) -> * mut libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:179837 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVClass { # [doc = " The name of the class; usually it is the same name as the\n context structure type to which the AVClass is associated."] pub class_name : * const libc :: c_char , # [doc = " A pointer to a function which returns the name of a context\n instance ctx associated with the class."] pub item_name : :: std :: option :: Option < unsafe extern "C" fn (ctx : * mut libc :: c_void) -> * const libc :: c_char > , # [doc = " a pointer to the first option specified in the class if any or NULL\n\n @see av_set_default_options()"] pub option : * const AVOption , # [doc = " LIBAVUTIL_VERSION with which this structure was created.\n This is used to allow fields to be added without requiring major\n version bumps everywhere."] pub version : libc :: c_int , # [doc = " Offset in the structure where log_level_offset is stored.\n 0 means there is no such variable"] pub log_level_offset_offset : libc :: c_int , # [doc = " Offset in the structure where a pointer to the parent context for\n logging is stored. For example a decoder could pass its AVCodecContext\n to eval as such a parent context, which an av_log() implementation\n could then leverage to display the parent context.\n The offset can be NULL."] pub parent_log_context_offset : libc :: c_int , # [doc = " Category used for visualization (like color)\n This is only set if the category is equal for all objects using this class.\n available since version (51 << 16 | 56 << 8 | 100)"] pub category : AVClassCategory , # [doc = " Callback to return the category.\n available since version (51 << 16 | 59 << 8 | 100)"] pub get_category : :: std :: option :: Option < unsafe extern "C" fn (ctx : * mut libc :: c_void) -> AVClassCategory > , # [doc = " Callback to return the supported/allowed ranges.\n available since version (52.12)"] pub query_ranges : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut * mut AVOptionRanges , obj : * mut libc :: c_void , key : * const libc :: c_char , flags : libc :: c_int) -> libc :: c_int > , # [doc = " Return next AVOptions-enabled child or NULL"] pub child_next : :: std :: option :: Option < unsafe extern "C" fn (obj : * mut libc :: c_void , prev : * mut libc :: c_void) -> * mut libc :: c_void > , # [doc = " Iterate over the AVClasses corresponding to potential AVOptions-enabled\n children.\n\n @param iter pointer to opaque iteration state. The caller must initialize\n *iter to NULL before the first call.\n @return AVClass for the next AVOptions-enabled child or NULL if there are\n no more such children.\n\n @note The difference between child_next and this is that child_next\n iterates over _already existing_ objects, while child_class_iterate\n iterates over _all possible_ children."] pub child_class_iterate : :: std :: option :: Option < unsafe extern "C" fn (iter : * mut * mut libc :: c_void) -> * const AVClass > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:313073 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVHWDeviceContext { # [doc = " A class for logging. Set by av_hwdevice_ctx_alloc()."] pub av_class : * const AVClass , # [doc = " Private data used internally by libavutil. Must not be accessed in any\n way by the caller."] pub internal : * mut AVHWDeviceInternal , # [doc = " This field identifies the underlying API used for hardware access.\n\n This field is set when this struct is allocated and never changed\n afterwards."] pub type_ : AVHWDeviceType , # [doc = " The format-specific data, allocated and freed by libavutil along with\n this context.\n\n Should be cast by the user to the format-specific context defined in the\n corresponding header (hwcontext_*.h) and filled as described in the\n documentation before calling av_hwdevice_ctx_init().\n\n After calling av_hwdevice_ctx_init() this struct should not be modified\n by the caller."] pub hwctx : * mut libc :: c_void , # [doc = " This field may be set by the caller before calling av_hwdevice_ctx_init().\n\n If non-NULL, this callback will be called when the last reference to\n this context is unreferenced, immediately before it is freed.\n\n @note when other objects (e.g an AVHWFramesContext) are derived from this\n struct, this callback will be invoked after all such child objects\n are fully uninitialized and their respective destructors invoked."] pub free : :: std :: option :: Option < unsafe extern "C" fn (ctx : * mut AVHWDeviceContext) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:316993 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVHWFramesContext { # [doc = " A class for logging."] pub av_class : * const AVClass , # [doc = " Private data used internally by libavutil. Must not be accessed in any\n way by the caller."] pub internal : * mut AVHWFramesInternal , # [doc = " A reference to the parent AVHWDeviceContext. This reference is owned and\n managed by the enclosing AVHWFramesContext, but the caller may derive\n additional references from it."] pub device_ref : * mut AVBufferRef , # [doc = " The parent AVHWDeviceContext. This is simply a pointer to\n device_ref->data provided for convenience.\n\n Set by libavutil in av_hwframe_ctx_init()."] pub device_ctx : * mut AVHWDeviceContext , # [doc = " The format-specific data, allocated and freed automatically along with\n this context.\n\n Should be cast by the user to the format-specific context defined in the\n corresponding header (hwframe_*.h) and filled as described in the\n documentation before calling av_hwframe_ctx_init().\n\n After any frames using this context are created, the contents of this\n struct should not be modified by the caller."] pub hwctx : * mut libc :: c_void , # [doc = " This field may be set by the caller before calling av_hwframe_ctx_init().\n\n If non-NULL, this callback will be called when the last reference to\n this context is unreferenced, immediately before it is freed."] pub free : :: std :: option :: Option < unsafe extern "C" fn (ctx : * mut AVHWFramesContext) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:678569 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVCodecParser { pub codec_ids : [libc :: c_int ; 7usize] , pub priv_data_size : libc :: c_int , pub parser_init : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVCodecParserContext) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:678691 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVCodecParser { pub codec_ids : [libc :: c_int ; 7usize] , pub priv_data_size : libc :: c_int , pub parser_init : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVCodecParserContext) -> libc :: c_int > , pub parser_parse : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVCodecParserContext , avctx : * mut AVCodecContext , poutbuf : * mut * const u8 , poutbuf_size : * mut libc :: c_int , buf : * const u8 , buf_size : libc :: c_int) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:678957 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVCodecParser { pub codec_ids : [libc :: c_int ; 7usize] , pub priv_data_size : libc :: c_int , pub parser_init : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVCodecParserContext) -> libc :: c_int > , pub parser_parse : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVCodecParserContext , avctx : * mut AVCodecContext , poutbuf : * mut * const u8 , poutbuf_size : * mut libc :: c_int , buf : * const u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub parser_close : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVCodecParserContext) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:679063 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVCodecParser { pub codec_ids : [libc :: c_int ; 7usize] , pub priv_data_size : libc :: c_int , pub parser_init : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVCodecParserContext) -> libc :: c_int > , pub parser_parse : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVCodecParserContext , avctx : * mut AVCodecContext , poutbuf : * mut * const u8 , poutbuf_size : * mut libc :: c_int , buf : * const u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub parser_close : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVCodecParserContext) > , pub split : :: std :: option :: Option < unsafe extern "C" fn (avctx : * mut AVCodecContext , buf : * const u8 , buf_size : libc :: c_int) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:700539 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVIOInterruptCB { pub callback : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut libc :: c_void) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:709603 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVIOContext { # [doc = " A class for private options.\n\n If this AVIOContext is created by avio_open2(), av_class is set and\n passes the options down to protocols.\n\n If this AVIOContext is manually allocated, then av_class may be set by\n the caller.\n\n warning -- this field can be NULL, be sure to not pass this AVIOContext\n to any av_opt_* functions in that case."] pub av_class : * const AVClass , # [doc = "< Start of the buffer."] pub buffer : * mut libc :: c_uchar , # [doc = "< Maximum buffer size"] pub buffer_size : libc :: c_int , # [doc = "< Current position in the buffer"] pub buf_ptr : * mut libc :: c_uchar , # [doc = "< End of the data, may be less than\nbuffer+buffer_size if the read function returned\nless data than requested, e.g. for streams where\nno more data has been received yet."] pub buf_end : * mut libc :: c_uchar , # [doc = "< A private pointer, passed to the read/write/seek/...\nfunctions."] pub opaque : * mut libc :: c_void , pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:709768 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVIOContext { # [doc = " A class for private options.\n\n If this AVIOContext is created by avio_open2(), av_class is set and\n passes the options down to protocols.\n\n If this AVIOContext is manually allocated, then av_class may be set by\n the caller.\n\n warning -- this field can be NULL, be sure to not pass this AVIOContext\n to any av_opt_* functions in that case."] pub av_class : * const AVClass , # [doc = "< Start of the buffer."] pub buffer : * mut libc :: c_uchar , # [doc = "< Maximum buffer size"] pub buffer_size : libc :: c_int , # [doc = "< Current position in the buffer"] pub buf_ptr : * mut libc :: c_uchar , # [doc = "< End of the data, may be less than\nbuffer+buffer_size if the read function returned\nless data than requested, e.g. for streams where\nno more data has been received yet."] pub buf_end : * mut libc :: c_uchar , # [doc = "< A private pointer, passed to the read/write/seek/...\nfunctions."] pub opaque : * mut libc :: c_void , pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub write_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:709934 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVIOContext { # [doc = " A class for private options.\n\n If this AVIOContext is created by avio_open2(), av_class is set and\n passes the options down to protocols.\n\n If this AVIOContext is manually allocated, then av_class may be set by\n the caller.\n\n warning -- this field can be NULL, be sure to not pass this AVIOContext\n to any av_opt_* functions in that case."] pub av_class : * const AVClass , # [doc = "< Start of the buffer."] pub buffer : * mut libc :: c_uchar , # [doc = "< Maximum buffer size"] pub buffer_size : libc :: c_int , # [doc = "< Current position in the buffer"] pub buf_ptr : * mut libc :: c_uchar , # [doc = "< End of the data, may be less than\nbuffer+buffer_size if the read function returned\nless data than requested, e.g. for streams where\nno more data has been received yet."] pub buf_end : * mut libc :: c_uchar , # [doc = "< A private pointer, passed to the read/write/seek/...\nfunctions."] pub opaque : * mut libc :: c_void , pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub write_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub seek : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , offset : i64 , whence : libc :: c_int) -> 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:710640 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVIOContext { # [doc = " A class for private options.\n\n If this AVIOContext is created by avio_open2(), av_class is set and\n passes the options down to protocols.\n\n If this AVIOContext is manually allocated, then av_class may be set by\n the caller.\n\n warning -- this field can be NULL, be sure to not pass this AVIOContext\n to any av_opt_* functions in that case."] pub av_class : * const AVClass , # [doc = "< Start of the buffer."] pub buffer : * mut libc :: c_uchar , # [doc = "< Maximum buffer size"] pub buffer_size : libc :: c_int , # [doc = "< Current position in the buffer"] pub buf_ptr : * mut libc :: c_uchar , # [doc = "< End of the data, may be less than\nbuffer+buffer_size if the read function returned\nless data than requested, e.g. for streams where\nno more data has been received yet."] pub buf_end : * mut libc :: c_uchar , # [doc = "< A private pointer, passed to the read/write/seek/...\nfunctions."] pub opaque : * mut libc :: c_void , pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub write_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub seek : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , offset : i64 , whence : libc :: c_int) -> i64 > , # [doc = "< position in the file of the current buffer"] pub pos : i64 , # [doc = "< true if was unable to read due to error or eof"] pub eof_reached : libc :: c_int , # [doc = "< contains the error code or 0 if no error happened"] pub error : libc :: c_int , # [doc = "< true if open for writing"] pub write_flag : libc :: c_int , pub max_packet_size : libc :: c_int , # [doc = "< Try to buffer at least this amount of data\nbefore flushing it."] pub min_packet_size : libc :: c_int , pub checksum : libc :: c_ulong , pub checksum_ptr : * mut libc :: c_uchar , pub update_checksum : :: std :: option :: Option < unsafe extern "C" fn (checksum : libc :: c_ulong , buf : * const u8 , size : libc :: c_uint) -> libc :: c_ulong > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:710889 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVIOContext { # [doc = " A class for private options.\n\n If this AVIOContext is created by avio_open2(), av_class is set and\n passes the options down to protocols.\n\n If this AVIOContext is manually allocated, then av_class may be set by\n the caller.\n\n warning -- this field can be NULL, be sure to not pass this AVIOContext\n to any av_opt_* functions in that case."] pub av_class : * const AVClass , # [doc = "< Start of the buffer."] pub buffer : * mut libc :: c_uchar , # [doc = "< Maximum buffer size"] pub buffer_size : libc :: c_int , # [doc = "< Current position in the buffer"] pub buf_ptr : * mut libc :: c_uchar , # [doc = "< End of the data, may be less than\nbuffer+buffer_size if the read function returned\nless data than requested, e.g. for streams where\nno more data has been received yet."] pub buf_end : * mut libc :: c_uchar , # [doc = "< A private pointer, passed to the read/write/seek/...\nfunctions."] pub opaque : * mut libc :: c_void , pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub write_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub seek : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , offset : i64 , whence : libc :: c_int) -> i64 > , # [doc = "< position in the file of the current buffer"] pub pos : i64 , # [doc = "< true if was unable to read due to error or eof"] pub eof_reached : libc :: c_int , # [doc = "< contains the error code or 0 if no error happened"] pub error : libc :: c_int , # [doc = "< true if open for writing"] pub write_flag : libc :: c_int , pub max_packet_size : libc :: c_int , # [doc = "< Try to buffer at least this amount of data\nbefore flushing it."] pub min_packet_size : libc :: c_int , pub checksum : libc :: c_ulong , pub checksum_ptr : * mut libc :: c_uchar , pub update_checksum : :: std :: option :: Option < unsafe extern "C" fn (checksum : libc :: c_ulong , buf : * const u8 , size : libc :: c_uint) -> libc :: c_ulong > , # [doc = " Pause or resume playback for network streaming protocols - e.g. MMS."] pub read_pause : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , pause : libc :: c_int) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:711209 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVIOContext { # [doc = " A class for private options.\n\n If this AVIOContext is created by avio_open2(), av_class is set and\n passes the options down to protocols.\n\n If this AVIOContext is manually allocated, then av_class may be set by\n the caller.\n\n warning -- this field can be NULL, be sure to not pass this AVIOContext\n to any av_opt_* functions in that case."] pub av_class : * const AVClass , # [doc = "< Start of the buffer."] pub buffer : * mut libc :: c_uchar , # [doc = "< Maximum buffer size"] pub buffer_size : libc :: c_int , # [doc = "< Current position in the buffer"] pub buf_ptr : * mut libc :: c_uchar , # [doc = "< End of the data, may be less than\nbuffer+buffer_size if the read function returned\nless data than requested, e.g. for streams where\nno more data has been received yet."] pub buf_end : * mut libc :: c_uchar , # [doc = "< A private pointer, passed to the read/write/seek/...\nfunctions."] pub opaque : * mut libc :: c_void , pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub write_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub seek : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , offset : i64 , whence : libc :: c_int) -> i64 > , # [doc = "< position in the file of the current buffer"] pub pos : i64 , # [doc = "< true if was unable to read due to error or eof"] pub eof_reached : libc :: c_int , # [doc = "< contains the error code or 0 if no error happened"] pub error : libc :: c_int , # [doc = "< true if open for writing"] pub write_flag : libc :: c_int , pub max_packet_size : libc :: c_int , # [doc = "< Try to buffer at least this amount of data\nbefore flushing it."] pub min_packet_size : libc :: c_int , pub checksum : libc :: c_ulong , pub checksum_ptr : * mut libc :: c_uchar , pub update_checksum : :: std :: option :: Option < unsafe extern "C" fn (checksum : libc :: c_ulong , buf : * const u8 , size : libc :: c_uint) -> libc :: c_ulong > , # [doc = " Pause or resume playback for network streaming protocols - e.g. MMS."] pub read_pause : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , pause : libc :: c_int) -> libc :: c_int > , # [doc = " Seek to a given timestamp in stream with the specified stream_index.\n Needed for some network streaming protocols which don't support seeking\n to byte position."] pub read_seek : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , stream_index : libc :: c_int , timestamp : i64 , flags : libc :: c_int) -> 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:711939 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVIOContext { # [doc = " A class for private options.\n\n If this AVIOContext is created by avio_open2(), av_class is set and\n passes the options down to protocols.\n\n If this AVIOContext is manually allocated, then av_class may be set by\n the caller.\n\n warning -- this field can be NULL, be sure to not pass this AVIOContext\n to any av_opt_* functions in that case."] pub av_class : * const AVClass , # [doc = "< Start of the buffer."] pub buffer : * mut libc :: c_uchar , # [doc = "< Maximum buffer size"] pub buffer_size : libc :: c_int , # [doc = "< Current position in the buffer"] pub buf_ptr : * mut libc :: c_uchar , # [doc = "< End of the data, may be less than\nbuffer+buffer_size if the read function returned\nless data than requested, e.g. for streams where\nno more data has been received yet."] pub buf_end : * mut libc :: c_uchar , # [doc = "< A private pointer, passed to the read/write/seek/...\nfunctions."] pub opaque : * mut libc :: c_void , pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub write_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub seek : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , offset : i64 , whence : libc :: c_int) -> i64 > , # [doc = "< position in the file of the current buffer"] pub pos : i64 , # [doc = "< true if was unable to read due to error or eof"] pub eof_reached : libc :: c_int , # [doc = "< contains the error code or 0 if no error happened"] pub error : libc :: c_int , # [doc = "< true if open for writing"] pub write_flag : libc :: c_int , pub max_packet_size : libc :: c_int , # [doc = "< Try to buffer at least this amount of data\nbefore flushing it."] pub min_packet_size : libc :: c_int , pub checksum : libc :: c_ulong , pub checksum_ptr : * mut libc :: c_uchar , pub update_checksum : :: std :: option :: Option < unsafe extern "C" fn (checksum : libc :: c_ulong , buf : * const u8 , size : libc :: c_uint) -> libc :: c_ulong > , # [doc = " Pause or resume playback for network streaming protocols - e.g. MMS."] pub read_pause : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , pause : libc :: c_int) -> libc :: c_int > , # [doc = " Seek to a given timestamp in stream with the specified stream_index.\n Needed for some network streaming protocols which don't support seeking\n to byte position."] pub read_seek : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , stream_index : libc :: c_int , timestamp : i64 , flags : libc :: c_int) -> i64 > , # [doc = " A combination of AVIO_SEEKABLE_ flags or 0 when the stream is not seekable."] pub seekable : libc :: c_int , # [doc = " avio_read and avio_write should if possible be satisfied directly\n instead of going through a buffer, and avio_seek will always\n call the underlying seek function directly."] pub direct : libc :: c_int , # [doc = " ',' separated list of allowed protocols."] pub protocol_whitelist : * const libc :: c_char , # [doc = " ',' separated list of disallowed protocols."] pub protocol_blacklist : * const libc :: c_char , pub write_data_type : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int , type_ : AVIODataMarkerType , time : i64) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:746722 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVInputFormat { # [doc = " A comma separated list of short names for the format. New names\n may be appended with a minor bump."] pub name : * const libc :: c_char , # [doc = " Descriptive name for the format, meant to be more human-readable\n than name. You should use the NULL_IF_CONFIG_SMALL() macro\n to define it."] pub long_name : * const libc :: c_char , # [doc = " Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS,\n AVFMT_NOTIMESTAMPS, AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH,\n AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS."] pub flags : libc :: c_int , # [doc = " If extensions are defined, then no probe is done. You should\n usually not use extension format guessing because it is not\n reliable enough"] pub extensions : * const libc :: c_char , pub codec_tag : * const * const AVCodecTag , # [doc = "< AVClass for the private context"] pub priv_class : * const AVClass , # [doc = " Comma-separated list of mime types.\n It is used check for matching mime types while probing.\n @see av_probe_input_format2"] pub mime_type : * const libc :: c_char , # [doc = " No fields below this line are part of the public API. They\n may not be used outside of libavformat and can be changed and\n removed at will.\n New public fields should be added right above.\n\n/\n/**\n Raw demuxers store their codec ID here."] pub raw_codec_id : libc :: c_int , # [doc = " Size of private data so that it can be allocated in the wrapper."] pub priv_data_size : libc :: c_int , # [doc = " Internal flags. See FF_FMT_FLAG_* in internal.h."] pub flags_internal : libc :: c_int , # [doc = " Tell if a given file has a chance of being parsed as this format.\n The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes\n big so you do not have to check for that unless you need more."] pub read_probe : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const AVProbeData) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:747003 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVInputFormat { # [doc = " A comma separated list of short names for the format. New names\n may be appended with a minor bump."] pub name : * const libc :: c_char , # [doc = " Descriptive name for the format, meant to be more human-readable\n than name. You should use the NULL_IF_CONFIG_SMALL() macro\n to define it."] pub long_name : * const libc :: c_char , # [doc = " Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS,\n AVFMT_NOTIMESTAMPS, AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH,\n AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS."] pub flags : libc :: c_int , # [doc = " If extensions are defined, then no probe is done. You should\n usually not use extension format guessing because it is not\n reliable enough"] pub extensions : * const libc :: c_char , pub codec_tag : * const * const AVCodecTag , # [doc = "< AVClass for the private context"] pub priv_class : * const AVClass , # [doc = " Comma-separated list of mime types.\n It is used check for matching mime types while probing.\n @see av_probe_input_format2"] pub mime_type : * const libc :: c_char , # [doc = " No fields below this line are part of the public API. They\n may not be used outside of libavformat and can be changed and\n removed at will.\n New public fields should be added right above.\n\n/\n/**\n Raw demuxers store their codec ID here."] pub raw_codec_id : libc :: c_int , # [doc = " Size of private data so that it can be allocated in the wrapper."] pub priv_data_size : libc :: c_int , # [doc = " Internal flags. See FF_FMT_FLAG_* in internal.h."] pub flags_internal : libc :: c_int , # [doc = " Tell if a given file has a chance of being parsed as this format.\n The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes\n big so you do not have to check for that unless you need more."] pub read_probe : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const AVProbeData) -> libc :: c_int > , # [doc = " Read the format header and initialize the AVFormatContext\n structure. Return 0 if OK. 'avformat_new_stream' should be\n called to create new streams."] pub read_header : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:747460 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVInputFormat { # [doc = " A comma separated list of short names for the format. New names\n may be appended with a minor bump."] pub name : * const libc :: c_char , # [doc = " Descriptive name for the format, meant to be more human-readable\n than name. You should use the NULL_IF_CONFIG_SMALL() macro\n to define it."] pub long_name : * const libc :: c_char , # [doc = " Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS,\n AVFMT_NOTIMESTAMPS, AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH,\n AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS."] pub flags : libc :: c_int , # [doc = " If extensions are defined, then no probe is done. You should\n usually not use extension format guessing because it is not\n reliable enough"] pub extensions : * const libc :: c_char , pub codec_tag : * const * const AVCodecTag , # [doc = "< AVClass for the private context"] pub priv_class : * const AVClass , # [doc = " Comma-separated list of mime types.\n It is used check for matching mime types while probing.\n @see av_probe_input_format2"] pub mime_type : * const libc :: c_char , # [doc = " No fields below this line are part of the public API. They\n may not be used outside of libavformat and can be changed and\n removed at will.\n New public fields should be added right above.\n\n/\n/**\n Raw demuxers store their codec ID here."] pub raw_codec_id : libc :: c_int , # [doc = " Size of private data so that it can be allocated in the wrapper."] pub priv_data_size : libc :: c_int , # [doc = " Internal flags. See FF_FMT_FLAG_* in internal.h."] pub flags_internal : libc :: c_int , # [doc = " Tell if a given file has a chance of being parsed as this format.\n The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes\n big so you do not have to check for that unless you need more."] pub read_probe : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const AVProbeData) -> libc :: c_int > , # [doc = " Read the format header and initialize the AVFormatContext\n structure. Return 0 if OK. 'avformat_new_stream' should be\n called to create new streams."] pub read_header : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Read one packet and put it in 'pkt'. pts and flags are also\n set. 'avformat_new_stream' can be called only if the flag\n AVFMTCTX_NOHEADER is used and only in the calling thread (not in a\n background thread).\n @return 0 on success, < 0 on error.\n Upon returning an error, pkt must be unreferenced by the caller."] pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , pkt : * mut AVPacket) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:747701 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVInputFormat { # [doc = " A comma separated list of short names for the format. New names\n may be appended with a minor bump."] pub name : * const libc :: c_char , # [doc = " Descriptive name for the format, meant to be more human-readable\n than name. You should use the NULL_IF_CONFIG_SMALL() macro\n to define it."] pub long_name : * const libc :: c_char , # [doc = " Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS,\n AVFMT_NOTIMESTAMPS, AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH,\n AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS."] pub flags : libc :: c_int , # [doc = " If extensions are defined, then no probe is done. You should\n usually not use extension format guessing because it is not\n reliable enough"] pub extensions : * const libc :: c_char , pub codec_tag : * const * const AVCodecTag , # [doc = "< AVClass for the private context"] pub priv_class : * const AVClass , # [doc = " Comma-separated list of mime types.\n It is used check for matching mime types while probing.\n @see av_probe_input_format2"] pub mime_type : * const libc :: c_char , # [doc = " No fields below this line are part of the public API. They\n may not be used outside of libavformat and can be changed and\n removed at will.\n New public fields should be added right above.\n\n/\n/**\n Raw demuxers store their codec ID here."] pub raw_codec_id : libc :: c_int , # [doc = " Size of private data so that it can be allocated in the wrapper."] pub priv_data_size : libc :: c_int , # [doc = " Internal flags. See FF_FMT_FLAG_* in internal.h."] pub flags_internal : libc :: c_int , # [doc = " Tell if a given file has a chance of being parsed as this format.\n The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes\n big so you do not have to check for that unless you need more."] pub read_probe : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const AVProbeData) -> libc :: c_int > , # [doc = " Read the format header and initialize the AVFormatContext\n structure. Return 0 if OK. 'avformat_new_stream' should be\n called to create new streams."] pub read_header : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Read one packet and put it in 'pkt'. pts and flags are also\n set. 'avformat_new_stream' can be called only if the flag\n AVFMTCTX_NOHEADER is used and only in the calling thread (not in a\n background thread).\n @return 0 on success, < 0 on error.\n Upon returning an error, pkt must be unreferenced by the caller."] pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , pkt : * mut AVPacket) -> libc :: c_int > , # [doc = " Close the stream. The AVFormatContext and AVStreams are not\n freed by this function"] pub read_close : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:748125 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVInputFormat { # [doc = " A comma separated list of short names for the format. New names\n may be appended with a minor bump."] pub name : * const libc :: c_char , # [doc = " Descriptive name for the format, meant to be more human-readable\n than name. You should use the NULL_IF_CONFIG_SMALL() macro\n to define it."] pub long_name : * const libc :: c_char , # [doc = " Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS,\n AVFMT_NOTIMESTAMPS, AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH,\n AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS."] pub flags : libc :: c_int , # [doc = " If extensions are defined, then no probe is done. You should\n usually not use extension format guessing because it is not\n reliable enough"] pub extensions : * const libc :: c_char , pub codec_tag : * const * const AVCodecTag , # [doc = "< AVClass for the private context"] pub priv_class : * const AVClass , # [doc = " Comma-separated list of mime types.\n It is used check for matching mime types while probing.\n @see av_probe_input_format2"] pub mime_type : * const libc :: c_char , # [doc = " No fields below this line are part of the public API. They\n may not be used outside of libavformat and can be changed and\n removed at will.\n New public fields should be added right above.\n\n/\n/**\n Raw demuxers store their codec ID here."] pub raw_codec_id : libc :: c_int , # [doc = " Size of private data so that it can be allocated in the wrapper."] pub priv_data_size : libc :: c_int , # [doc = " Internal flags. See FF_FMT_FLAG_* in internal.h."] pub flags_internal : libc :: c_int , # [doc = " Tell if a given file has a chance of being parsed as this format.\n The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes\n big so you do not have to check for that unless you need more."] pub read_probe : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const AVProbeData) -> libc :: c_int > , # [doc = " Read the format header and initialize the AVFormatContext\n structure. Return 0 if OK. 'avformat_new_stream' should be\n called to create new streams."] pub read_header : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Read one packet and put it in 'pkt'. pts and flags are also\n set. 'avformat_new_stream' can be called only if the flag\n AVFMTCTX_NOHEADER is used and only in the calling thread (not in a\n background thread).\n @return 0 on success, < 0 on error.\n Upon returning an error, pkt must be unreferenced by the caller."] pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , pkt : * mut AVPacket) -> libc :: c_int > , # [doc = " Close the stream. The AVFormatContext and AVStreams are not\n freed by this function"] pub read_close : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Seek to a given timestamp relative to the frames in\n stream component stream_index.\n @param stream_index Must not be -1.\n @param flags Selects which direction should be preferred if no exact\n match is available.\n @return >= 0 on success (but not necessarily the new offset)"] pub read_seek : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , stream_index : libc :: c_int , timestamp : i64 , flags : libc :: c_int) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:748456 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVInputFormat { # [doc = " A comma separated list of short names for the format. New names\n may be appended with a minor bump."] pub name : * const libc :: c_char , # [doc = " Descriptive name for the format, meant to be more human-readable\n than name. You should use the NULL_IF_CONFIG_SMALL() macro\n to define it."] pub long_name : * const libc :: c_char , # [doc = " Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS,\n AVFMT_NOTIMESTAMPS, AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH,\n AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS."] pub flags : libc :: c_int , # [doc = " If extensions are defined, then no probe is done. You should\n usually not use extension format guessing because it is not\n reliable enough"] pub extensions : * const libc :: c_char , pub codec_tag : * const * const AVCodecTag , # [doc = "< AVClass for the private context"] pub priv_class : * const AVClass , # [doc = " Comma-separated list of mime types.\n It is used check for matching mime types while probing.\n @see av_probe_input_format2"] pub mime_type : * const libc :: c_char , # [doc = " No fields below this line are part of the public API. They\n may not be used outside of libavformat and can be changed and\n removed at will.\n New public fields should be added right above.\n\n/\n/**\n Raw demuxers store their codec ID here."] pub raw_codec_id : libc :: c_int , # [doc = " Size of private data so that it can be allocated in the wrapper."] pub priv_data_size : libc :: c_int , # [doc = " Internal flags. See FF_FMT_FLAG_* in internal.h."] pub flags_internal : libc :: c_int , # [doc = " Tell if a given file has a chance of being parsed as this format.\n The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes\n big so you do not have to check for that unless you need more."] pub read_probe : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const AVProbeData) -> libc :: c_int > , # [doc = " Read the format header and initialize the AVFormatContext\n structure. Return 0 if OK. 'avformat_new_stream' should be\n called to create new streams."] pub read_header : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Read one packet and put it in 'pkt'. pts and flags are also\n set. 'avformat_new_stream' can be called only if the flag\n AVFMTCTX_NOHEADER is used and only in the calling thread (not in a\n background thread).\n @return 0 on success, < 0 on error.\n Upon returning an error, pkt must be unreferenced by the caller."] pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , pkt : * mut AVPacket) -> libc :: c_int > , # [doc = " Close the stream. The AVFormatContext and AVStreams are not\n freed by this function"] pub read_close : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Seek to a given timestamp relative to the frames in\n stream component stream_index.\n @param stream_index Must not be -1.\n @param flags Selects which direction should be preferred if no exact\n match is available.\n @return >= 0 on success (but not necessarily the new offset)"] pub read_seek : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , stream_index : libc :: c_int , timestamp : i64 , flags : libc :: c_int) -> libc :: c_int > , # [doc = " Get the next timestamp in stream[stream_index].time_base units.\n @return the timestamp or AV_NOPTS_VALUE if an error occurred"] pub read_timestamp : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , stream_index : libc :: c_int , pos : * mut i64 , pos_limit : i64) -> 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:748727 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVInputFormat { # [doc = " A comma separated list of short names for the format. New names\n may be appended with a minor bump."] pub name : * const libc :: c_char , # [doc = " Descriptive name for the format, meant to be more human-readable\n than name. You should use the NULL_IF_CONFIG_SMALL() macro\n to define it."] pub long_name : * const libc :: c_char , # [doc = " Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS,\n AVFMT_NOTIMESTAMPS, AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH,\n AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS."] pub flags : libc :: c_int , # [doc = " If extensions are defined, then no probe is done. You should\n usually not use extension format guessing because it is not\n reliable enough"] pub extensions : * const libc :: c_char , pub codec_tag : * const * const AVCodecTag , # [doc = "< AVClass for the private context"] pub priv_class : * const AVClass , # [doc = " Comma-separated list of mime types.\n It is used check for matching mime types while probing.\n @see av_probe_input_format2"] pub mime_type : * const libc :: c_char , # [doc = " No fields below this line are part of the public API. They\n may not be used outside of libavformat and can be changed and\n removed at will.\n New public fields should be added right above.\n\n/\n/**\n Raw demuxers store their codec ID here."] pub raw_codec_id : libc :: c_int , # [doc = " Size of private data so that it can be allocated in the wrapper."] pub priv_data_size : libc :: c_int , # [doc = " Internal flags. See FF_FMT_FLAG_* in internal.h."] pub flags_internal : libc :: c_int , # [doc = " Tell if a given file has a chance of being parsed as this format.\n The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes\n big so you do not have to check for that unless you need more."] pub read_probe : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const AVProbeData) -> libc :: c_int > , # [doc = " Read the format header and initialize the AVFormatContext\n structure. Return 0 if OK. 'avformat_new_stream' should be\n called to create new streams."] pub read_header : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Read one packet and put it in 'pkt'. pts and flags are also\n set. 'avformat_new_stream' can be called only if the flag\n AVFMTCTX_NOHEADER is used and only in the calling thread (not in a\n background thread).\n @return 0 on success, < 0 on error.\n Upon returning an error, pkt must be unreferenced by the caller."] pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , pkt : * mut AVPacket) -> libc :: c_int > , # [doc = " Close the stream. The AVFormatContext and AVStreams are not\n freed by this function"] pub read_close : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Seek to a given timestamp relative to the frames in\n stream component stream_index.\n @param stream_index Must not be -1.\n @param flags Selects which direction should be preferred if no exact\n match is available.\n @return >= 0 on success (but not necessarily the new offset)"] pub read_seek : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , stream_index : libc :: c_int , timestamp : i64 , flags : libc :: c_int) -> libc :: c_int > , # [doc = " Get the next timestamp in stream[stream_index].time_base units.\n @return the timestamp or AV_NOPTS_VALUE if an error occurred"] pub read_timestamp : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , stream_index : libc :: c_int , pos : * mut i64 , pos_limit : i64) -> i64 > , # [doc = " Start/resume playing - only meaningful if using a network-based format\n (RTSP)."] pub read_play : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:748932 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVInputFormat { # [doc = " A comma separated list of short names for the format. New names\n may be appended with a minor bump."] pub name : * const libc :: c_char , # [doc = " Descriptive name for the format, meant to be more human-readable\n than name. You should use the NULL_IF_CONFIG_SMALL() macro\n to define it."] pub long_name : * const libc :: c_char , # [doc = " Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS,\n AVFMT_NOTIMESTAMPS, AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH,\n AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS."] pub flags : libc :: c_int , # [doc = " If extensions are defined, then no probe is done. You should\n usually not use extension format guessing because it is not\n reliable enough"] pub extensions : * const libc :: c_char , pub codec_tag : * const * const AVCodecTag , # [doc = "< AVClass for the private context"] pub priv_class : * const AVClass , # [doc = " Comma-separated list of mime types.\n It is used check for matching mime types while probing.\n @see av_probe_input_format2"] pub mime_type : * const libc :: c_char , # [doc = " No fields below this line are part of the public API. They\n may not be used outside of libavformat and can be changed and\n removed at will.\n New public fields should be added right above.\n\n/\n/**\n Raw demuxers store their codec ID here."] pub raw_codec_id : libc :: c_int , # [doc = " Size of private data so that it can be allocated in the wrapper."] pub priv_data_size : libc :: c_int , # [doc = " Internal flags. See FF_FMT_FLAG_* in internal.h."] pub flags_internal : libc :: c_int , # [doc = " Tell if a given file has a chance of being parsed as this format.\n The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes\n big so you do not have to check for that unless you need more."] pub read_probe : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const AVProbeData) -> libc :: c_int > , # [doc = " Read the format header and initialize the AVFormatContext\n structure. Return 0 if OK. 'avformat_new_stream' should be\n called to create new streams."] pub read_header : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Read one packet and put it in 'pkt'. pts and flags are also\n set. 'avformat_new_stream' can be called only if the flag\n AVFMTCTX_NOHEADER is used and only in the calling thread (not in a\n background thread).\n @return 0 on success, < 0 on error.\n Upon returning an error, pkt must be unreferenced by the caller."] pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , pkt : * mut AVPacket) -> libc :: c_int > , # [doc = " Close the stream. The AVFormatContext and AVStreams are not\n freed by this function"] pub read_close : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Seek to a given timestamp relative to the frames in\n stream component stream_index.\n @param stream_index Must not be -1.\n @param flags Selects which direction should be preferred if no exact\n match is available.\n @return >= 0 on success (but not necessarily the new offset)"] pub read_seek : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , stream_index : libc :: c_int , timestamp : i64 , flags : libc :: c_int) -> libc :: c_int > , # [doc = " Get the next timestamp in stream[stream_index].time_base units.\n @return the timestamp or AV_NOPTS_VALUE if an error occurred"] pub read_timestamp : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , stream_index : libc :: c_int , pos : * mut i64 , pos_limit : i64) -> i64 > , # [doc = " Start/resume playing - only meaningful if using a network-based format\n (RTSP)."] pub read_play : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Pause playing - only meaningful if using a network-based format\n (RTSP)."] pub read_pause : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:749311 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVInputFormat { # [doc = " A comma separated list of short names for the format. New names\n may be appended with a minor bump."] pub name : * const libc :: c_char , # [doc = " Descriptive name for the format, meant to be more human-readable\n than name. You should use the NULL_IF_CONFIG_SMALL() macro\n to define it."] pub long_name : * const libc :: c_char , # [doc = " Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS,\n AVFMT_NOTIMESTAMPS, AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH,\n AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS."] pub flags : libc :: c_int , # [doc = " If extensions are defined, then no probe is done. You should\n usually not use extension format guessing because it is not\n reliable enough"] pub extensions : * const libc :: c_char , pub codec_tag : * const * const AVCodecTag , # [doc = "< AVClass for the private context"] pub priv_class : * const AVClass , # [doc = " Comma-separated list of mime types.\n It is used check for matching mime types while probing.\n @see av_probe_input_format2"] pub mime_type : * const libc :: c_char , # [doc = " No fields below this line are part of the public API. They\n may not be used outside of libavformat and can be changed and\n removed at will.\n New public fields should be added right above.\n\n/\n/**\n Raw demuxers store their codec ID here."] pub raw_codec_id : libc :: c_int , # [doc = " Size of private data so that it can be allocated in the wrapper."] pub priv_data_size : libc :: c_int , # [doc = " Internal flags. See FF_FMT_FLAG_* in internal.h."] pub flags_internal : libc :: c_int , # [doc = " Tell if a given file has a chance of being parsed as this format.\n The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes\n big so you do not have to check for that unless you need more."] pub read_probe : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const AVProbeData) -> libc :: c_int > , # [doc = " Read the format header and initialize the AVFormatContext\n structure. Return 0 if OK. 'avformat_new_stream' should be\n called to create new streams."] pub read_header : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Read one packet and put it in 'pkt'. pts and flags are also\n set. 'avformat_new_stream' can be called only if the flag\n AVFMTCTX_NOHEADER is used and only in the calling thread (not in a\n background thread).\n @return 0 on success, < 0 on error.\n Upon returning an error, pkt must be unreferenced by the caller."] pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , pkt : * mut AVPacket) -> libc :: c_int > , # [doc = " Close the stream. The AVFormatContext and AVStreams are not\n freed by this function"] pub read_close : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Seek to a given timestamp relative to the frames in\n stream component stream_index.\n @param stream_index Must not be -1.\n @param flags Selects which direction should be preferred if no exact\n match is available.\n @return >= 0 on success (but not necessarily the new offset)"] pub read_seek : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , stream_index : libc :: c_int , timestamp : i64 , flags : libc :: c_int) -> libc :: c_int > , # [doc = " Get the next timestamp in stream[stream_index].time_base units.\n @return the timestamp or AV_NOPTS_VALUE if an error occurred"] pub read_timestamp : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , stream_index : libc :: c_int , pos : * mut i64 , pos_limit : i64) -> i64 > , # [doc = " Start/resume playing - only meaningful if using a network-based format\n (RTSP)."] pub read_play : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Pause playing - only meaningful if using a network-based format\n (RTSP)."] pub read_pause : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Seek to timestamp ts.\n Seeking will be done so that the point from which all active streams\n can be presented successfully will be closest to ts and within min/max_ts.\n Active streams are all streams that have AVStream.discard < AVDISCARD_ALL."] pub read_seek2 : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , stream_index : libc :: c_int , min_ts : i64 , ts : i64 , max_ts : i64 , flags : libc :: c_int) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:749625 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVInputFormat { # [doc = " A comma separated list of short names for the format. New names\n may be appended with a minor bump."] pub name : * const libc :: c_char , # [doc = " Descriptive name for the format, meant to be more human-readable\n than name. You should use the NULL_IF_CONFIG_SMALL() macro\n to define it."] pub long_name : * const libc :: c_char , # [doc = " Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS,\n AVFMT_NOTIMESTAMPS, AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH,\n AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS."] pub flags : libc :: c_int , # [doc = " If extensions are defined, then no probe is done. You should\n usually not use extension format guessing because it is not\n reliable enough"] pub extensions : * const libc :: c_char , pub codec_tag : * const * const AVCodecTag , # [doc = "< AVClass for the private context"] pub priv_class : * const AVClass , # [doc = " Comma-separated list of mime types.\n It is used check for matching mime types while probing.\n @see av_probe_input_format2"] pub mime_type : * const libc :: c_char , # [doc = " No fields below this line are part of the public API. They\n may not be used outside of libavformat and can be changed and\n removed at will.\n New public fields should be added right above.\n\n/\n/**\n Raw demuxers store their codec ID here."] pub raw_codec_id : libc :: c_int , # [doc = " Size of private data so that it can be allocated in the wrapper."] pub priv_data_size : libc :: c_int , # [doc = " Internal flags. See FF_FMT_FLAG_* in internal.h."] pub flags_internal : libc :: c_int , # [doc = " Tell if a given file has a chance of being parsed as this format.\n The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes\n big so you do not have to check for that unless you need more."] pub read_probe : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const AVProbeData) -> libc :: c_int > , # [doc = " Read the format header and initialize the AVFormatContext\n structure. Return 0 if OK. 'avformat_new_stream' should be\n called to create new streams."] pub read_header : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Read one packet and put it in 'pkt'. pts and flags are also\n set. 'avformat_new_stream' can be called only if the flag\n AVFMTCTX_NOHEADER is used and only in the calling thread (not in a\n background thread).\n @return 0 on success, < 0 on error.\n Upon returning an error, pkt must be unreferenced by the caller."] pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , pkt : * mut AVPacket) -> libc :: c_int > , # [doc = " Close the stream. The AVFormatContext and AVStreams are not\n freed by this function"] pub read_close : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Seek to a given timestamp relative to the frames in\n stream component stream_index.\n @param stream_index Must not be -1.\n @param flags Selects which direction should be preferred if no exact\n match is available.\n @return >= 0 on success (but not necessarily the new offset)"] pub read_seek : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , stream_index : libc :: c_int , timestamp : i64 , flags : libc :: c_int) -> libc :: c_int > , # [doc = " Get the next timestamp in stream[stream_index].time_base units.\n @return the timestamp or AV_NOPTS_VALUE if an error occurred"] pub read_timestamp : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , stream_index : libc :: c_int , pos : * mut i64 , pos_limit : i64) -> i64 > , # [doc = " Start/resume playing - only meaningful if using a network-based format\n (RTSP)."] pub read_play : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Pause playing - only meaningful if using a network-based format\n (RTSP)."] pub read_pause : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Seek to timestamp ts.\n Seeking will be done so that the point from which all active streams\n can be presented successfully will be closest to ts and within min/max_ts.\n Active streams are all streams that have AVStream.discard < AVDISCARD_ALL."] pub read_seek2 : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , stream_index : libc :: c_int , min_ts : i64 , ts : i64 , max_ts : i64 , flags : libc :: c_int) -> libc :: c_int > , # [doc = " Returns device list with it properties.\n @see avdevice_list_devices() for more details."] pub get_device_list : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , device_list : * mut AVDeviceInfoList) -> libc :: 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: unnecessary transmute [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:757113 [INFO] [stdout] | [INFO] [stdout] 3 | ... -> libc :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 2u8) as u32) } } # [inline] pub fn set_fla... [INFO] [stdout] | --------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u32::cast_signed` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:757283 [INFO] [stdout] | [INFO] [stdout] 3 | ...nt) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 2u8 , val as u64) } } # [inline] ... [INFO] [stdout] | --------------------------^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::cast_unsigned` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:757435 [INFO] [stdout] | [INFO] [stdout] 3 | ... -> libc :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (2usize , 30u8) as u32) } } # [inline] pub fn set_si... [INFO] [stdout] | --------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u32::cast_signed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:757605 [INFO] [stdout] | [INFO] [stdout] 3 | ...nt) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (2usize , 30u8 , val as u64) } } # [inline]... [INFO] [stdout] | --------------------------^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::cast_unsigned` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:757998 [INFO] [stdout] | [INFO] [stdout] 3 | ..., { let flags : u32 = unsafe { :: std :: mem :: transmute (flags) } ; flags as u64 }) ; __bindgen_bitfield_unit . set (2usize , 30u8 ,... [INFO] [stdout] | --------------------------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::cast_unsigned` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:758130 [INFO] [stdout] | [INFO] [stdout] 3 | ... , { let size : u32 = unsafe { :: std :: mem :: transmute (size) } ; size as u64 }) ; __bindgen_bitfield_unit } } extern "C" { # [doc ... [INFO] [stdout] | --------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::cast_unsigned` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:791082 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVFormatContext { # [doc = " A class for logging and @ref avoptions. Set by avformat_alloc_context().\n Exports (de)muxer private options if they exist."] pub av_class : * const AVClass , # [doc = " The input container format.\n\n Demuxing only, set by avformat_open_input()."] pub iformat : * const AVInputFormat , # [doc = " The output container format.\n\n Muxing only, must be set by the caller before avformat_write_header()."] pub oformat : * const AVOutputFormat , # [doc = " Format private data. This is an AVOptions-enabled struct\n if and only if iformat/oformat.priv_class is not NULL.\n\n - muxing: set by avformat_write_header()\n - demuxing: set by avformat_open_input()"] pub priv_data : * mut libc :: c_void , # [doc = " I/O context.\n\n - demuxing: either set by the user before avformat_open_input() (then\n the user must close it manually) or set by avformat_open_input().\n - muxing: set by the user before avformat_write_header(). The caller must\n take care of closing / freeing the IO context.\n\n Do NOT set this field if AVFMT_NOFILE flag is set in\n iformat/oformat.flags. In such a case, the (de)muxer will handle\n I/O in some other way and this field will be NULL."] pub pb : * mut AVIOContext , # [doc = " Flags signalling stream properties. A combination of AVFMTCTX_*.\n Set by libavformat."] pub ctx_flags : libc :: c_int , # [doc = " Number of elements in AVFormatContext.streams.\n\n Set by avformat_new_stream(), must not be modified by any other code."] pub nb_streams : libc :: c_uint , # [doc = " A list of all streams in the file. New streams are created with\n avformat_new_stream().\n\n - demuxing: streams are created by libavformat in avformat_open_input().\n If AVFMTCTX_NOHEADER is set in ctx_flags, then new streams may also\n appear in av_read_frame().\n - muxing: streams are created by the user before avformat_write_header().\n\n Freed by libavformat in avformat_free_context()."] pub streams : * mut * mut AVStream , # [doc = " input or output URL. Unlike the old filename field, this field has no\n length restriction.\n\n - demuxing: set by avformat_open_input(), initialized to an empty\n string if url parameter was NULL in avformat_open_input().\n - muxing: may be set by the caller before calling avformat_write_header()\n (or avformat_init_output() if that is called first) to a string\n which is freeable by av_free(). Set to an empty string if it\n was NULL in avformat_init_output().\n\n Freed by libavformat in avformat_free_context()."] pub url : * mut libc :: c_char , # [doc = " Position of the first frame of the component, in\n AV_TIME_BASE fractional seconds. NEVER set this value directly:\n It is deduced from the AVStream values.\n\n Demuxing only, set by libavformat."] pub start_time : i64 , # [doc = " Duration of the stream, in AV_TIME_BASE fractional\n seconds. Only set this value if you know none of the individual stream\n durations and also do not set any of them. This is deduced from the\n AVStream values if not set.\n\n Demuxing only, set by libavformat."] pub duration : i64 , # [doc = " Total stream bitrate in bit/s, 0 if not\n available. Never set it directly if the file_size and the\n duration are known as FFmpeg can compute it automatically."] pub bit_rate : i64 , pub packet_size : libc :: c_uint , pub max_delay : libc :: c_int , # [doc = " Flags modifying the (de)muxer behaviour. A combination of AVFMT_FLAG_*.\n Set by the user before avformat_open_input() / avformat_write_header()."] pub flags : libc :: c_int , # [doc = " Maximum number of bytes read from input in order to determine stream\n properties. Used when reading the global header and in\n avformat_find_stream_info().\n\n Demuxing only, set by the caller before avformat_open_input().\n\n @note this is \\e not used for determining the \\ref AVInputFormat\n \"input format\"\n @sa format_probesize"] pub probesize : i64 , # [doc = " Maximum duration (in AV_TIME_BASE units) of the data read\n from input in avformat_find_stream_info().\n Demuxing only, set by the caller before avformat_find_stream_info().\n Can be set to 0 to let avformat choose using a heuristic."] pub max_analyze_duration : i64 , pub key : * const u8 , pub keylen : libc :: c_int , pub nb_programs : libc :: c_uint , pub programs : * mut * mut AVProgram , # [doc = " Forced video codec_id.\n Demuxing: Set by user."] pub video_codec_id : AVCodecID , # [doc = " Forced audio codec_id.\n Demuxing: Set by user."] pub audio_codec_id : AVCodecID , # [doc = " Forced subtitle codec_id.\n Demuxing: Set by user."] pub subtitle_codec_id : AVCodecID , # [doc = " Maximum amount of memory in bytes to use for the index of each stream.\n If the index exceeds this size, entries will be discarded as\n needed to maintain a smaller size. This can lead to slower or less\n accurate seeking (depends on demuxer).\n Demuxers for which a full in-memory index is mandatory will ignore\n this.\n - muxing: unused\n - demuxing: set by user"] pub max_index_size : libc :: c_uint , # [doc = " Maximum amount of memory in bytes to use for buffering frames\n obtained from realtime capture devices."] pub max_picture_buffer : libc :: c_uint , # [doc = " Number of chapters in AVChapter array.\n When muxing, chapters are normally written in the file header,\n so nb_chapters should normally be initialized before write_header\n is called. Some muxers (e.g. mov and mkv) can also write chapters\n in the trailer. To write chapters in the trailer, nb_chapters\n must be zero when write_header is called and non-zero when\n write_trailer is called.\n - muxing: set by user\n - demuxing: set by libavformat"] pub nb_chapters : libc :: c_uint , pub chapters : * mut * mut AVChapter , # [doc = " Metadata that applies to the whole file.\n\n - demuxing: set by libavformat in avformat_open_input()\n - muxing: may be set by the caller before avformat_write_header()\n\n Freed by libavformat in avformat_free_context()."] pub metadata : * mut AVDictionary , # [doc = " Start time of the stream in real world time, in microseconds\n since the Unix epoch (00:00 1st January 1970). That is, pts=0 in the\n stream was captured at this real world time.\n - muxing: Set by the caller before avformat_write_header(). If set to\n either 0 or AV_NOPTS_VALUE, then the current wall-time will\n be used.\n - demuxing: Set by libavformat. AV_NOPTS_VALUE if unknown. Note that\n the value may become known after some number of frames\n have been received."] pub start_time_realtime : i64 , # [doc = " The number of frames used for determining the framerate in\n avformat_find_stream_info().\n Demuxing only, set by the caller before avformat_find_stream_info()."] pub fps_probe_size : libc :: c_int , # [doc = " Error recognition; higher values will detect more errors but may\n misdetect some more or less valid parts as errors.\n Demuxing only, set by the caller before avformat_open_input()."] pub error_recognition : libc :: c_int , # [doc = " Custom interrupt callbacks for the I/O layer.\n\n demuxing: set by the user before avformat_open_input().\n muxing: set by the user before avformat_write_header()\n (mainly useful for AVFMT_NOFILE formats). The callback\n should also be passed to avio_open2() if it's used to\n open the file."] pub interrupt_callback : AVIOInterruptCB , # [doc = " Flags to enable debugging."] pub debug : libc :: c_int , # [doc = " Maximum buffering duration for interleaving.\n\n To ensure all the streams are interleaved correctly,\n av_interleaved_write_frame() will wait until it has at least one packet\n for each stream before actually writing any packets to the output file.\n When some streams are \"sparse\" (i.e. there are large gaps between\n successive packets), this can result in excessive buffering.\n\n This field specifies the maximum difference between the timestamps of the\n first and the last packet in the muxing queue, above which libavformat\n will output a packet regardless of whether it has queued a packet for all\n the streams.\n\n Muxing only, set by the caller before avformat_write_header()."] pub max_interleave_delta : i64 , # [doc = " Allow non-standard and experimental extension\n @see AVCodecContext.strict_std_compliance"] pub strict_std_compliance : libc :: c_int , # [doc = " Flags indicating events happening on the file, a combination of\n AVFMT_EVENT_FLAG_*.\n\n - demuxing: may be set by the demuxer in avformat_open_input(),\n avformat_find_stream_info() and av_read_frame(). Flags must be cleared\n by the user once the event has been handled.\n - muxing: may be set by the user after avformat_write_header() to\n indicate a user-triggered event. The muxer will clear the flags for\n events it has handled in av_[interleaved]_write_frame()."] pub event_flags : libc :: c_int , # [doc = " Maximum number of packets to read while waiting for the first timestamp.\n Decoding only."] pub max_ts_probe : libc :: c_int , # [doc = " Avoid negative timestamps during muxing.\n Any value of the AVFMT_AVOID_NEG_TS_* constants.\n Note, this works better when using av_interleaved_write_frame().\n - muxing: Set by user\n - demuxing: unused"] pub avoid_negative_ts : libc :: c_int , # [doc = " Transport stream id.\n This will be moved into demuxer private options. Thus no API/ABI compatibility"] pub ts_id : libc :: c_int , # [doc = " Audio preload in microseconds.\n Note, not all formats support this and unpredictable things may happen if it is used when not supported.\n - encoding: Set by user\n - decoding: unused"] pub audio_preload : libc :: c_int , # [doc = " Max chunk time in microseconds.\n Note, not all formats support this and unpredictable things may happen if it is used when not supported.\n - encoding: Set by user\n - decoding: unused"] pub max_chunk_duration : libc :: c_int , # [doc = " Max chunk size in bytes\n Note, not all formats support this and unpredictable things may happen if it is used when not supported.\n - encoding: Set by user\n - decoding: unused"] pub max_chunk_size : libc :: c_int , # [doc = " forces the use of wallclock timestamps as pts/dts of packets\n This has undefined results in the presence of B frames.\n - encoding: unused\n - decoding: Set by user"] pub use_wallclock_as_timestamps : libc :: c_int , # [doc = " avio flags, used to force AVIO_FLAG_DIRECT.\n - encoding: unused\n - decoding: Set by user"] pub avio_flags : libc :: c_int , # [doc = " The duration field can be estimated through various ways, and this field can be used\n to know how the duration was estimated.\n - encoding: unused\n - decoding: Read by user"] pub duration_estimation_method : AVDurationEstimationMethod , # [doc = " Skip initial bytes when opening stream\n - encoding: unused\n - decoding: Set by user"] pub skip_initial_bytes : i64 , # [doc = " Correct single timestamp overflows\n - encoding: unused\n - decoding: Set by user"] pub correct_ts_overflow : libc :: c_uint , # [doc = " Force seeking to any (also non key) frames.\n - encoding: unused\n - decoding: Set by user"] pub seek2any : libc :: c_int , # [doc = " Flush the I/O context after each packet.\n - encoding: Set by user\n - decoding: unused"] pub flush_packets : libc :: c_int , # [doc = " format probing score.\n The maximal score is AVPROBE_SCORE_MAX, its set when the demuxer probes\n the format.\n - encoding: unused\n - decoding: set by avformat, read by user"] pub probe_score : libc :: c_int , # [doc = " Maximum number of bytes read from input in order to identify the\n \\ref AVInputFormat \"input format\". Only used when the format is not set\n explicitly by the caller.\n\n Demuxing only, set by the caller before avformat_open_input().\n\n @sa probesize"] pub format_probesize : libc :: c_int , # [doc = " ',' separated list of allowed decoders.\n If NULL then all are allowed\n - encoding: unused\n - decoding: set by user"] pub codec_whitelist : * mut libc :: c_char , # [doc = " ',' separated list of allowed demuxers.\n If NULL then all are allowed\n - encoding: unused\n - decoding: set by user"] pub format_whitelist : * mut libc :: c_char , # [doc = " IO repositioned flag.\n This is set by avformat when the underlaying IO context read pointer\n is repositioned, for example when doing byte based seeking.\n Demuxers can use the flag to detect such changes."] pub io_repositioned : libc :: c_int , # [doc = " Forced video codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub video_codec : * const AVCodec , # [doc = " Forced audio codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub audio_codec : * const AVCodec , # [doc = " Forced subtitle codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub subtitle_codec : * const AVCodec , # [doc = " Forced data codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub data_codec : * const AVCodec , # [doc = " Number of bytes to be written as padding in a metadata header.\n Demuxing: Unused.\n Muxing: Set by user via av_format_set_metadata_header_padding."] pub metadata_header_padding : libc :: c_int , # [doc = " User data.\n This is a place for some private data of the user."] pub opaque : * mut libc :: c_void , # [doc = " Callback used by devices to communicate with application."] pub control_message_cb : av_format_control_message , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:792560 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVFormatContext { # [doc = " A class for logging and @ref avoptions. Set by avformat_alloc_context().\n Exports (de)muxer private options if they exist."] pub av_class : * const AVClass , # [doc = " The input container format.\n\n Demuxing only, set by avformat_open_input()."] pub iformat : * const AVInputFormat , # [doc = " The output container format.\n\n Muxing only, must be set by the caller before avformat_write_header()."] pub oformat : * const AVOutputFormat , # [doc = " Format private data. This is an AVOptions-enabled struct\n if and only if iformat/oformat.priv_class is not NULL.\n\n - muxing: set by avformat_write_header()\n - demuxing: set by avformat_open_input()"] pub priv_data : * mut libc :: c_void , # [doc = " I/O context.\n\n - demuxing: either set by the user before avformat_open_input() (then\n the user must close it manually) or set by avformat_open_input().\n - muxing: set by the user before avformat_write_header(). The caller must\n take care of closing / freeing the IO context.\n\n Do NOT set this field if AVFMT_NOFILE flag is set in\n iformat/oformat.flags. In such a case, the (de)muxer will handle\n I/O in some other way and this field will be NULL."] pub pb : * mut AVIOContext , # [doc = " Flags signalling stream properties. A combination of AVFMTCTX_*.\n Set by libavformat."] pub ctx_flags : libc :: c_int , # [doc = " Number of elements in AVFormatContext.streams.\n\n Set by avformat_new_stream(), must not be modified by any other code."] pub nb_streams : libc :: c_uint , # [doc = " A list of all streams in the file. New streams are created with\n avformat_new_stream().\n\n - demuxing: streams are created by libavformat in avformat_open_input().\n If AVFMTCTX_NOHEADER is set in ctx_flags, then new streams may also\n appear in av_read_frame().\n - muxing: streams are created by the user before avformat_write_header().\n\n Freed by libavformat in avformat_free_context()."] pub streams : * mut * mut AVStream , # [doc = " input or output URL. Unlike the old filename field, this field has no\n length restriction.\n\n - demuxing: set by avformat_open_input(), initialized to an empty\n string if url parameter was NULL in avformat_open_input().\n - muxing: may be set by the caller before calling avformat_write_header()\n (or avformat_init_output() if that is called first) to a string\n which is freeable by av_free(). Set to an empty string if it\n was NULL in avformat_init_output().\n\n Freed by libavformat in avformat_free_context()."] pub url : * mut libc :: c_char , # [doc = " Position of the first frame of the component, in\n AV_TIME_BASE fractional seconds. NEVER set this value directly:\n It is deduced from the AVStream values.\n\n Demuxing only, set by libavformat."] pub start_time : i64 , # [doc = " Duration of the stream, in AV_TIME_BASE fractional\n seconds. Only set this value if you know none of the individual stream\n durations and also do not set any of them. This is deduced from the\n AVStream values if not set.\n\n Demuxing only, set by libavformat."] pub duration : i64 , # [doc = " Total stream bitrate in bit/s, 0 if not\n available. Never set it directly if the file_size and the\n duration are known as FFmpeg can compute it automatically."] pub bit_rate : i64 , pub packet_size : libc :: c_uint , pub max_delay : libc :: c_int , # [doc = " Flags modifying the (de)muxer behaviour. A combination of AVFMT_FLAG_*.\n Set by the user before avformat_open_input() / avformat_write_header()."] pub flags : libc :: c_int , # [doc = " Maximum number of bytes read from input in order to determine stream\n properties. Used when reading the global header and in\n avformat_find_stream_info().\n\n Demuxing only, set by the caller before avformat_open_input().\n\n @note this is \\e not used for determining the \\ref AVInputFormat\n \"input format\"\n @sa format_probesize"] pub probesize : i64 , # [doc = " Maximum duration (in AV_TIME_BASE units) of the data read\n from input in avformat_find_stream_info().\n Demuxing only, set by the caller before avformat_find_stream_info().\n Can be set to 0 to let avformat choose using a heuristic."] pub max_analyze_duration : i64 , pub key : * const u8 , pub keylen : libc :: c_int , pub nb_programs : libc :: c_uint , pub programs : * mut * mut AVProgram , # [doc = " Forced video codec_id.\n Demuxing: Set by user."] pub video_codec_id : AVCodecID , # [doc = " Forced audio codec_id.\n Demuxing: Set by user."] pub audio_codec_id : AVCodecID , # [doc = " Forced subtitle codec_id.\n Demuxing: Set by user."] pub subtitle_codec_id : AVCodecID , # [doc = " Maximum amount of memory in bytes to use for the index of each stream.\n If the index exceeds this size, entries will be discarded as\n needed to maintain a smaller size. This can lead to slower or less\n accurate seeking (depends on demuxer).\n Demuxers for which a full in-memory index is mandatory will ignore\n this.\n - muxing: unused\n - demuxing: set by user"] pub max_index_size : libc :: c_uint , # [doc = " Maximum amount of memory in bytes to use for buffering frames\n obtained from realtime capture devices."] pub max_picture_buffer : libc :: c_uint , # [doc = " Number of chapters in AVChapter array.\n When muxing, chapters are normally written in the file header,\n so nb_chapters should normally be initialized before write_header\n is called. Some muxers (e.g. mov and mkv) can also write chapters\n in the trailer. To write chapters in the trailer, nb_chapters\n must be zero when write_header is called and non-zero when\n write_trailer is called.\n - muxing: set by user\n - demuxing: set by libavformat"] pub nb_chapters : libc :: c_uint , pub chapters : * mut * mut AVChapter , # [doc = " Metadata that applies to the whole file.\n\n - demuxing: set by libavformat in avformat_open_input()\n - muxing: may be set by the caller before avformat_write_header()\n\n Freed by libavformat in avformat_free_context()."] pub metadata : * mut AVDictionary , # [doc = " Start time of the stream in real world time, in microseconds\n since the Unix epoch (00:00 1st January 1970). That is, pts=0 in the\n stream was captured at this real world time.\n - muxing: Set by the caller before avformat_write_header(). If set to\n either 0 or AV_NOPTS_VALUE, then the current wall-time will\n be used.\n - demuxing: Set by libavformat. AV_NOPTS_VALUE if unknown. Note that\n the value may become known after some number of frames\n have been received."] pub start_time_realtime : i64 , # [doc = " The number of frames used for determining the framerate in\n avformat_find_stream_info().\n Demuxing only, set by the caller before avformat_find_stream_info()."] pub fps_probe_size : libc :: c_int , # [doc = " Error recognition; higher values will detect more errors but may\n misdetect some more or less valid parts as errors.\n Demuxing only, set by the caller before avformat_open_input()."] pub error_recognition : libc :: c_int , # [doc = " Custom interrupt callbacks for the I/O layer.\n\n demuxing: set by the user before avformat_open_input().\n muxing: set by the user before avformat_write_header()\n (mainly useful for AVFMT_NOFILE formats). The callback\n should also be passed to avio_open2() if it's used to\n open the file."] pub interrupt_callback : AVIOInterruptCB , # [doc = " Flags to enable debugging."] pub debug : libc :: c_int , # [doc = " Maximum buffering duration for interleaving.\n\n To ensure all the streams are interleaved correctly,\n av_interleaved_write_frame() will wait until it has at least one packet\n for each stream before actually writing any packets to the output file.\n When some streams are \"sparse\" (i.e. there are large gaps between\n successive packets), this can result in excessive buffering.\n\n This field specifies the maximum difference between the timestamps of the\n first and the last packet in the muxing queue, above which libavformat\n will output a packet regardless of whether it has queued a packet for all\n the streams.\n\n Muxing only, set by the caller before avformat_write_header()."] pub max_interleave_delta : i64 , # [doc = " Allow non-standard and experimental extension\n @see AVCodecContext.strict_std_compliance"] pub strict_std_compliance : libc :: c_int , # [doc = " Flags indicating events happening on the file, a combination of\n AVFMT_EVENT_FLAG_*.\n\n - demuxing: may be set by the demuxer in avformat_open_input(),\n avformat_find_stream_info() and av_read_frame(). Flags must be cleared\n by the user once the event has been handled.\n - muxing: may be set by the user after avformat_write_header() to\n indicate a user-triggered event. The muxer will clear the flags for\n events it has handled in av_[interleaved]_write_frame()."] pub event_flags : libc :: c_int , # [doc = " Maximum number of packets to read while waiting for the first timestamp.\n Decoding only."] pub max_ts_probe : libc :: c_int , # [doc = " Avoid negative timestamps during muxing.\n Any value of the AVFMT_AVOID_NEG_TS_* constants.\n Note, this works better when using av_interleaved_write_frame().\n - muxing: Set by user\n - demuxing: unused"] pub avoid_negative_ts : libc :: c_int , # [doc = " Transport stream id.\n This will be moved into demuxer private options. Thus no API/ABI compatibility"] pub ts_id : libc :: c_int , # [doc = " Audio preload in microseconds.\n Note, not all formats support this and unpredictable things may happen if it is used when not supported.\n - encoding: Set by user\n - decoding: unused"] pub audio_preload : libc :: c_int , # [doc = " Max chunk time in microseconds.\n Note, not all formats support this and unpredictable things may happen if it is used when not supported.\n - encoding: Set by user\n - decoding: unused"] pub max_chunk_duration : libc :: c_int , # [doc = " Max chunk size in bytes\n Note, not all formats support this and unpredictable things may happen if it is used when not supported.\n - encoding: Set by user\n - decoding: unused"] pub max_chunk_size : libc :: c_int , # [doc = " forces the use of wallclock timestamps as pts/dts of packets\n This has undefined results in the presence of B frames.\n - encoding: unused\n - decoding: Set by user"] pub use_wallclock_as_timestamps : libc :: c_int , # [doc = " avio flags, used to force AVIO_FLAG_DIRECT.\n - encoding: unused\n - decoding: Set by user"] pub avio_flags : libc :: c_int , # [doc = " The duration field can be estimated through various ways, and this field can be used\n to know how the duration was estimated.\n - encoding: unused\n - decoding: Read by user"] pub duration_estimation_method : AVDurationEstimationMethod , # [doc = " Skip initial bytes when opening stream\n - encoding: unused\n - decoding: Set by user"] pub skip_initial_bytes : i64 , # [doc = " Correct single timestamp overflows\n - encoding: unused\n - decoding: Set by user"] pub correct_ts_overflow : libc :: c_uint , # [doc = " Force seeking to any (also non key) frames.\n - encoding: unused\n - decoding: Set by user"] pub seek2any : libc :: c_int , # [doc = " Flush the I/O context after each packet.\n - encoding: Set by user\n - decoding: unused"] pub flush_packets : libc :: c_int , # [doc = " format probing score.\n The maximal score is AVPROBE_SCORE_MAX, its set when the demuxer probes\n the format.\n - encoding: unused\n - decoding: set by avformat, read by user"] pub probe_score : libc :: c_int , # [doc = " Maximum number of bytes read from input in order to identify the\n \\ref AVInputFormat \"input format\". Only used when the format is not set\n explicitly by the caller.\n\n Demuxing only, set by the caller before avformat_open_input().\n\n @sa probesize"] pub format_probesize : libc :: c_int , # [doc = " ',' separated list of allowed decoders.\n If NULL then all are allowed\n - encoding: unused\n - decoding: set by user"] pub codec_whitelist : * mut libc :: c_char , # [doc = " ',' separated list of allowed demuxers.\n If NULL then all are allowed\n - encoding: unused\n - decoding: set by user"] pub format_whitelist : * mut libc :: c_char , # [doc = " IO repositioned flag.\n This is set by avformat when the underlaying IO context read pointer\n is repositioned, for example when doing byte based seeking.\n Demuxers can use the flag to detect such changes."] pub io_repositioned : libc :: c_int , # [doc = " Forced video codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub video_codec : * const AVCodec , # [doc = " Forced audio codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub audio_codec : * const AVCodec , # [doc = " Forced subtitle codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub subtitle_codec : * const AVCodec , # [doc = " Forced data codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub data_codec : * const AVCodec , # [doc = " Number of bytes to be written as padding in a metadata header.\n Demuxing: Unused.\n Muxing: Set by user via av_format_set_metadata_header_padding."] pub metadata_header_padding : libc :: c_int , # [doc = " User data.\n This is a place for some private data of the user."] pub opaque : * mut libc :: c_void , # [doc = " Callback used by devices to communicate with application."] pub control_message_cb : av_format_control_message , # [doc = " Output timestamp offset, in microseconds.\n Muxing: set by user"] pub output_ts_offset : i64 , # [doc = " dump format separator.\n can be \", \" or \"\\n \" or anything else\n - muxing: Set by user.\n - demuxing: Set by user."] pub dump_separator : * mut u8 , # [doc = " Forced Data codec_id.\n Demuxing: Set by user."] pub data_codec_id : AVCodecID , # [doc = " ',' separated list of allowed protocols.\n - encoding: unused\n - decoding: set by user"] pub protocol_whitelist : * mut libc :: c_char , # [doc = " A callback for opening new IO streams.\n\n Whenever a muxer or a demuxer needs to open an IO stream (typically from\n avformat_open_input() for demuxers, but for certain formats can happen at\n other times as well), it will call this callback to obtain an IO context.\n\n @param s the format context\n @param pb on success, the newly opened IO context should be returned here\n @param url the url to open\n @param flags a combination of AVIO_FLAG_*\n @param options a dictionary of additional options, with the same\n semantics as in avio_open2()\n @return 0 on success, a negative AVERROR code on failure\n\n @note Certain muxers and demuxers do nesting, i.e. they open one or more\n additional internal format contexts. Thus the AVFormatContext pointer\n passed to this callback may be different from the one facing the caller.\n It will, however, have the same 'opaque' field."] pub io_open : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , pb : * mut * mut AVIOContext , url : * const libc :: c_char , flags : libc :: c_int , options : * mut * mut AVDictionary) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:792913 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVFormatContext { # [doc = " A class for logging and @ref avoptions. Set by avformat_alloc_context().\n Exports (de)muxer private options if they exist."] pub av_class : * const AVClass , # [doc = " The input container format.\n\n Demuxing only, set by avformat_open_input()."] pub iformat : * const AVInputFormat , # [doc = " The output container format.\n\n Muxing only, must be set by the caller before avformat_write_header()."] pub oformat : * const AVOutputFormat , # [doc = " Format private data. This is an AVOptions-enabled struct\n if and only if iformat/oformat.priv_class is not NULL.\n\n - muxing: set by avformat_write_header()\n - demuxing: set by avformat_open_input()"] pub priv_data : * mut libc :: c_void , # [doc = " I/O context.\n\n - demuxing: either set by the user before avformat_open_input() (then\n the user must close it manually) or set by avformat_open_input().\n - muxing: set by the user before avformat_write_header(). The caller must\n take care of closing / freeing the IO context.\n\n Do NOT set this field if AVFMT_NOFILE flag is set in\n iformat/oformat.flags. In such a case, the (de)muxer will handle\n I/O in some other way and this field will be NULL."] pub pb : * mut AVIOContext , # [doc = " Flags signalling stream properties. A combination of AVFMTCTX_*.\n Set by libavformat."] pub ctx_flags : libc :: c_int , # [doc = " Number of elements in AVFormatContext.streams.\n\n Set by avformat_new_stream(), must not be modified by any other code."] pub nb_streams : libc :: c_uint , # [doc = " A list of all streams in the file. New streams are created with\n avformat_new_stream().\n\n - demuxing: streams are created by libavformat in avformat_open_input().\n If AVFMTCTX_NOHEADER is set in ctx_flags, then new streams may also\n appear in av_read_frame().\n - muxing: streams are created by the user before avformat_write_header().\n\n Freed by libavformat in avformat_free_context()."] pub streams : * mut * mut AVStream , # [doc = " input or output URL. Unlike the old filename field, this field has no\n length restriction.\n\n - demuxing: set by avformat_open_input(), initialized to an empty\n string if url parameter was NULL in avformat_open_input().\n - muxing: may be set by the caller before calling avformat_write_header()\n (or avformat_init_output() if that is called first) to a string\n which is freeable by av_free(). Set to an empty string if it\n was NULL in avformat_init_output().\n\n Freed by libavformat in avformat_free_context()."] pub url : * mut libc :: c_char , # [doc = " Position of the first frame of the component, in\n AV_TIME_BASE fractional seconds. NEVER set this value directly:\n It is deduced from the AVStream values.\n\n Demuxing only, set by libavformat."] pub start_time : i64 , # [doc = " Duration of the stream, in AV_TIME_BASE fractional\n seconds. Only set this value if you know none of the individual stream\n durations and also do not set any of them. This is deduced from the\n AVStream values if not set.\n\n Demuxing only, set by libavformat."] pub duration : i64 , # [doc = " Total stream bitrate in bit/s, 0 if not\n available. Never set it directly if the file_size and the\n duration are known as FFmpeg can compute it automatically."] pub bit_rate : i64 , pub packet_size : libc :: c_uint , pub max_delay : libc :: c_int , # [doc = " Flags modifying the (de)muxer behaviour. A combination of AVFMT_FLAG_*.\n Set by the user before avformat_open_input() / avformat_write_header()."] pub flags : libc :: c_int , # [doc = " Maximum number of bytes read from input in order to determine stream\n properties. Used when reading the global header and in\n avformat_find_stream_info().\n\n Demuxing only, set by the caller before avformat_open_input().\n\n @note this is \\e not used for determining the \\ref AVInputFormat\n \"input format\"\n @sa format_probesize"] pub probesize : i64 , # [doc = " Maximum duration (in AV_TIME_BASE units) of the data read\n from input in avformat_find_stream_info().\n Demuxing only, set by the caller before avformat_find_stream_info().\n Can be set to 0 to let avformat choose using a heuristic."] pub max_analyze_duration : i64 , pub key : * const u8 , pub keylen : libc :: c_int , pub nb_programs : libc :: c_uint , pub programs : * mut * mut AVProgram , # [doc = " Forced video codec_id.\n Demuxing: Set by user."] pub video_codec_id : AVCodecID , # [doc = " Forced audio codec_id.\n Demuxing: Set by user."] pub audio_codec_id : AVCodecID , # [doc = " Forced subtitle codec_id.\n Demuxing: Set by user."] pub subtitle_codec_id : AVCodecID , # [doc = " Maximum amount of memory in bytes to use for the index of each stream.\n If the index exceeds this size, entries will be discarded as\n needed to maintain a smaller size. This can lead to slower or less\n accurate seeking (depends on demuxer).\n Demuxers for which a full in-memory index is mandatory will ignore\n this.\n - muxing: unused\n - demuxing: set by user"] pub max_index_size : libc :: c_uint , # [doc = " Maximum amount of memory in bytes to use for buffering frames\n obtained from realtime capture devices."] pub max_picture_buffer : libc :: c_uint , # [doc = " Number of chapters in AVChapter array.\n When muxing, chapters are normally written in the file header,\n so nb_chapters should normally be initialized before write_header\n is called. Some muxers (e.g. mov and mkv) can also write chapters\n in the trailer. To write chapters in the trailer, nb_chapters\n must be zero when write_header is called and non-zero when\n write_trailer is called.\n - muxing: set by user\n - demuxing: set by libavformat"] pub nb_chapters : libc :: c_uint , pub chapters : * mut * mut AVChapter , # [doc = " Metadata that applies to the whole file.\n\n - demuxing: set by libavformat in avformat_open_input()\n - muxing: may be set by the caller before avformat_write_header()\n\n Freed by libavformat in avformat_free_context()."] pub metadata : * mut AVDictionary , # [doc = " Start time of the stream in real world time, in microseconds\n since the Unix epoch (00:00 1st January 1970). That is, pts=0 in the\n stream was captured at this real world time.\n - muxing: Set by the caller before avformat_write_header(). If set to\n either 0 or AV_NOPTS_VALUE, then the current wall-time will\n be used.\n - demuxing: Set by libavformat. AV_NOPTS_VALUE if unknown. Note that\n the value may become known after some number of frames\n have been received."] pub start_time_realtime : i64 , # [doc = " The number of frames used for determining the framerate in\n avformat_find_stream_info().\n Demuxing only, set by the caller before avformat_find_stream_info()."] pub fps_probe_size : libc :: c_int , # [doc = " Error recognition; higher values will detect more errors but may\n misdetect some more or less valid parts as errors.\n Demuxing only, set by the caller before avformat_open_input()."] pub error_recognition : libc :: c_int , # [doc = " Custom interrupt callbacks for the I/O layer.\n\n demuxing: set by the user before avformat_open_input().\n muxing: set by the user before avformat_write_header()\n (mainly useful for AVFMT_NOFILE formats). The callback\n should also be passed to avio_open2() if it's used to\n open the file."] pub interrupt_callback : AVIOInterruptCB , # [doc = " Flags to enable debugging."] pub debug : libc :: c_int , # [doc = " Maximum buffering duration for interleaving.\n\n To ensure all the streams are interleaved correctly,\n av_interleaved_write_frame() will wait until it has at least one packet\n for each stream before actually writing any packets to the output file.\n When some streams are \"sparse\" (i.e. there are large gaps between\n successive packets), this can result in excessive buffering.\n\n This field specifies the maximum difference between the timestamps of the\n first and the last packet in the muxing queue, above which libavformat\n will output a packet regardless of whether it has queued a packet for all\n the streams.\n\n Muxing only, set by the caller before avformat_write_header()."] pub max_interleave_delta : i64 , # [doc = " Allow non-standard and experimental extension\n @see AVCodecContext.strict_std_compliance"] pub strict_std_compliance : libc :: c_int , # [doc = " Flags indicating events happening on the file, a combination of\n AVFMT_EVENT_FLAG_*.\n\n - demuxing: may be set by the demuxer in avformat_open_input(),\n avformat_find_stream_info() and av_read_frame(). Flags must be cleared\n by the user once the event has been handled.\n - muxing: may be set by the user after avformat_write_header() to\n indicate a user-triggered event. The muxer will clear the flags for\n events it has handled in av_[interleaved]_write_frame()."] pub event_flags : libc :: c_int , # [doc = " Maximum number of packets to read while waiting for the first timestamp.\n Decoding only."] pub max_ts_probe : libc :: c_int , # [doc = " Avoid negative timestamps during muxing.\n Any value of the AVFMT_AVOID_NEG_TS_* constants.\n Note, this works better when using av_interleaved_write_frame().\n - muxing: Set by user\n - demuxing: unused"] pub avoid_negative_ts : libc :: c_int , # [doc = " Transport stream id.\n This will be moved into demuxer private options. Thus no API/ABI compatibility"] pub ts_id : libc :: c_int , # [doc = " Audio preload in microseconds.\n Note, not all formats support this and unpredictable things may happen if it is used when not supported.\n - encoding: Set by user\n - decoding: unused"] pub audio_preload : libc :: c_int , # [doc = " Max chunk time in microseconds.\n Note, not all formats support this and unpredictable things may happen if it is used when not supported.\n - encoding: Set by user\n - decoding: unused"] pub max_chunk_duration : libc :: c_int , # [doc = " Max chunk size in bytes\n Note, not all formats support this and unpredictable things may happen if it is used when not supported.\n - encoding: Set by user\n - decoding: unused"] pub max_chunk_size : libc :: c_int , # [doc = " forces the use of wallclock timestamps as pts/dts of packets\n This has undefined results in the presence of B frames.\n - encoding: unused\n - decoding: Set by user"] pub use_wallclock_as_timestamps : libc :: c_int , # [doc = " avio flags, used to force AVIO_FLAG_DIRECT.\n - encoding: unused\n - decoding: Set by user"] pub avio_flags : libc :: c_int , # [doc = " The duration field can be estimated through various ways, and this field can be used\n to know how the duration was estimated.\n - encoding: unused\n - decoding: Read by user"] pub duration_estimation_method : AVDurationEstimationMethod , # [doc = " Skip initial bytes when opening stream\n - encoding: unused\n - decoding: Set by user"] pub skip_initial_bytes : i64 , # [doc = " Correct single timestamp overflows\n - encoding: unused\n - decoding: Set by user"] pub correct_ts_overflow : libc :: c_uint , # [doc = " Force seeking to any (also non key) frames.\n - encoding: unused\n - decoding: Set by user"] pub seek2any : libc :: c_int , # [doc = " Flush the I/O context after each packet.\n - encoding: Set by user\n - decoding: unused"] pub flush_packets : libc :: c_int , # [doc = " format probing score.\n The maximal score is AVPROBE_SCORE_MAX, its set when the demuxer probes\n the format.\n - encoding: unused\n - decoding: set by avformat, read by user"] pub probe_score : libc :: c_int , # [doc = " Maximum number of bytes read from input in order to identify the\n \\ref AVInputFormat \"input format\". Only used when the format is not set\n explicitly by the caller.\n\n Demuxing only, set by the caller before avformat_open_input().\n\n @sa probesize"] pub format_probesize : libc :: c_int , # [doc = " ',' separated list of allowed decoders.\n If NULL then all are allowed\n - encoding: unused\n - decoding: set by user"] pub codec_whitelist : * mut libc :: c_char , # [doc = " ',' separated list of allowed demuxers.\n If NULL then all are allowed\n - encoding: unused\n - decoding: set by user"] pub format_whitelist : * mut libc :: c_char , # [doc = " IO repositioned flag.\n This is set by avformat when the underlaying IO context read pointer\n is repositioned, for example when doing byte based seeking.\n Demuxers can use the flag to detect such changes."] pub io_repositioned : libc :: c_int , # [doc = " Forced video codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub video_codec : * const AVCodec , # [doc = " Forced audio codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub audio_codec : * const AVCodec , # [doc = " Forced subtitle codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub subtitle_codec : * const AVCodec , # [doc = " Forced data codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub data_codec : * const AVCodec , # [doc = " Number of bytes to be written as padding in a metadata header.\n Demuxing: Unused.\n Muxing: Set by user via av_format_set_metadata_header_padding."] pub metadata_header_padding : libc :: c_int , # [doc = " User data.\n This is a place for some private data of the user."] pub opaque : * mut libc :: c_void , # [doc = " Callback used by devices to communicate with application."] pub control_message_cb : av_format_control_message , # [doc = " Output timestamp offset, in microseconds.\n Muxing: set by user"] pub output_ts_offset : i64 , # [doc = " dump format separator.\n can be \", \" or \"\\n \" or anything else\n - muxing: Set by user.\n - demuxing: Set by user."] pub dump_separator : * mut u8 , # [doc = " Forced Data codec_id.\n Demuxing: Set by user."] pub data_codec_id : AVCodecID , # [doc = " ',' separated list of allowed protocols.\n - encoding: unused\n - decoding: set by user"] pub protocol_whitelist : * mut libc :: c_char , # [doc = " A callback for opening new IO streams.\n\n Whenever a muxer or a demuxer needs to open an IO stream (typically from\n avformat_open_input() for demuxers, but for certain formats can happen at\n other times as well), it will call this callback to obtain an IO context.\n\n @param s the format context\n @param pb on success, the newly opened IO context should be returned here\n @param url the url to open\n @param flags a combination of AVIO_FLAG_*\n @param options a dictionary of additional options, with the same\n semantics as in avio_open2()\n @return 0 on success, a negative AVERROR code on failure\n\n @note Certain muxers and demuxers do nesting, i.e. they open one or more\n additional internal format contexts. Thus the AVFormatContext pointer\n passed to this callback may be different from the one facing the caller.\n It will, however, have the same 'opaque' field."] pub io_open : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , pb : * mut * mut AVIOContext , url : * const libc :: c_char , flags : libc :: c_int , options : * mut * mut AVDictionary) -> libc :: c_int > , # [doc = " A callback for closing the streams opened with AVFormatContext.io_open().\n\n @deprecated use io_close2"] pub io_close : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , pb : * mut AVIOContext) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:794051 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVFormatContext { # [doc = " A class for logging and @ref avoptions. Set by avformat_alloc_context().\n Exports (de)muxer private options if they exist."] pub av_class : * const AVClass , # [doc = " The input container format.\n\n Demuxing only, set by avformat_open_input()."] pub iformat : * const AVInputFormat , # [doc = " The output container format.\n\n Muxing only, must be set by the caller before avformat_write_header()."] pub oformat : * const AVOutputFormat , # [doc = " Format private data. This is an AVOptions-enabled struct\n if and only if iformat/oformat.priv_class is not NULL.\n\n - muxing: set by avformat_write_header()\n - demuxing: set by avformat_open_input()"] pub priv_data : * mut libc :: c_void , # [doc = " I/O context.\n\n - demuxing: either set by the user before avformat_open_input() (then\n the user must close it manually) or set by avformat_open_input().\n - muxing: set by the user before avformat_write_header(). The caller must\n take care of closing / freeing the IO context.\n\n Do NOT set this field if AVFMT_NOFILE flag is set in\n iformat/oformat.flags. In such a case, the (de)muxer will handle\n I/O in some other way and this field will be NULL."] pub pb : * mut AVIOContext , # [doc = " Flags signalling stream properties. A combination of AVFMTCTX_*.\n Set by libavformat."] pub ctx_flags : libc :: c_int , # [doc = " Number of elements in AVFormatContext.streams.\n\n Set by avformat_new_stream(), must not be modified by any other code."] pub nb_streams : libc :: c_uint , # [doc = " A list of all streams in the file. New streams are created with\n avformat_new_stream().\n\n - demuxing: streams are created by libavformat in avformat_open_input().\n If AVFMTCTX_NOHEADER is set in ctx_flags, then new streams may also\n appear in av_read_frame().\n - muxing: streams are created by the user before avformat_write_header().\n\n Freed by libavformat in avformat_free_context()."] pub streams : * mut * mut AVStream , # [doc = " input or output URL. Unlike the old filename field, this field has no\n length restriction.\n\n - demuxing: set by avformat_open_input(), initialized to an empty\n string if url parameter was NULL in avformat_open_input().\n - muxing: may be set by the caller before calling avformat_write_header()\n (or avformat_init_output() if that is called first) to a string\n which is freeable by av_free(). Set to an empty string if it\n was NULL in avformat_init_output().\n\n Freed by libavformat in avformat_free_context()."] pub url : * mut libc :: c_char , # [doc = " Position of the first frame of the component, in\n AV_TIME_BASE fractional seconds. NEVER set this value directly:\n It is deduced from the AVStream values.\n\n Demuxing only, set by libavformat."] pub start_time : i64 , # [doc = " Duration of the stream, in AV_TIME_BASE fractional\n seconds. Only set this value if you know none of the individual stream\n durations and also do not set any of them. This is deduced from the\n AVStream values if not set.\n\n Demuxing only, set by libavformat."] pub duration : i64 , # [doc = " Total stream bitrate in bit/s, 0 if not\n available. Never set it directly if the file_size and the\n duration are known as FFmpeg can compute it automatically."] pub bit_rate : i64 , pub packet_size : libc :: c_uint , pub max_delay : libc :: c_int , # [doc = " Flags modifying the (de)muxer behaviour. A combination of AVFMT_FLAG_*.\n Set by the user before avformat_open_input() / avformat_write_header()."] pub flags : libc :: c_int , # [doc = " Maximum number of bytes read from input in order to determine stream\n properties. Used when reading the global header and in\n avformat_find_stream_info().\n\n Demuxing only, set by the caller before avformat_open_input().\n\n @note this is \\e not used for determining the \\ref AVInputFormat\n \"input format\"\n @sa format_probesize"] pub probesize : i64 , # [doc = " Maximum duration (in AV_TIME_BASE units) of the data read\n from input in avformat_find_stream_info().\n Demuxing only, set by the caller before avformat_find_stream_info().\n Can be set to 0 to let avformat choose using a heuristic."] pub max_analyze_duration : i64 , pub key : * const u8 , pub keylen : libc :: c_int , pub nb_programs : libc :: c_uint , pub programs : * mut * mut AVProgram , # [doc = " Forced video codec_id.\n Demuxing: Set by user."] pub video_codec_id : AVCodecID , # [doc = " Forced audio codec_id.\n Demuxing: Set by user."] pub audio_codec_id : AVCodecID , # [doc = " Forced subtitle codec_id.\n Demuxing: Set by user."] pub subtitle_codec_id : AVCodecID , # [doc = " Maximum amount of memory in bytes to use for the index of each stream.\n If the index exceeds this size, entries will be discarded as\n needed to maintain a smaller size. This can lead to slower or less\n accurate seeking (depends on demuxer).\n Demuxers for which a full in-memory index is mandatory will ignore\n this.\n - muxing: unused\n - demuxing: set by user"] pub max_index_size : libc :: c_uint , # [doc = " Maximum amount of memory in bytes to use for buffering frames\n obtained from realtime capture devices."] pub max_picture_buffer : libc :: c_uint , # [doc = " Number of chapters in AVChapter array.\n When muxing, chapters are normally written in the file header,\n so nb_chapters should normally be initialized before write_header\n is called. Some muxers (e.g. mov and mkv) can also write chapters\n in the trailer. To write chapters in the trailer, nb_chapters\n must be zero when write_header is called and non-zero when\n write_trailer is called.\n - muxing: set by user\n - demuxing: set by libavformat"] pub nb_chapters : libc :: c_uint , pub chapters : * mut * mut AVChapter , # [doc = " Metadata that applies to the whole file.\n\n - demuxing: set by libavformat in avformat_open_input()\n - muxing: may be set by the caller before avformat_write_header()\n\n Freed by libavformat in avformat_free_context()."] pub metadata : * mut AVDictionary , # [doc = " Start time of the stream in real world time, in microseconds\n since the Unix epoch (00:00 1st January 1970). That is, pts=0 in the\n stream was captured at this real world time.\n - muxing: Set by the caller before avformat_write_header(). If set to\n either 0 or AV_NOPTS_VALUE, then the current wall-time will\n be used.\n - demuxing: Set by libavformat. AV_NOPTS_VALUE if unknown. Note that\n the value may become known after some number of frames\n have been received."] pub start_time_realtime : i64 , # [doc = " The number of frames used for determining the framerate in\n avformat_find_stream_info().\n Demuxing only, set by the caller before avformat_find_stream_info()."] pub fps_probe_size : libc :: c_int , # [doc = " Error recognition; higher values will detect more errors but may\n misdetect some more or less valid parts as errors.\n Demuxing only, set by the caller before avformat_open_input()."] pub error_recognition : libc :: c_int , # [doc = " Custom interrupt callbacks for the I/O layer.\n\n demuxing: set by the user before avformat_open_input().\n muxing: set by the user before avformat_write_header()\n (mainly useful for AVFMT_NOFILE formats). The callback\n should also be passed to avio_open2() if it's used to\n open the file."] pub interrupt_callback : AVIOInterruptCB , # [doc = " Flags to enable debugging."] pub debug : libc :: c_int , # [doc = " Maximum buffering duration for interleaving.\n\n To ensure all the streams are interleaved correctly,\n av_interleaved_write_frame() will wait until it has at least one packet\n for each stream before actually writing any packets to the output file.\n When some streams are \"sparse\" (i.e. there are large gaps between\n successive packets), this can result in excessive buffering.\n\n This field specifies the maximum difference between the timestamps of the\n first and the last packet in the muxing queue, above which libavformat\n will output a packet regardless of whether it has queued a packet for all\n the streams.\n\n Muxing only, set by the caller before avformat_write_header()."] pub max_interleave_delta : i64 , # [doc = " Allow non-standard and experimental extension\n @see AVCodecContext.strict_std_compliance"] pub strict_std_compliance : libc :: c_int , # [doc = " Flags indicating events happening on the file, a combination of\n AVFMT_EVENT_FLAG_*.\n\n - demuxing: may be set by the demuxer in avformat_open_input(),\n avformat_find_stream_info() and av_read_frame(). Flags must be cleared\n by the user once the event has been handled.\n - muxing: may be set by the user after avformat_write_header() to\n indicate a user-triggered event. The muxer will clear the flags for\n events it has handled in av_[interleaved]_write_frame()."] pub event_flags : libc :: c_int , # [doc = " Maximum number of packets to read while waiting for the first timestamp.\n Decoding only."] pub max_ts_probe : libc :: c_int , # [doc = " Avoid negative timestamps during muxing.\n Any value of the AVFMT_AVOID_NEG_TS_* constants.\n Note, this works better when using av_interleaved_write_frame().\n - muxing: Set by user\n - demuxing: unused"] pub avoid_negative_ts : libc :: c_int , # [doc = " Transport stream id.\n This will be moved into demuxer private options. Thus no API/ABI compatibility"] pub ts_id : libc :: c_int , # [doc = " Audio preload in microseconds.\n Note, not all formats support this and unpredictable things may happen if it is used when not supported.\n - encoding: Set by user\n - decoding: unused"] pub audio_preload : libc :: c_int , # [doc = " Max chunk time in microseconds.\n Note, not all formats support this and unpredictable things may happen if it is used when not supported.\n - encoding: Set by user\n - decoding: unused"] pub max_chunk_duration : libc :: c_int , # [doc = " Max chunk size in bytes\n Note, not all formats support this and unpredictable things may happen if it is used when not supported.\n - encoding: Set by user\n - decoding: unused"] pub max_chunk_size : libc :: c_int , # [doc = " forces the use of wallclock timestamps as pts/dts of packets\n This has undefined results in the presence of B frames.\n - encoding: unused\n - decoding: Set by user"] pub use_wallclock_as_timestamps : libc :: c_int , # [doc = " avio flags, used to force AVIO_FLAG_DIRECT.\n - encoding: unused\n - decoding: Set by user"] pub avio_flags : libc :: c_int , # [doc = " The duration field can be estimated through various ways, and this field can be used\n to know how the duration was estimated.\n - encoding: unused\n - decoding: Read by user"] pub duration_estimation_method : AVDurationEstimationMethod , # [doc = " Skip initial bytes when opening stream\n - encoding: unused\n - decoding: Set by user"] pub skip_initial_bytes : i64 , # [doc = " Correct single timestamp overflows\n - encoding: unused\n - decoding: Set by user"] pub correct_ts_overflow : libc :: c_uint , # [doc = " Force seeking to any (also non key) frames.\n - encoding: unused\n - decoding: Set by user"] pub seek2any : libc :: c_int , # [doc = " Flush the I/O context after each packet.\n - encoding: Set by user\n - decoding: unused"] pub flush_packets : libc :: c_int , # [doc = " format probing score.\n The maximal score is AVPROBE_SCORE_MAX, its set when the demuxer probes\n the format.\n - encoding: unused\n - decoding: set by avformat, read by user"] pub probe_score : libc :: c_int , # [doc = " Maximum number of bytes read from input in order to identify the\n \\ref AVInputFormat \"input format\". Only used when the format is not set\n explicitly by the caller.\n\n Demuxing only, set by the caller before avformat_open_input().\n\n @sa probesize"] pub format_probesize : libc :: c_int , # [doc = " ',' separated list of allowed decoders.\n If NULL then all are allowed\n - encoding: unused\n - decoding: set by user"] pub codec_whitelist : * mut libc :: c_char , # [doc = " ',' separated list of allowed demuxers.\n If NULL then all are allowed\n - encoding: unused\n - decoding: set by user"] pub format_whitelist : * mut libc :: c_char , # [doc = " IO repositioned flag.\n This is set by avformat when the underlaying IO context read pointer\n is repositioned, for example when doing byte based seeking.\n Demuxers can use the flag to detect such changes."] pub io_repositioned : libc :: c_int , # [doc = " Forced video codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub video_codec : * const AVCodec , # [doc = " Forced audio codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub audio_codec : * const AVCodec , # [doc = " Forced subtitle codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub subtitle_codec : * const AVCodec , # [doc = " Forced data codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub data_codec : * const AVCodec , # [doc = " Number of bytes to be written as padding in a metadata header.\n Demuxing: Unused.\n Muxing: Set by user via av_format_set_metadata_header_padding."] pub metadata_header_padding : libc :: c_int , # [doc = " User data.\n This is a place for some private data of the user."] pub opaque : * mut libc :: c_void , # [doc = " Callback used by devices to communicate with application."] pub control_message_cb : av_format_control_message , # [doc = " Output timestamp offset, in microseconds.\n Muxing: set by user"] pub output_ts_offset : i64 , # [doc = " dump format separator.\n can be \", \" or \"\\n \" or anything else\n - muxing: Set by user.\n - demuxing: Set by user."] pub dump_separator : * mut u8 , # [doc = " Forced Data codec_id.\n Demuxing: Set by user."] pub data_codec_id : AVCodecID , # [doc = " ',' separated list of allowed protocols.\n - encoding: unused\n - decoding: set by user"] pub protocol_whitelist : * mut libc :: c_char , # [doc = " A callback for opening new IO streams.\n\n Whenever a muxer or a demuxer needs to open an IO stream (typically from\n avformat_open_input() for demuxers, but for certain formats can happen at\n other times as well), it will call this callback to obtain an IO context.\n\n @param s the format context\n @param pb on success, the newly opened IO context should be returned here\n @param url the url to open\n @param flags a combination of AVIO_FLAG_*\n @param options a dictionary of additional options, with the same\n semantics as in avio_open2()\n @return 0 on success, a negative AVERROR code on failure\n\n @note Certain muxers and demuxers do nesting, i.e. they open one or more\n additional internal format contexts. Thus the AVFormatContext pointer\n passed to this callback may be different from the one facing the caller.\n It will, however, have the same 'opaque' field."] pub io_open : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , pb : * mut * mut AVIOContext , url : * const libc :: c_char , flags : libc :: c_int , options : * mut * mut AVDictionary) -> libc :: c_int > , # [doc = " A callback for closing the streams opened with AVFormatContext.io_open().\n\n @deprecated use io_close2"] pub io_close : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , pb : * mut AVIOContext) > , # [doc = " ',' separated list of disallowed protocols.\n - encoding: unused\n - decoding: set by user"] pub protocol_blacklist : * mut libc :: c_char , # [doc = " The maximum number of streams.\n - encoding: unused\n - decoding: set by user"] pub max_streams : libc :: c_int , # [doc = " Skip duration calcuation in estimate_timings_from_pts.\n - encoding: unused\n - decoding: set by user"] pub skip_estimate_duration_from_pts : libc :: c_int , # [doc = " Maximum number of packets that can be probed\n - encoding: unused\n - decoding: set by user"] pub max_probe_packets : libc :: c_int , # [doc = " A callback for closing the streams opened with AVFormatContext.io_open().\n\n Using this is preferred over io_close, because this can return an error.\n Therefore this callback is used instead of io_close by the generic\n libavformat code if io_close is NULL or the default.\n\n @param s the format context\n @param pb IO context to be closed and freed\n @return 0 on success, a negative AVERROR code on failure"] pub io_close2 : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , pb : * mut AVIOContext) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:917646 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVFilterGraph { pub av_class : * const AVClass , pub filters : * mut * mut AVFilterContext , pub nb_filters : libc :: c_uint , # [doc = "< sws options to use for the auto-inserted scale filters"] pub scale_sws_opts : * mut libc :: c_char , # [doc = " Type of multithreading allowed for filters in this graph. A combination\n of AVFILTER_THREAD_* flags.\n\n May be set by the caller at any point, the setting will apply to all\n filters initialized after that. The default is allowing everything.\n\n When a filter in this graph is initialized, this field is combined using\n bit AND with AVFilterContext.thread_type to get the final mask used for\n determining allowed threading types. I.e. a threading type needs to be\n set in both to be allowed."] pub thread_type : libc :: c_int , # [doc = " Maximum number of threads used by filters in this graph. May be set by\n the caller before adding any filters to the filtergraph. Zero (the\n default) means that the number of threads is determined automatically."] pub nb_threads : libc :: c_int , # [doc = " Opaque object for libavfilter internal use."] pub internal : * mut AVFilterGraphInternal , # [doc = " Opaque user data. May be set by the caller to an arbitrary value, e.g. to\n be used from callbacks like @ref AVFilterGraph.execute.\n Libavfilter will not touch this field in any way."] pub opaque : * mut libc :: c_void , # [doc = " This callback may be set by the caller immediately after allocating the\n graph and before adding any filters to it, to provide a custom\n multithreading implementation.\n\n If set, filters with slice threading capability will call this callback\n to execute multiple jobs in parallel.\n\n If this field is left unset, libavfilter will use its internal\n implementation, which may or may not be multithreaded depending on the\n platform and build options."] pub execute : avfilter_execute_func , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:177380 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVClass { # [doc = " The name of the class; usually it is the same name as the\n context structure type to which the AVClass is associated."] pub class_name : * const libc :: c_char , # [doc = " A pointer to a function which returns the name of a context\n instance ctx associated with the class."] pub item_name : :: std :: option :: Option < unsafe extern "C" fn (ctx : * mut libc :: c_void) -> * const libc :: 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] = 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:178669 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVClass { # [doc = " The name of the class; usually it is the same name as the\n context structure type to which the AVClass is associated."] pub class_name : * const libc :: c_char , # [doc = " A pointer to a function which returns the name of a context\n instance ctx associated with the class."] pub item_name : :: std :: option :: Option < unsafe extern "C" fn (ctx : * mut libc :: c_void) -> * const libc :: c_char > , # [doc = " a pointer to the first option specified in the class if any or NULL\n\n @see av_set_default_options()"] pub option : * const AVOption , # [doc = " LIBAVUTIL_VERSION with which this structure was created.\n This is used to allow fields to be added without requiring major\n version bumps everywhere."] pub version : libc :: c_int , # [doc = " Offset in the structure where log_level_offset is stored.\n 0 means there is no such variable"] pub log_level_offset_offset : libc :: c_int , # [doc = " Offset in the structure where a pointer to the parent context for\n logging is stored. For example a decoder could pass its AVCodecContext\n to eval as such a parent context, which an av_log() implementation\n could then leverage to display the parent context.\n The offset can be NULL."] pub parent_log_context_offset : libc :: c_int , # [doc = " Category used for visualization (like color)\n This is only set if the category is equal for all objects using this class.\n available since version (51 << 16 | 56 << 8 | 100)"] pub category : AVClassCategory , # [doc = " Callback to return the category.\n available since version (51 << 16 | 59 << 8 | 100)"] pub get_category : :: std :: option :: Option < unsafe extern "C" fn (ctx : * mut libc :: c_void) -> AVClassCategory > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:178886 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVClass { # [doc = " The name of the class; usually it is the same name as the\n context structure type to which the AVClass is associated."] pub class_name : * const libc :: c_char , # [doc = " A pointer to a function which returns the name of a context\n instance ctx associated with the class."] pub item_name : :: std :: option :: Option < unsafe extern "C" fn (ctx : * mut libc :: c_void) -> * const libc :: c_char > , # [doc = " a pointer to the first option specified in the class if any or NULL\n\n @see av_set_default_options()"] pub option : * const AVOption , # [doc = " LIBAVUTIL_VERSION with which this structure was created.\n This is used to allow fields to be added without requiring major\n version bumps everywhere."] pub version : libc :: c_int , # [doc = " Offset in the structure where log_level_offset is stored.\n 0 means there is no such variable"] pub log_level_offset_offset : libc :: c_int , # [doc = " Offset in the structure where a pointer to the parent context for\n logging is stored. For example a decoder could pass its AVCodecContext\n to eval as such a parent context, which an av_log() implementation\n could then leverage to display the parent context.\n The offset can be NULL."] pub parent_log_context_offset : libc :: c_int , # [doc = " Category used for visualization (like color)\n This is only set if the category is equal for all objects using this class.\n available since version (51 << 16 | 56 << 8 | 100)"] pub category : AVClassCategory , # [doc = " Callback to return the category.\n available since version (51 << 16 | 59 << 8 | 100)"] pub get_category : :: std :: option :: Option < unsafe extern "C" fn (ctx : * mut libc :: c_void) -> AVClassCategory > , # [doc = " Callback to return the supported/allowed ranges.\n available since version (52.12)"] pub query_ranges : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut * mut AVOptionRanges , obj : * mut libc :: c_void , key : * const libc :: c_char , flags : libc :: c_int) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:179153 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVClass { # [doc = " The name of the class; usually it is the same name as the\n context structure type to which the AVClass is associated."] pub class_name : * const libc :: c_char , # [doc = " A pointer to a function which returns the name of a context\n instance ctx associated with the class."] pub item_name : :: std :: option :: Option < unsafe extern "C" fn (ctx : * mut libc :: c_void) -> * const libc :: c_char > , # [doc = " a pointer to the first option specified in the class if any or NULL\n\n @see av_set_default_options()"] pub option : * const AVOption , # [doc = " LIBAVUTIL_VERSION with which this structure was created.\n This is used to allow fields to be added without requiring major\n version bumps everywhere."] pub version : libc :: c_int , # [doc = " Offset in the structure where log_level_offset is stored.\n 0 means there is no such variable"] pub log_level_offset_offset : libc :: c_int , # [doc = " Offset in the structure where a pointer to the parent context for\n logging is stored. For example a decoder could pass its AVCodecContext\n to eval as such a parent context, which an av_log() implementation\n could then leverage to display the parent context.\n The offset can be NULL."] pub parent_log_context_offset : libc :: c_int , # [doc = " Category used for visualization (like color)\n This is only set if the category is equal for all objects using this class.\n available since version (51 << 16 | 56 << 8 | 100)"] pub category : AVClassCategory , # [doc = " Callback to return the category.\n available since version (51 << 16 | 59 << 8 | 100)"] pub get_category : :: std :: option :: Option < unsafe extern "C" fn (ctx : * mut libc :: c_void) -> AVClassCategory > , # [doc = " Callback to return the supported/allowed ranges.\n available since version (52.12)"] pub query_ranges : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut * mut AVOptionRanges , obj : * mut libc :: c_void , key : * const libc :: c_char , flags : libc :: c_int) -> libc :: c_int > , # [doc = " Return next AVOptions-enabled child or NULL"] pub child_next : :: std :: option :: Option < unsafe extern "C" fn (obj : * mut libc :: c_void , prev : * mut libc :: c_void) -> * mut libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:179837 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVClass { # [doc = " The name of the class; usually it is the same name as the\n context structure type to which the AVClass is associated."] pub class_name : * const libc :: c_char , # [doc = " A pointer to a function which returns the name of a context\n instance ctx associated with the class."] pub item_name : :: std :: option :: Option < unsafe extern "C" fn (ctx : * mut libc :: c_void) -> * const libc :: c_char > , # [doc = " a pointer to the first option specified in the class if any or NULL\n\n @see av_set_default_options()"] pub option : * const AVOption , # [doc = " LIBAVUTIL_VERSION with which this structure was created.\n This is used to allow fields to be added without requiring major\n version bumps everywhere."] pub version : libc :: c_int , # [doc = " Offset in the structure where log_level_offset is stored.\n 0 means there is no such variable"] pub log_level_offset_offset : libc :: c_int , # [doc = " Offset in the structure where a pointer to the parent context for\n logging is stored. For example a decoder could pass its AVCodecContext\n to eval as such a parent context, which an av_log() implementation\n could then leverage to display the parent context.\n The offset can be NULL."] pub parent_log_context_offset : libc :: c_int , # [doc = " Category used for visualization (like color)\n This is only set if the category is equal for all objects using this class.\n available since version (51 << 16 | 56 << 8 | 100)"] pub category : AVClassCategory , # [doc = " Callback to return the category.\n available since version (51 << 16 | 59 << 8 | 100)"] pub get_category : :: std :: option :: Option < unsafe extern "C" fn (ctx : * mut libc :: c_void) -> AVClassCategory > , # [doc = " Callback to return the supported/allowed ranges.\n available since version (52.12)"] pub query_ranges : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut * mut AVOptionRanges , obj : * mut libc :: c_void , key : * const libc :: c_char , flags : libc :: c_int) -> libc :: c_int > , # [doc = " Return next AVOptions-enabled child or NULL"] pub child_next : :: std :: option :: Option < unsafe extern "C" fn (obj : * mut libc :: c_void , prev : * mut libc :: c_void) -> * mut libc :: c_void > , # [doc = " Iterate over the AVClasses corresponding to potential AVOptions-enabled\n children.\n\n @param iter pointer to opaque iteration state. The caller must initialize\n *iter to NULL before the first call.\n @return AVClass for the next AVOptions-enabled child or NULL if there are\n no more such children.\n\n @note The difference between child_next and this is that child_next\n iterates over _already existing_ objects, while child_class_iterate\n iterates over _all possible_ children."] pub child_class_iterate : :: std :: option :: Option < unsafe extern "C" fn (iter : * mut * mut libc :: c_void) -> * const AVClass > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:313073 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVHWDeviceContext { # [doc = " A class for logging. Set by av_hwdevice_ctx_alloc()."] pub av_class : * const AVClass , # [doc = " Private data used internally by libavutil. Must not be accessed in any\n way by the caller."] pub internal : * mut AVHWDeviceInternal , # [doc = " This field identifies the underlying API used for hardware access.\n\n This field is set when this struct is allocated and never changed\n afterwards."] pub type_ : AVHWDeviceType , # [doc = " The format-specific data, allocated and freed by libavutil along with\n this context.\n\n Should be cast by the user to the format-specific context defined in the\n corresponding header (hwcontext_*.h) and filled as described in the\n documentation before calling av_hwdevice_ctx_init().\n\n After calling av_hwdevice_ctx_init() this struct should not be modified\n by the caller."] pub hwctx : * mut libc :: c_void , # [doc = " This field may be set by the caller before calling av_hwdevice_ctx_init().\n\n If non-NULL, this callback will be called when the last reference to\n this context is unreferenced, immediately before it is freed.\n\n @note when other objects (e.g an AVHWFramesContext) are derived from this\n struct, this callback will be invoked after all such child objects\n are fully uninitialized and their respective destructors invoked."] pub free : :: std :: option :: Option < unsafe extern "C" fn (ctx : * mut AVHWDeviceContext) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:316993 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVHWFramesContext { # [doc = " A class for logging."] pub av_class : * const AVClass , # [doc = " Private data used internally by libavutil. Must not be accessed in any\n way by the caller."] pub internal : * mut AVHWFramesInternal , # [doc = " A reference to the parent AVHWDeviceContext. This reference is owned and\n managed by the enclosing AVHWFramesContext, but the caller may derive\n additional references from it."] pub device_ref : * mut AVBufferRef , # [doc = " The parent AVHWDeviceContext. This is simply a pointer to\n device_ref->data provided for convenience.\n\n Set by libavutil in av_hwframe_ctx_init()."] pub device_ctx : * mut AVHWDeviceContext , # [doc = " The format-specific data, allocated and freed automatically along with\n this context.\n\n Should be cast by the user to the format-specific context defined in the\n corresponding header (hwframe_*.h) and filled as described in the\n documentation before calling av_hwframe_ctx_init().\n\n After any frames using this context are created, the contents of this\n struct should not be modified by the caller."] pub hwctx : * mut libc :: c_void , # [doc = " This field may be set by the caller before calling av_hwframe_ctx_init().\n\n If non-NULL, this callback will be called when the last reference to\n this context is unreferenced, immediately before it is freed."] pub free : :: std :: option :: Option < unsafe extern "C" fn (ctx : * mut AVHWFramesContext) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:678569 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVCodecParser { pub codec_ids : [libc :: c_int ; 7usize] , pub priv_data_size : libc :: c_int , pub parser_init : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVCodecParserContext) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:678691 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVCodecParser { pub codec_ids : [libc :: c_int ; 7usize] , pub priv_data_size : libc :: c_int , pub parser_init : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVCodecParserContext) -> libc :: c_int > , pub parser_parse : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVCodecParserContext , avctx : * mut AVCodecContext , poutbuf : * mut * const u8 , poutbuf_size : * mut libc :: c_int , buf : * const u8 , buf_size : libc :: c_int) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:678957 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVCodecParser { pub codec_ids : [libc :: c_int ; 7usize] , pub priv_data_size : libc :: c_int , pub parser_init : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVCodecParserContext) -> libc :: c_int > , pub parser_parse : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVCodecParserContext , avctx : * mut AVCodecContext , poutbuf : * mut * const u8 , poutbuf_size : * mut libc :: c_int , buf : * const u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub parser_close : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVCodecParserContext) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:679063 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVCodecParser { pub codec_ids : [libc :: c_int ; 7usize] , pub priv_data_size : libc :: c_int , pub parser_init : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVCodecParserContext) -> libc :: c_int > , pub parser_parse : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVCodecParserContext , avctx : * mut AVCodecContext , poutbuf : * mut * const u8 , poutbuf_size : * mut libc :: c_int , buf : * const u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub parser_close : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVCodecParserContext) > , pub split : :: std :: option :: Option < unsafe extern "C" fn (avctx : * mut AVCodecContext , buf : * const u8 , buf_size : libc :: c_int) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:700539 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVIOInterruptCB { pub callback : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut libc :: c_void) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:709603 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVIOContext { # [doc = " A class for private options.\n\n If this AVIOContext is created by avio_open2(), av_class is set and\n passes the options down to protocols.\n\n If this AVIOContext is manually allocated, then av_class may be set by\n the caller.\n\n warning -- this field can be NULL, be sure to not pass this AVIOContext\n to any av_opt_* functions in that case."] pub av_class : * const AVClass , # [doc = "< Start of the buffer."] pub buffer : * mut libc :: c_uchar , # [doc = "< Maximum buffer size"] pub buffer_size : libc :: c_int , # [doc = "< Current position in the buffer"] pub buf_ptr : * mut libc :: c_uchar , # [doc = "< End of the data, may be less than\nbuffer+buffer_size if the read function returned\nless data than requested, e.g. for streams where\nno more data has been received yet."] pub buf_end : * mut libc :: c_uchar , # [doc = "< A private pointer, passed to the read/write/seek/...\nfunctions."] pub opaque : * mut libc :: c_void , pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:709768 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVIOContext { # [doc = " A class for private options.\n\n If this AVIOContext is created by avio_open2(), av_class is set and\n passes the options down to protocols.\n\n If this AVIOContext is manually allocated, then av_class may be set by\n the caller.\n\n warning -- this field can be NULL, be sure to not pass this AVIOContext\n to any av_opt_* functions in that case."] pub av_class : * const AVClass , # [doc = "< Start of the buffer."] pub buffer : * mut libc :: c_uchar , # [doc = "< Maximum buffer size"] pub buffer_size : libc :: c_int , # [doc = "< Current position in the buffer"] pub buf_ptr : * mut libc :: c_uchar , # [doc = "< End of the data, may be less than\nbuffer+buffer_size if the read function returned\nless data than requested, e.g. for streams where\nno more data has been received yet."] pub buf_end : * mut libc :: c_uchar , # [doc = "< A private pointer, passed to the read/write/seek/...\nfunctions."] pub opaque : * mut libc :: c_void , pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub write_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:709934 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVIOContext { # [doc = " A class for private options.\n\n If this AVIOContext is created by avio_open2(), av_class is set and\n passes the options down to protocols.\n\n If this AVIOContext is manually allocated, then av_class may be set by\n the caller.\n\n warning -- this field can be NULL, be sure to not pass this AVIOContext\n to any av_opt_* functions in that case."] pub av_class : * const AVClass , # [doc = "< Start of the buffer."] pub buffer : * mut libc :: c_uchar , # [doc = "< Maximum buffer size"] pub buffer_size : libc :: c_int , # [doc = "< Current position in the buffer"] pub buf_ptr : * mut libc :: c_uchar , # [doc = "< End of the data, may be less than\nbuffer+buffer_size if the read function returned\nless data than requested, e.g. for streams where\nno more data has been received yet."] pub buf_end : * mut libc :: c_uchar , # [doc = "< A private pointer, passed to the read/write/seek/...\nfunctions."] pub opaque : * mut libc :: c_void , pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub write_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub seek : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , offset : i64 , whence : libc :: c_int) -> 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:710640 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVIOContext { # [doc = " A class for private options.\n\n If this AVIOContext is created by avio_open2(), av_class is set and\n passes the options down to protocols.\n\n If this AVIOContext is manually allocated, then av_class may be set by\n the caller.\n\n warning -- this field can be NULL, be sure to not pass this AVIOContext\n to any av_opt_* functions in that case."] pub av_class : * const AVClass , # [doc = "< Start of the buffer."] pub buffer : * mut libc :: c_uchar , # [doc = "< Maximum buffer size"] pub buffer_size : libc :: c_int , # [doc = "< Current position in the buffer"] pub buf_ptr : * mut libc :: c_uchar , # [doc = "< End of the data, may be less than\nbuffer+buffer_size if the read function returned\nless data than requested, e.g. for streams where\nno more data has been received yet."] pub buf_end : * mut libc :: c_uchar , # [doc = "< A private pointer, passed to the read/write/seek/...\nfunctions."] pub opaque : * mut libc :: c_void , pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub write_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub seek : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , offset : i64 , whence : libc :: c_int) -> i64 > , # [doc = "< position in the file of the current buffer"] pub pos : i64 , # [doc = "< true if was unable to read due to error or eof"] pub eof_reached : libc :: c_int , # [doc = "< contains the error code or 0 if no error happened"] pub error : libc :: c_int , # [doc = "< true if open for writing"] pub write_flag : libc :: c_int , pub max_packet_size : libc :: c_int , # [doc = "< Try to buffer at least this amount of data\nbefore flushing it."] pub min_packet_size : libc :: c_int , pub checksum : libc :: c_ulong , pub checksum_ptr : * mut libc :: c_uchar , pub update_checksum : :: std :: option :: Option < unsafe extern "C" fn (checksum : libc :: c_ulong , buf : * const u8 , size : libc :: c_uint) -> libc :: c_ulong > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:710889 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVIOContext { # [doc = " A class for private options.\n\n If this AVIOContext is created by avio_open2(), av_class is set and\n passes the options down to protocols.\n\n If this AVIOContext is manually allocated, then av_class may be set by\n the caller.\n\n warning -- this field can be NULL, be sure to not pass this AVIOContext\n to any av_opt_* functions in that case."] pub av_class : * const AVClass , # [doc = "< Start of the buffer."] pub buffer : * mut libc :: c_uchar , # [doc = "< Maximum buffer size"] pub buffer_size : libc :: c_int , # [doc = "< Current position in the buffer"] pub buf_ptr : * mut libc :: c_uchar , # [doc = "< End of the data, may be less than\nbuffer+buffer_size if the read function returned\nless data than requested, e.g. for streams where\nno more data has been received yet."] pub buf_end : * mut libc :: c_uchar , # [doc = "< A private pointer, passed to the read/write/seek/...\nfunctions."] pub opaque : * mut libc :: c_void , pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub write_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub seek : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , offset : i64 , whence : libc :: c_int) -> i64 > , # [doc = "< position in the file of the current buffer"] pub pos : i64 , # [doc = "< true if was unable to read due to error or eof"] pub eof_reached : libc :: c_int , # [doc = "< contains the error code or 0 if no error happened"] pub error : libc :: c_int , # [doc = "< true if open for writing"] pub write_flag : libc :: c_int , pub max_packet_size : libc :: c_int , # [doc = "< Try to buffer at least this amount of data\nbefore flushing it."] pub min_packet_size : libc :: c_int , pub checksum : libc :: c_ulong , pub checksum_ptr : * mut libc :: c_uchar , pub update_checksum : :: std :: option :: Option < unsafe extern "C" fn (checksum : libc :: c_ulong , buf : * const u8 , size : libc :: c_uint) -> libc :: c_ulong > , # [doc = " Pause or resume playback for network streaming protocols - e.g. MMS."] pub read_pause : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , pause : libc :: c_int) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:711209 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVIOContext { # [doc = " A class for private options.\n\n If this AVIOContext is created by avio_open2(), av_class is set and\n passes the options down to protocols.\n\n If this AVIOContext is manually allocated, then av_class may be set by\n the caller.\n\n warning -- this field can be NULL, be sure to not pass this AVIOContext\n to any av_opt_* functions in that case."] pub av_class : * const AVClass , # [doc = "< Start of the buffer."] pub buffer : * mut libc :: c_uchar , # [doc = "< Maximum buffer size"] pub buffer_size : libc :: c_int , # [doc = "< Current position in the buffer"] pub buf_ptr : * mut libc :: c_uchar , # [doc = "< End of the data, may be less than\nbuffer+buffer_size if the read function returned\nless data than requested, e.g. for streams where\nno more data has been received yet."] pub buf_end : * mut libc :: c_uchar , # [doc = "< A private pointer, passed to the read/write/seek/...\nfunctions."] pub opaque : * mut libc :: c_void , pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub write_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub seek : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , offset : i64 , whence : libc :: c_int) -> i64 > , # [doc = "< position in the file of the current buffer"] pub pos : i64 , # [doc = "< true if was unable to read due to error or eof"] pub eof_reached : libc :: c_int , # [doc = "< contains the error code or 0 if no error happened"] pub error : libc :: c_int , # [doc = "< true if open for writing"] pub write_flag : libc :: c_int , pub max_packet_size : libc :: c_int , # [doc = "< Try to buffer at least this amount of data\nbefore flushing it."] pub min_packet_size : libc :: c_int , pub checksum : libc :: c_ulong , pub checksum_ptr : * mut libc :: c_uchar , pub update_checksum : :: std :: option :: Option < unsafe extern "C" fn (checksum : libc :: c_ulong , buf : * const u8 , size : libc :: c_uint) -> libc :: c_ulong > , # [doc = " Pause or resume playback for network streaming protocols - e.g. MMS."] pub read_pause : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , pause : libc :: c_int) -> libc :: c_int > , # [doc = " Seek to a given timestamp in stream with the specified stream_index.\n Needed for some network streaming protocols which don't support seeking\n to byte position."] pub read_seek : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , stream_index : libc :: c_int , timestamp : i64 , flags : libc :: c_int) -> 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:711939 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVIOContext { # [doc = " A class for private options.\n\n If this AVIOContext is created by avio_open2(), av_class is set and\n passes the options down to protocols.\n\n If this AVIOContext is manually allocated, then av_class may be set by\n the caller.\n\n warning -- this field can be NULL, be sure to not pass this AVIOContext\n to any av_opt_* functions in that case."] pub av_class : * const AVClass , # [doc = "< Start of the buffer."] pub buffer : * mut libc :: c_uchar , # [doc = "< Maximum buffer size"] pub buffer_size : libc :: c_int , # [doc = "< Current position in the buffer"] pub buf_ptr : * mut libc :: c_uchar , # [doc = "< End of the data, may be less than\nbuffer+buffer_size if the read function returned\nless data than requested, e.g. for streams where\nno more data has been received yet."] pub buf_end : * mut libc :: c_uchar , # [doc = "< A private pointer, passed to the read/write/seek/...\nfunctions."] pub opaque : * mut libc :: c_void , pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub write_packet : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int) -> libc :: c_int > , pub seek : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , offset : i64 , whence : libc :: c_int) -> i64 > , # [doc = "< position in the file of the current buffer"] pub pos : i64 , # [doc = "< true if was unable to read due to error or eof"] pub eof_reached : libc :: c_int , # [doc = "< contains the error code or 0 if no error happened"] pub error : libc :: c_int , # [doc = "< true if open for writing"] pub write_flag : libc :: c_int , pub max_packet_size : libc :: c_int , # [doc = "< Try to buffer at least this amount of data\nbefore flushing it."] pub min_packet_size : libc :: c_int , pub checksum : libc :: c_ulong , pub checksum_ptr : * mut libc :: c_uchar , pub update_checksum : :: std :: option :: Option < unsafe extern "C" fn (checksum : libc :: c_ulong , buf : * const u8 , size : libc :: c_uint) -> libc :: c_ulong > , # [doc = " Pause or resume playback for network streaming protocols - e.g. MMS."] pub read_pause : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , pause : libc :: c_int) -> libc :: c_int > , # [doc = " Seek to a given timestamp in stream with the specified stream_index.\n Needed for some network streaming protocols which don't support seeking\n to byte position."] pub read_seek : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , stream_index : libc :: c_int , timestamp : i64 , flags : libc :: c_int) -> i64 > , # [doc = " A combination of AVIO_SEEKABLE_ flags or 0 when the stream is not seekable."] pub seekable : libc :: c_int , # [doc = " avio_read and avio_write should if possible be satisfied directly\n instead of going through a buffer, and avio_seek will always\n call the underlying seek function directly."] pub direct : libc :: c_int , # [doc = " ',' separated list of allowed protocols."] pub protocol_whitelist : * const libc :: c_char , # [doc = " ',' separated list of disallowed protocols."] pub protocol_blacklist : * const libc :: c_char , pub write_data_type : :: std :: option :: Option < unsafe extern "C" fn (opaque : * mut libc :: c_void , buf : * mut u8 , buf_size : libc :: c_int , type_ : AVIODataMarkerType , time : i64) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:746722 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVInputFormat { # [doc = " A comma separated list of short names for the format. New names\n may be appended with a minor bump."] pub name : * const libc :: c_char , # [doc = " Descriptive name for the format, meant to be more human-readable\n than name. You should use the NULL_IF_CONFIG_SMALL() macro\n to define it."] pub long_name : * const libc :: c_char , # [doc = " Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS,\n AVFMT_NOTIMESTAMPS, AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH,\n AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS."] pub flags : libc :: c_int , # [doc = " If extensions are defined, then no probe is done. You should\n usually not use extension format guessing because it is not\n reliable enough"] pub extensions : * const libc :: c_char , pub codec_tag : * const * const AVCodecTag , # [doc = "< AVClass for the private context"] pub priv_class : * const AVClass , # [doc = " Comma-separated list of mime types.\n It is used check for matching mime types while probing.\n @see av_probe_input_format2"] pub mime_type : * const libc :: c_char , # [doc = " No fields below this line are part of the public API. They\n may not be used outside of libavformat and can be changed and\n removed at will.\n New public fields should be added right above.\n\n/\n/**\n Raw demuxers store their codec ID here."] pub raw_codec_id : libc :: c_int , # [doc = " Size of private data so that it can be allocated in the wrapper."] pub priv_data_size : libc :: c_int , # [doc = " Internal flags. See FF_FMT_FLAG_* in internal.h."] pub flags_internal : libc :: c_int , # [doc = " Tell if a given file has a chance of being parsed as this format.\n The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes\n big so you do not have to check for that unless you need more."] pub read_probe : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const AVProbeData) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:747003 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVInputFormat { # [doc = " A comma separated list of short names for the format. New names\n may be appended with a minor bump."] pub name : * const libc :: c_char , # [doc = " Descriptive name for the format, meant to be more human-readable\n than name. You should use the NULL_IF_CONFIG_SMALL() macro\n to define it."] pub long_name : * const libc :: c_char , # [doc = " Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS,\n AVFMT_NOTIMESTAMPS, AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH,\n AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS."] pub flags : libc :: c_int , # [doc = " If extensions are defined, then no probe is done. You should\n usually not use extension format guessing because it is not\n reliable enough"] pub extensions : * const libc :: c_char , pub codec_tag : * const * const AVCodecTag , # [doc = "< AVClass for the private context"] pub priv_class : * const AVClass , # [doc = " Comma-separated list of mime types.\n It is used check for matching mime types while probing.\n @see av_probe_input_format2"] pub mime_type : * const libc :: c_char , # [doc = " No fields below this line are part of the public API. They\n may not be used outside of libavformat and can be changed and\n removed at will.\n New public fields should be added right above.\n\n/\n/**\n Raw demuxers store their codec ID here."] pub raw_codec_id : libc :: c_int , # [doc = " Size of private data so that it can be allocated in the wrapper."] pub priv_data_size : libc :: c_int , # [doc = " Internal flags. See FF_FMT_FLAG_* in internal.h."] pub flags_internal : libc :: c_int , # [doc = " Tell if a given file has a chance of being parsed as this format.\n The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes\n big so you do not have to check for that unless you need more."] pub read_probe : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const AVProbeData) -> libc :: c_int > , # [doc = " Read the format header and initialize the AVFormatContext\n structure. Return 0 if OK. 'avformat_new_stream' should be\n called to create new streams."] pub read_header : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:747460 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVInputFormat { # [doc = " A comma separated list of short names for the format. New names\n may be appended with a minor bump."] pub name : * const libc :: c_char , # [doc = " Descriptive name for the format, meant to be more human-readable\n than name. You should use the NULL_IF_CONFIG_SMALL() macro\n to define it."] pub long_name : * const libc :: c_char , # [doc = " Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS,\n AVFMT_NOTIMESTAMPS, AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH,\n AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS."] pub flags : libc :: c_int , # [doc = " If extensions are defined, then no probe is done. You should\n usually not use extension format guessing because it is not\n reliable enough"] pub extensions : * const libc :: c_char , pub codec_tag : * const * const AVCodecTag , # [doc = "< AVClass for the private context"] pub priv_class : * const AVClass , # [doc = " Comma-separated list of mime types.\n It is used check for matching mime types while probing.\n @see av_probe_input_format2"] pub mime_type : * const libc :: c_char , # [doc = " No fields below this line are part of the public API. They\n may not be used outside of libavformat and can be changed and\n removed at will.\n New public fields should be added right above.\n\n/\n/**\n Raw demuxers store their codec ID here."] pub raw_codec_id : libc :: c_int , # [doc = " Size of private data so that it can be allocated in the wrapper."] pub priv_data_size : libc :: c_int , # [doc = " Internal flags. See FF_FMT_FLAG_* in internal.h."] pub flags_internal : libc :: c_int , # [doc = " Tell if a given file has a chance of being parsed as this format.\n The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes\n big so you do not have to check for that unless you need more."] pub read_probe : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const AVProbeData) -> libc :: c_int > , # [doc = " Read the format header and initialize the AVFormatContext\n structure. Return 0 if OK. 'avformat_new_stream' should be\n called to create new streams."] pub read_header : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Read one packet and put it in 'pkt'. pts and flags are also\n set. 'avformat_new_stream' can be called only if the flag\n AVFMTCTX_NOHEADER is used and only in the calling thread (not in a\n background thread).\n @return 0 on success, < 0 on error.\n Upon returning an error, pkt must be unreferenced by the caller."] pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , pkt : * mut AVPacket) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:747701 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVInputFormat { # [doc = " A comma separated list of short names for the format. New names\n may be appended with a minor bump."] pub name : * const libc :: c_char , # [doc = " Descriptive name for the format, meant to be more human-readable\n than name. You should use the NULL_IF_CONFIG_SMALL() macro\n to define it."] pub long_name : * const libc :: c_char , # [doc = " Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS,\n AVFMT_NOTIMESTAMPS, AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH,\n AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS."] pub flags : libc :: c_int , # [doc = " If extensions are defined, then no probe is done. You should\n usually not use extension format guessing because it is not\n reliable enough"] pub extensions : * const libc :: c_char , pub codec_tag : * const * const AVCodecTag , # [doc = "< AVClass for the private context"] pub priv_class : * const AVClass , # [doc = " Comma-separated list of mime types.\n It is used check for matching mime types while probing.\n @see av_probe_input_format2"] pub mime_type : * const libc :: c_char , # [doc = " No fields below this line are part of the public API. They\n may not be used outside of libavformat and can be changed and\n removed at will.\n New public fields should be added right above.\n\n/\n/**\n Raw demuxers store their codec ID here."] pub raw_codec_id : libc :: c_int , # [doc = " Size of private data so that it can be allocated in the wrapper."] pub priv_data_size : libc :: c_int , # [doc = " Internal flags. See FF_FMT_FLAG_* in internal.h."] pub flags_internal : libc :: c_int , # [doc = " Tell if a given file has a chance of being parsed as this format.\n The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes\n big so you do not have to check for that unless you need more."] pub read_probe : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const AVProbeData) -> libc :: c_int > , # [doc = " Read the format header and initialize the AVFormatContext\n structure. Return 0 if OK. 'avformat_new_stream' should be\n called to create new streams."] pub read_header : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Read one packet and put it in 'pkt'. pts and flags are also\n set. 'avformat_new_stream' can be called only if the flag\n AVFMTCTX_NOHEADER is used and only in the calling thread (not in a\n background thread).\n @return 0 on success, < 0 on error.\n Upon returning an error, pkt must be unreferenced by the caller."] pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , pkt : * mut AVPacket) -> libc :: c_int > , # [doc = " Close the stream. The AVFormatContext and AVStreams are not\n freed by this function"] pub read_close : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:748125 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVInputFormat { # [doc = " A comma separated list of short names for the format. New names\n may be appended with a minor bump."] pub name : * const libc :: c_char , # [doc = " Descriptive name for the format, meant to be more human-readable\n than name. You should use the NULL_IF_CONFIG_SMALL() macro\n to define it."] pub long_name : * const libc :: c_char , # [doc = " Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS,\n AVFMT_NOTIMESTAMPS, AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH,\n AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS."] pub flags : libc :: c_int , # [doc = " If extensions are defined, then no probe is done. You should\n usually not use extension format guessing because it is not\n reliable enough"] pub extensions : * const libc :: c_char , pub codec_tag : * const * const AVCodecTag , # [doc = "< AVClass for the private context"] pub priv_class : * const AVClass , # [doc = " Comma-separated list of mime types.\n It is used check for matching mime types while probing.\n @see av_probe_input_format2"] pub mime_type : * const libc :: c_char , # [doc = " No fields below this line are part of the public API. They\n may not be used outside of libavformat and can be changed and\n removed at will.\n New public fields should be added right above.\n\n/\n/**\n Raw demuxers store their codec ID here."] pub raw_codec_id : libc :: c_int , # [doc = " Size of private data so that it can be allocated in the wrapper."] pub priv_data_size : libc :: c_int , # [doc = " Internal flags. See FF_FMT_FLAG_* in internal.h."] pub flags_internal : libc :: c_int , # [doc = " Tell if a given file has a chance of being parsed as this format.\n The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes\n big so you do not have to check for that unless you need more."] pub read_probe : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const AVProbeData) -> libc :: c_int > , # [doc = " Read the format header and initialize the AVFormatContext\n structure. Return 0 if OK. 'avformat_new_stream' should be\n called to create new streams."] pub read_header : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Read one packet and put it in 'pkt'. pts and flags are also\n set. 'avformat_new_stream' can be called only if the flag\n AVFMTCTX_NOHEADER is used and only in the calling thread (not in a\n background thread).\n @return 0 on success, < 0 on error.\n Upon returning an error, pkt must be unreferenced by the caller."] pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , pkt : * mut AVPacket) -> libc :: c_int > , # [doc = " Close the stream. The AVFormatContext and AVStreams are not\n freed by this function"] pub read_close : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Seek to a given timestamp relative to the frames in\n stream component stream_index.\n @param stream_index Must not be -1.\n @param flags Selects which direction should be preferred if no exact\n match is available.\n @return >= 0 on success (but not necessarily the new offset)"] pub read_seek : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , stream_index : libc :: c_int , timestamp : i64 , flags : libc :: c_int) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:748456 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVInputFormat { # [doc = " A comma separated list of short names for the format. New names\n may be appended with a minor bump."] pub name : * const libc :: c_char , # [doc = " Descriptive name for the format, meant to be more human-readable\n than name. You should use the NULL_IF_CONFIG_SMALL() macro\n to define it."] pub long_name : * const libc :: c_char , # [doc = " Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS,\n AVFMT_NOTIMESTAMPS, AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH,\n AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS."] pub flags : libc :: c_int , # [doc = " If extensions are defined, then no probe is done. You should\n usually not use extension format guessing because it is not\n reliable enough"] pub extensions : * const libc :: c_char , pub codec_tag : * const * const AVCodecTag , # [doc = "< AVClass for the private context"] pub priv_class : * const AVClass , # [doc = " Comma-separated list of mime types.\n It is used check for matching mime types while probing.\n @see av_probe_input_format2"] pub mime_type : * const libc :: c_char , # [doc = " No fields below this line are part of the public API. They\n may not be used outside of libavformat and can be changed and\n removed at will.\n New public fields should be added right above.\n\n/\n/**\n Raw demuxers store their codec ID here."] pub raw_codec_id : libc :: c_int , # [doc = " Size of private data so that it can be allocated in the wrapper."] pub priv_data_size : libc :: c_int , # [doc = " Internal flags. See FF_FMT_FLAG_* in internal.h."] pub flags_internal : libc :: c_int , # [doc = " Tell if a given file has a chance of being parsed as this format.\n The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes\n big so you do not have to check for that unless you need more."] pub read_probe : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const AVProbeData) -> libc :: c_int > , # [doc = " Read the format header and initialize the AVFormatContext\n structure. Return 0 if OK. 'avformat_new_stream' should be\n called to create new streams."] pub read_header : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Read one packet and put it in 'pkt'. pts and flags are also\n set. 'avformat_new_stream' can be called only if the flag\n AVFMTCTX_NOHEADER is used and only in the calling thread (not in a\n background thread).\n @return 0 on success, < 0 on error.\n Upon returning an error, pkt must be unreferenced by the caller."] pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , pkt : * mut AVPacket) -> libc :: c_int > , # [doc = " Close the stream. The AVFormatContext and AVStreams are not\n freed by this function"] pub read_close : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Seek to a given timestamp relative to the frames in\n stream component stream_index.\n @param stream_index Must not be -1.\n @param flags Selects which direction should be preferred if no exact\n match is available.\n @return >= 0 on success (but not necessarily the new offset)"] pub read_seek : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , stream_index : libc :: c_int , timestamp : i64 , flags : libc :: c_int) -> libc :: c_int > , # [doc = " Get the next timestamp in stream[stream_index].time_base units.\n @return the timestamp or AV_NOPTS_VALUE if an error occurred"] pub read_timestamp : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , stream_index : libc :: c_int , pos : * mut i64 , pos_limit : i64) -> 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:748727 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVInputFormat { # [doc = " A comma separated list of short names for the format. New names\n may be appended with a minor bump."] pub name : * const libc :: c_char , # [doc = " Descriptive name for the format, meant to be more human-readable\n than name. You should use the NULL_IF_CONFIG_SMALL() macro\n to define it."] pub long_name : * const libc :: c_char , # [doc = " Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS,\n AVFMT_NOTIMESTAMPS, AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH,\n AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS."] pub flags : libc :: c_int , # [doc = " If extensions are defined, then no probe is done. You should\n usually not use extension format guessing because it is not\n reliable enough"] pub extensions : * const libc :: c_char , pub codec_tag : * const * const AVCodecTag , # [doc = "< AVClass for the private context"] pub priv_class : * const AVClass , # [doc = " Comma-separated list of mime types.\n It is used check for matching mime types while probing.\n @see av_probe_input_format2"] pub mime_type : * const libc :: c_char , # [doc = " No fields below this line are part of the public API. They\n may not be used outside of libavformat and can be changed and\n removed at will.\n New public fields should be added right above.\n\n/\n/**\n Raw demuxers store their codec ID here."] pub raw_codec_id : libc :: c_int , # [doc = " Size of private data so that it can be allocated in the wrapper."] pub priv_data_size : libc :: c_int , # [doc = " Internal flags. See FF_FMT_FLAG_* in internal.h."] pub flags_internal : libc :: c_int , # [doc = " Tell if a given file has a chance of being parsed as this format.\n The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes\n big so you do not have to check for that unless you need more."] pub read_probe : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const AVProbeData) -> libc :: c_int > , # [doc = " Read the format header and initialize the AVFormatContext\n structure. Return 0 if OK. 'avformat_new_stream' should be\n called to create new streams."] pub read_header : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Read one packet and put it in 'pkt'. pts and flags are also\n set. 'avformat_new_stream' can be called only if the flag\n AVFMTCTX_NOHEADER is used and only in the calling thread (not in a\n background thread).\n @return 0 on success, < 0 on error.\n Upon returning an error, pkt must be unreferenced by the caller."] pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , pkt : * mut AVPacket) -> libc :: c_int > , # [doc = " Close the stream. The AVFormatContext and AVStreams are not\n freed by this function"] pub read_close : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Seek to a given timestamp relative to the frames in\n stream component stream_index.\n @param stream_index Must not be -1.\n @param flags Selects which direction should be preferred if no exact\n match is available.\n @return >= 0 on success (but not necessarily the new offset)"] pub read_seek : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , stream_index : libc :: c_int , timestamp : i64 , flags : libc :: c_int) -> libc :: c_int > , # [doc = " Get the next timestamp in stream[stream_index].time_base units.\n @return the timestamp or AV_NOPTS_VALUE if an error occurred"] pub read_timestamp : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , stream_index : libc :: c_int , pos : * mut i64 , pos_limit : i64) -> i64 > , # [doc = " Start/resume playing - only meaningful if using a network-based format\n (RTSP)."] pub read_play : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:748932 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVInputFormat { # [doc = " A comma separated list of short names for the format. New names\n may be appended with a minor bump."] pub name : * const libc :: c_char , # [doc = " Descriptive name for the format, meant to be more human-readable\n than name. You should use the NULL_IF_CONFIG_SMALL() macro\n to define it."] pub long_name : * const libc :: c_char , # [doc = " Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS,\n AVFMT_NOTIMESTAMPS, AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH,\n AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS."] pub flags : libc :: c_int , # [doc = " If extensions are defined, then no probe is done. You should\n usually not use extension format guessing because it is not\n reliable enough"] pub extensions : * const libc :: c_char , pub codec_tag : * const * const AVCodecTag , # [doc = "< AVClass for the private context"] pub priv_class : * const AVClass , # [doc = " Comma-separated list of mime types.\n It is used check for matching mime types while probing.\n @see av_probe_input_format2"] pub mime_type : * const libc :: c_char , # [doc = " No fields below this line are part of the public API. They\n may not be used outside of libavformat and can be changed and\n removed at will.\n New public fields should be added right above.\n\n/\n/**\n Raw demuxers store their codec ID here."] pub raw_codec_id : libc :: c_int , # [doc = " Size of private data so that it can be allocated in the wrapper."] pub priv_data_size : libc :: c_int , # [doc = " Internal flags. See FF_FMT_FLAG_* in internal.h."] pub flags_internal : libc :: c_int , # [doc = " Tell if a given file has a chance of being parsed as this format.\n The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes\n big so you do not have to check for that unless you need more."] pub read_probe : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const AVProbeData) -> libc :: c_int > , # [doc = " Read the format header and initialize the AVFormatContext\n structure. Return 0 if OK. 'avformat_new_stream' should be\n called to create new streams."] pub read_header : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Read one packet and put it in 'pkt'. pts and flags are also\n set. 'avformat_new_stream' can be called only if the flag\n AVFMTCTX_NOHEADER is used and only in the calling thread (not in a\n background thread).\n @return 0 on success, < 0 on error.\n Upon returning an error, pkt must be unreferenced by the caller."] pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , pkt : * mut AVPacket) -> libc :: c_int > , # [doc = " Close the stream. The AVFormatContext and AVStreams are not\n freed by this function"] pub read_close : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Seek to a given timestamp relative to the frames in\n stream component stream_index.\n @param stream_index Must not be -1.\n @param flags Selects which direction should be preferred if no exact\n match is available.\n @return >= 0 on success (but not necessarily the new offset)"] pub read_seek : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , stream_index : libc :: c_int , timestamp : i64 , flags : libc :: c_int) -> libc :: c_int > , # [doc = " Get the next timestamp in stream[stream_index].time_base units.\n @return the timestamp or AV_NOPTS_VALUE if an error occurred"] pub read_timestamp : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , stream_index : libc :: c_int , pos : * mut i64 , pos_limit : i64) -> i64 > , # [doc = " Start/resume playing - only meaningful if using a network-based format\n (RTSP)."] pub read_play : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Pause playing - only meaningful if using a network-based format\n (RTSP)."] pub read_pause : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:749311 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVInputFormat { # [doc = " A comma separated list of short names for the format. New names\n may be appended with a minor bump."] pub name : * const libc :: c_char , # [doc = " Descriptive name for the format, meant to be more human-readable\n than name. You should use the NULL_IF_CONFIG_SMALL() macro\n to define it."] pub long_name : * const libc :: c_char , # [doc = " Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS,\n AVFMT_NOTIMESTAMPS, AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH,\n AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS."] pub flags : libc :: c_int , # [doc = " If extensions are defined, then no probe is done. You should\n usually not use extension format guessing because it is not\n reliable enough"] pub extensions : * const libc :: c_char , pub codec_tag : * const * const AVCodecTag , # [doc = "< AVClass for the private context"] pub priv_class : * const AVClass , # [doc = " Comma-separated list of mime types.\n It is used check for matching mime types while probing.\n @see av_probe_input_format2"] pub mime_type : * const libc :: c_char , # [doc = " No fields below this line are part of the public API. They\n may not be used outside of libavformat and can be changed and\n removed at will.\n New public fields should be added right above.\n\n/\n/**\n Raw demuxers store their codec ID here."] pub raw_codec_id : libc :: c_int , # [doc = " Size of private data so that it can be allocated in the wrapper."] pub priv_data_size : libc :: c_int , # [doc = " Internal flags. See FF_FMT_FLAG_* in internal.h."] pub flags_internal : libc :: c_int , # [doc = " Tell if a given file has a chance of being parsed as this format.\n The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes\n big so you do not have to check for that unless you need more."] pub read_probe : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const AVProbeData) -> libc :: c_int > , # [doc = " Read the format header and initialize the AVFormatContext\n structure. Return 0 if OK. 'avformat_new_stream' should be\n called to create new streams."] pub read_header : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Read one packet and put it in 'pkt'. pts and flags are also\n set. 'avformat_new_stream' can be called only if the flag\n AVFMTCTX_NOHEADER is used and only in the calling thread (not in a\n background thread).\n @return 0 on success, < 0 on error.\n Upon returning an error, pkt must be unreferenced by the caller."] pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , pkt : * mut AVPacket) -> libc :: c_int > , # [doc = " Close the stream. The AVFormatContext and AVStreams are not\n freed by this function"] pub read_close : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Seek to a given timestamp relative to the frames in\n stream component stream_index.\n @param stream_index Must not be -1.\n @param flags Selects which direction should be preferred if no exact\n match is available.\n @return >= 0 on success (but not necessarily the new offset)"] pub read_seek : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , stream_index : libc :: c_int , timestamp : i64 , flags : libc :: c_int) -> libc :: c_int > , # [doc = " Get the next timestamp in stream[stream_index].time_base units.\n @return the timestamp or AV_NOPTS_VALUE if an error occurred"] pub read_timestamp : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , stream_index : libc :: c_int , pos : * mut i64 , pos_limit : i64) -> i64 > , # [doc = " Start/resume playing - only meaningful if using a network-based format\n (RTSP)."] pub read_play : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Pause playing - only meaningful if using a network-based format\n (RTSP)."] pub read_pause : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Seek to timestamp ts.\n Seeking will be done so that the point from which all active streams\n can be presented successfully will be closest to ts and within min/max_ts.\n Active streams are all streams that have AVStream.discard < AVDISCARD_ALL."] pub read_seek2 : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , stream_index : libc :: c_int , min_ts : i64 , ts : i64 , max_ts : i64 , flags : libc :: c_int) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:749625 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVInputFormat { # [doc = " A comma separated list of short names for the format. New names\n may be appended with a minor bump."] pub name : * const libc :: c_char , # [doc = " Descriptive name for the format, meant to be more human-readable\n than name. You should use the NULL_IF_CONFIG_SMALL() macro\n to define it."] pub long_name : * const libc :: c_char , # [doc = " Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS,\n AVFMT_NOTIMESTAMPS, AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH,\n AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS."] pub flags : libc :: c_int , # [doc = " If extensions are defined, then no probe is done. You should\n usually not use extension format guessing because it is not\n reliable enough"] pub extensions : * const libc :: c_char , pub codec_tag : * const * const AVCodecTag , # [doc = "< AVClass for the private context"] pub priv_class : * const AVClass , # [doc = " Comma-separated list of mime types.\n It is used check for matching mime types while probing.\n @see av_probe_input_format2"] pub mime_type : * const libc :: c_char , # [doc = " No fields below this line are part of the public API. They\n may not be used outside of libavformat and can be changed and\n removed at will.\n New public fields should be added right above.\n\n/\n/**\n Raw demuxers store their codec ID here."] pub raw_codec_id : libc :: c_int , # [doc = " Size of private data so that it can be allocated in the wrapper."] pub priv_data_size : libc :: c_int , # [doc = " Internal flags. See FF_FMT_FLAG_* in internal.h."] pub flags_internal : libc :: c_int , # [doc = " Tell if a given file has a chance of being parsed as this format.\n The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes\n big so you do not have to check for that unless you need more."] pub read_probe : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * const AVProbeData) -> libc :: c_int > , # [doc = " Read the format header and initialize the AVFormatContext\n structure. Return 0 if OK. 'avformat_new_stream' should be\n called to create new streams."] pub read_header : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Read one packet and put it in 'pkt'. pts and flags are also\n set. 'avformat_new_stream' can be called only if the flag\n AVFMTCTX_NOHEADER is used and only in the calling thread (not in a\n background thread).\n @return 0 on success, < 0 on error.\n Upon returning an error, pkt must be unreferenced by the caller."] pub read_packet : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , pkt : * mut AVPacket) -> libc :: c_int > , # [doc = " Close the stream. The AVFormatContext and AVStreams are not\n freed by this function"] pub read_close : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Seek to a given timestamp relative to the frames in\n stream component stream_index.\n @param stream_index Must not be -1.\n @param flags Selects which direction should be preferred if no exact\n match is available.\n @return >= 0 on success (but not necessarily the new offset)"] pub read_seek : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext , stream_index : libc :: c_int , timestamp : i64 , flags : libc :: c_int) -> libc :: c_int > , # [doc = " Get the next timestamp in stream[stream_index].time_base units.\n @return the timestamp or AV_NOPTS_VALUE if an error occurred"] pub read_timestamp : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , stream_index : libc :: c_int , pos : * mut i64 , pos_limit : i64) -> i64 > , # [doc = " Start/resume playing - only meaningful if using a network-based format\n (RTSP)."] pub read_play : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Pause playing - only meaningful if using a network-based format\n (RTSP)."] pub read_pause : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut AVFormatContext) -> libc :: c_int > , # [doc = " Seek to timestamp ts.\n Seeking will be done so that the point from which all active streams\n can be presented successfully will be closest to ts and within min/max_ts.\n Active streams are all streams that have AVStream.discard < AVDISCARD_ALL."] pub read_seek2 : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , stream_index : libc :: c_int , min_ts : i64 , ts : i64 , max_ts : i64 , flags : libc :: c_int) -> libc :: c_int > , # [doc = " Returns device list with it properties.\n @see avdevice_list_devices() for more details."] pub get_device_list : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , device_list : * mut AVDeviceInfoList) -> libc :: 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: unnecessary transmute [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:757113 [INFO] [stdout] | [INFO] [stdout] 3 | ... -> libc :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 2u8) as u32) } } # [inline] pub fn set_fla... [INFO] [stdout] | --------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u32::cast_signed` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:757283 [INFO] [stdout] | [INFO] [stdout] 3 | ...nt) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 2u8 , val as u64) } } # [inline] ... [INFO] [stdout] | --------------------------^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::cast_unsigned` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:757435 [INFO] [stdout] | [INFO] [stdout] 3 | ... -> libc :: c_int { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (2usize , 30u8) as u32) } } # [inline] pub fn set_si... [INFO] [stdout] | --------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u32::cast_signed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:757605 [INFO] [stdout] | [INFO] [stdout] 3 | ...nt) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (2usize , 30u8 , val as u64) } } # [inline]... [INFO] [stdout] | --------------------------^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::cast_unsigned` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:757998 [INFO] [stdout] | [INFO] [stdout] 3 | ..., { let flags : u32 = unsafe { :: std :: mem :: transmute (flags) } ; flags as u64 }) ; __bindgen_bitfield_unit . set (2usize , 30u8 ,... [INFO] [stdout] | --------------------------^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::cast_unsigned` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:758130 [INFO] [stdout] | [INFO] [stdout] 3 | ... , { let size : u32 = unsafe { :: std :: mem :: transmute (size) } ; size as u64 }) ; __bindgen_bitfield_unit } } extern "C" { # [doc ... [INFO] [stdout] | --------------------------^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::cast_unsigned` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:791082 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVFormatContext { # [doc = " A class for logging and @ref avoptions. Set by avformat_alloc_context().\n Exports (de)muxer private options if they exist."] pub av_class : * const AVClass , # [doc = " The input container format.\n\n Demuxing only, set by avformat_open_input()."] pub iformat : * const AVInputFormat , # [doc = " The output container format.\n\n Muxing only, must be set by the caller before avformat_write_header()."] pub oformat : * const AVOutputFormat , # [doc = " Format private data. This is an AVOptions-enabled struct\n if and only if iformat/oformat.priv_class is not NULL.\n\n - muxing: set by avformat_write_header()\n - demuxing: set by avformat_open_input()"] pub priv_data : * mut libc :: c_void , # [doc = " I/O context.\n\n - demuxing: either set by the user before avformat_open_input() (then\n the user must close it manually) or set by avformat_open_input().\n - muxing: set by the user before avformat_write_header(). The caller must\n take care of closing / freeing the IO context.\n\n Do NOT set this field if AVFMT_NOFILE flag is set in\n iformat/oformat.flags. In such a case, the (de)muxer will handle\n I/O in some other way and this field will be NULL."] pub pb : * mut AVIOContext , # [doc = " Flags signalling stream properties. A combination of AVFMTCTX_*.\n Set by libavformat."] pub ctx_flags : libc :: c_int , # [doc = " Number of elements in AVFormatContext.streams.\n\n Set by avformat_new_stream(), must not be modified by any other code."] pub nb_streams : libc :: c_uint , # [doc = " A list of all streams in the file. New streams are created with\n avformat_new_stream().\n\n - demuxing: streams are created by libavformat in avformat_open_input().\n If AVFMTCTX_NOHEADER is set in ctx_flags, then new streams may also\n appear in av_read_frame().\n - muxing: streams are created by the user before avformat_write_header().\n\n Freed by libavformat in avformat_free_context()."] pub streams : * mut * mut AVStream , # [doc = " input or output URL. Unlike the old filename field, this field has no\n length restriction.\n\n - demuxing: set by avformat_open_input(), initialized to an empty\n string if url parameter was NULL in avformat_open_input().\n - muxing: may be set by the caller before calling avformat_write_header()\n (or avformat_init_output() if that is called first) to a string\n which is freeable by av_free(). Set to an empty string if it\n was NULL in avformat_init_output().\n\n Freed by libavformat in avformat_free_context()."] pub url : * mut libc :: c_char , # [doc = " Position of the first frame of the component, in\n AV_TIME_BASE fractional seconds. NEVER set this value directly:\n It is deduced from the AVStream values.\n\n Demuxing only, set by libavformat."] pub start_time : i64 , # [doc = " Duration of the stream, in AV_TIME_BASE fractional\n seconds. Only set this value if you know none of the individual stream\n durations and also do not set any of them. This is deduced from the\n AVStream values if not set.\n\n Demuxing only, set by libavformat."] pub duration : i64 , # [doc = " Total stream bitrate in bit/s, 0 if not\n available. Never set it directly if the file_size and the\n duration are known as FFmpeg can compute it automatically."] pub bit_rate : i64 , pub packet_size : libc :: c_uint , pub max_delay : libc :: c_int , # [doc = " Flags modifying the (de)muxer behaviour. A combination of AVFMT_FLAG_*.\n Set by the user before avformat_open_input() / avformat_write_header()."] pub flags : libc :: c_int , # [doc = " Maximum number of bytes read from input in order to determine stream\n properties. Used when reading the global header and in\n avformat_find_stream_info().\n\n Demuxing only, set by the caller before avformat_open_input().\n\n @note this is \\e not used for determining the \\ref AVInputFormat\n \"input format\"\n @sa format_probesize"] pub probesize : i64 , # [doc = " Maximum duration (in AV_TIME_BASE units) of the data read\n from input in avformat_find_stream_info().\n Demuxing only, set by the caller before avformat_find_stream_info().\n Can be set to 0 to let avformat choose using a heuristic."] pub max_analyze_duration : i64 , pub key : * const u8 , pub keylen : libc :: c_int , pub nb_programs : libc :: c_uint , pub programs : * mut * mut AVProgram , # [doc = " Forced video codec_id.\n Demuxing: Set by user."] pub video_codec_id : AVCodecID , # [doc = " Forced audio codec_id.\n Demuxing: Set by user."] pub audio_codec_id : AVCodecID , # [doc = " Forced subtitle codec_id.\n Demuxing: Set by user."] pub subtitle_codec_id : AVCodecID , # [doc = " Maximum amount of memory in bytes to use for the index of each stream.\n If the index exceeds this size, entries will be discarded as\n needed to maintain a smaller size. This can lead to slower or less\n accurate seeking (depends on demuxer).\n Demuxers for which a full in-memory index is mandatory will ignore\n this.\n - muxing: unused\n - demuxing: set by user"] pub max_index_size : libc :: c_uint , # [doc = " Maximum amount of memory in bytes to use for buffering frames\n obtained from realtime capture devices."] pub max_picture_buffer : libc :: c_uint , # [doc = " Number of chapters in AVChapter array.\n When muxing, chapters are normally written in the file header,\n so nb_chapters should normally be initialized before write_header\n is called. Some muxers (e.g. mov and mkv) can also write chapters\n in the trailer. To write chapters in the trailer, nb_chapters\n must be zero when write_header is called and non-zero when\n write_trailer is called.\n - muxing: set by user\n - demuxing: set by libavformat"] pub nb_chapters : libc :: c_uint , pub chapters : * mut * mut AVChapter , # [doc = " Metadata that applies to the whole file.\n\n - demuxing: set by libavformat in avformat_open_input()\n - muxing: may be set by the caller before avformat_write_header()\n\n Freed by libavformat in avformat_free_context()."] pub metadata : * mut AVDictionary , # [doc = " Start time of the stream in real world time, in microseconds\n since the Unix epoch (00:00 1st January 1970). That is, pts=0 in the\n stream was captured at this real world time.\n - muxing: Set by the caller before avformat_write_header(). If set to\n either 0 or AV_NOPTS_VALUE, then the current wall-time will\n be used.\n - demuxing: Set by libavformat. AV_NOPTS_VALUE if unknown. Note that\n the value may become known after some number of frames\n have been received."] pub start_time_realtime : i64 , # [doc = " The number of frames used for determining the framerate in\n avformat_find_stream_info().\n Demuxing only, set by the caller before avformat_find_stream_info()."] pub fps_probe_size : libc :: c_int , # [doc = " Error recognition; higher values will detect more errors but may\n misdetect some more or less valid parts as errors.\n Demuxing only, set by the caller before avformat_open_input()."] pub error_recognition : libc :: c_int , # [doc = " Custom interrupt callbacks for the I/O layer.\n\n demuxing: set by the user before avformat_open_input().\n muxing: set by the user before avformat_write_header()\n (mainly useful for AVFMT_NOFILE formats). The callback\n should also be passed to avio_open2() if it's used to\n open the file."] pub interrupt_callback : AVIOInterruptCB , # [doc = " Flags to enable debugging."] pub debug : libc :: c_int , # [doc = " Maximum buffering duration for interleaving.\n\n To ensure all the streams are interleaved correctly,\n av_interleaved_write_frame() will wait until it has at least one packet\n for each stream before actually writing any packets to the output file.\n When some streams are \"sparse\" (i.e. there are large gaps between\n successive packets), this can result in excessive buffering.\n\n This field specifies the maximum difference between the timestamps of the\n first and the last packet in the muxing queue, above which libavformat\n will output a packet regardless of whether it has queued a packet for all\n the streams.\n\n Muxing only, set by the caller before avformat_write_header()."] pub max_interleave_delta : i64 , # [doc = " Allow non-standard and experimental extension\n @see AVCodecContext.strict_std_compliance"] pub strict_std_compliance : libc :: c_int , # [doc = " Flags indicating events happening on the file, a combination of\n AVFMT_EVENT_FLAG_*.\n\n - demuxing: may be set by the demuxer in avformat_open_input(),\n avformat_find_stream_info() and av_read_frame(). Flags must be cleared\n by the user once the event has been handled.\n - muxing: may be set by the user after avformat_write_header() to\n indicate a user-triggered event. The muxer will clear the flags for\n events it has handled in av_[interleaved]_write_frame()."] pub event_flags : libc :: c_int , # [doc = " Maximum number of packets to read while waiting for the first timestamp.\n Decoding only."] pub max_ts_probe : libc :: c_int , # [doc = " Avoid negative timestamps during muxing.\n Any value of the AVFMT_AVOID_NEG_TS_* constants.\n Note, this works better when using av_interleaved_write_frame().\n - muxing: Set by user\n - demuxing: unused"] pub avoid_negative_ts : libc :: c_int , # [doc = " Transport stream id.\n This will be moved into demuxer private options. Thus no API/ABI compatibility"] pub ts_id : libc :: c_int , # [doc = " Audio preload in microseconds.\n Note, not all formats support this and unpredictable things may happen if it is used when not supported.\n - encoding: Set by user\n - decoding: unused"] pub audio_preload : libc :: c_int , # [doc = " Max chunk time in microseconds.\n Note, not all formats support this and unpredictable things may happen if it is used when not supported.\n - encoding: Set by user\n - decoding: unused"] pub max_chunk_duration : libc :: c_int , # [doc = " Max chunk size in bytes\n Note, not all formats support this and unpredictable things may happen if it is used when not supported.\n - encoding: Set by user\n - decoding: unused"] pub max_chunk_size : libc :: c_int , # [doc = " forces the use of wallclock timestamps as pts/dts of packets\n This has undefined results in the presence of B frames.\n - encoding: unused\n - decoding: Set by user"] pub use_wallclock_as_timestamps : libc :: c_int , # [doc = " avio flags, used to force AVIO_FLAG_DIRECT.\n - encoding: unused\n - decoding: Set by user"] pub avio_flags : libc :: c_int , # [doc = " The duration field can be estimated through various ways, and this field can be used\n to know how the duration was estimated.\n - encoding: unused\n - decoding: Read by user"] pub duration_estimation_method : AVDurationEstimationMethod , # [doc = " Skip initial bytes when opening stream\n - encoding: unused\n - decoding: Set by user"] pub skip_initial_bytes : i64 , # [doc = " Correct single timestamp overflows\n - encoding: unused\n - decoding: Set by user"] pub correct_ts_overflow : libc :: c_uint , # [doc = " Force seeking to any (also non key) frames.\n - encoding: unused\n - decoding: Set by user"] pub seek2any : libc :: c_int , # [doc = " Flush the I/O context after each packet.\n - encoding: Set by user\n - decoding: unused"] pub flush_packets : libc :: c_int , # [doc = " format probing score.\n The maximal score is AVPROBE_SCORE_MAX, its set when the demuxer probes\n the format.\n - encoding: unused\n - decoding: set by avformat, read by user"] pub probe_score : libc :: c_int , # [doc = " Maximum number of bytes read from input in order to identify the\n \\ref AVInputFormat \"input format\". Only used when the format is not set\n explicitly by the caller.\n\n Demuxing only, set by the caller before avformat_open_input().\n\n @sa probesize"] pub format_probesize : libc :: c_int , # [doc = " ',' separated list of allowed decoders.\n If NULL then all are allowed\n - encoding: unused\n - decoding: set by user"] pub codec_whitelist : * mut libc :: c_char , # [doc = " ',' separated list of allowed demuxers.\n If NULL then all are allowed\n - encoding: unused\n - decoding: set by user"] pub format_whitelist : * mut libc :: c_char , # [doc = " IO repositioned flag.\n This is set by avformat when the underlaying IO context read pointer\n is repositioned, for example when doing byte based seeking.\n Demuxers can use the flag to detect such changes."] pub io_repositioned : libc :: c_int , # [doc = " Forced video codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub video_codec : * const AVCodec , # [doc = " Forced audio codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub audio_codec : * const AVCodec , # [doc = " Forced subtitle codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub subtitle_codec : * const AVCodec , # [doc = " Forced data codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub data_codec : * const AVCodec , # [doc = " Number of bytes to be written as padding in a metadata header.\n Demuxing: Unused.\n Muxing: Set by user via av_format_set_metadata_header_padding."] pub metadata_header_padding : libc :: c_int , # [doc = " User data.\n This is a place for some private data of the user."] pub opaque : * mut libc :: c_void , # [doc = " Callback used by devices to communicate with application."] pub control_message_cb : av_format_control_message , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:792560 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVFormatContext { # [doc = " A class for logging and @ref avoptions. Set by avformat_alloc_context().\n Exports (de)muxer private options if they exist."] pub av_class : * const AVClass , # [doc = " The input container format.\n\n Demuxing only, set by avformat_open_input()."] pub iformat : * const AVInputFormat , # [doc = " The output container format.\n\n Muxing only, must be set by the caller before avformat_write_header()."] pub oformat : * const AVOutputFormat , # [doc = " Format private data. This is an AVOptions-enabled struct\n if and only if iformat/oformat.priv_class is not NULL.\n\n - muxing: set by avformat_write_header()\n - demuxing: set by avformat_open_input()"] pub priv_data : * mut libc :: c_void , # [doc = " I/O context.\n\n - demuxing: either set by the user before avformat_open_input() (then\n the user must close it manually) or set by avformat_open_input().\n - muxing: set by the user before avformat_write_header(). The caller must\n take care of closing / freeing the IO context.\n\n Do NOT set this field if AVFMT_NOFILE flag is set in\n iformat/oformat.flags. In such a case, the (de)muxer will handle\n I/O in some other way and this field will be NULL."] pub pb : * mut AVIOContext , # [doc = " Flags signalling stream properties. A combination of AVFMTCTX_*.\n Set by libavformat."] pub ctx_flags : libc :: c_int , # [doc = " Number of elements in AVFormatContext.streams.\n\n Set by avformat_new_stream(), must not be modified by any other code."] pub nb_streams : libc :: c_uint , # [doc = " A list of all streams in the file. New streams are created with\n avformat_new_stream().\n\n - demuxing: streams are created by libavformat in avformat_open_input().\n If AVFMTCTX_NOHEADER is set in ctx_flags, then new streams may also\n appear in av_read_frame().\n - muxing: streams are created by the user before avformat_write_header().\n\n Freed by libavformat in avformat_free_context()."] pub streams : * mut * mut AVStream , # [doc = " input or output URL. Unlike the old filename field, this field has no\n length restriction.\n\n - demuxing: set by avformat_open_input(), initialized to an empty\n string if url parameter was NULL in avformat_open_input().\n - muxing: may be set by the caller before calling avformat_write_header()\n (or avformat_init_output() if that is called first) to a string\n which is freeable by av_free(). Set to an empty string if it\n was NULL in avformat_init_output().\n\n Freed by libavformat in avformat_free_context()."] pub url : * mut libc :: c_char , # [doc = " Position of the first frame of the component, in\n AV_TIME_BASE fractional seconds. NEVER set this value directly:\n It is deduced from the AVStream values.\n\n Demuxing only, set by libavformat."] pub start_time : i64 , # [doc = " Duration of the stream, in AV_TIME_BASE fractional\n seconds. Only set this value if you know none of the individual stream\n durations and also do not set any of them. This is deduced from the\n AVStream values if not set.\n\n Demuxing only, set by libavformat."] pub duration : i64 , # [doc = " Total stream bitrate in bit/s, 0 if not\n available. Never set it directly if the file_size and the\n duration are known as FFmpeg can compute it automatically."] pub bit_rate : i64 , pub packet_size : libc :: c_uint , pub max_delay : libc :: c_int , # [doc = " Flags modifying the (de)muxer behaviour. A combination of AVFMT_FLAG_*.\n Set by the user before avformat_open_input() / avformat_write_header()."] pub flags : libc :: c_int , # [doc = " Maximum number of bytes read from input in order to determine stream\n properties. Used when reading the global header and in\n avformat_find_stream_info().\n\n Demuxing only, set by the caller before avformat_open_input().\n\n @note this is \\e not used for determining the \\ref AVInputFormat\n \"input format\"\n @sa format_probesize"] pub probesize : i64 , # [doc = " Maximum duration (in AV_TIME_BASE units) of the data read\n from input in avformat_find_stream_info().\n Demuxing only, set by the caller before avformat_find_stream_info().\n Can be set to 0 to let avformat choose using a heuristic."] pub max_analyze_duration : i64 , pub key : * const u8 , pub keylen : libc :: c_int , pub nb_programs : libc :: c_uint , pub programs : * mut * mut AVProgram , # [doc = " Forced video codec_id.\n Demuxing: Set by user."] pub video_codec_id : AVCodecID , # [doc = " Forced audio codec_id.\n Demuxing: Set by user."] pub audio_codec_id : AVCodecID , # [doc = " Forced subtitle codec_id.\n Demuxing: Set by user."] pub subtitle_codec_id : AVCodecID , # [doc = " Maximum amount of memory in bytes to use for the index of each stream.\n If the index exceeds this size, entries will be discarded as\n needed to maintain a smaller size. This can lead to slower or less\n accurate seeking (depends on demuxer).\n Demuxers for which a full in-memory index is mandatory will ignore\n this.\n - muxing: unused\n - demuxing: set by user"] pub max_index_size : libc :: c_uint , # [doc = " Maximum amount of memory in bytes to use for buffering frames\n obtained from realtime capture devices."] pub max_picture_buffer : libc :: c_uint , # [doc = " Number of chapters in AVChapter array.\n When muxing, chapters are normally written in the file header,\n so nb_chapters should normally be initialized before write_header\n is called. Some muxers (e.g. mov and mkv) can also write chapters\n in the trailer. To write chapters in the trailer, nb_chapters\n must be zero when write_header is called and non-zero when\n write_trailer is called.\n - muxing: set by user\n - demuxing: set by libavformat"] pub nb_chapters : libc :: c_uint , pub chapters : * mut * mut AVChapter , # [doc = " Metadata that applies to the whole file.\n\n - demuxing: set by libavformat in avformat_open_input()\n - muxing: may be set by the caller before avformat_write_header()\n\n Freed by libavformat in avformat_free_context()."] pub metadata : * mut AVDictionary , # [doc = " Start time of the stream in real world time, in microseconds\n since the Unix epoch (00:00 1st January 1970). That is, pts=0 in the\n stream was captured at this real world time.\n - muxing: Set by the caller before avformat_write_header(). If set to\n either 0 or AV_NOPTS_VALUE, then the current wall-time will\n be used.\n - demuxing: Set by libavformat. AV_NOPTS_VALUE if unknown. Note that\n the value may become known after some number of frames\n have been received."] pub start_time_realtime : i64 , # [doc = " The number of frames used for determining the framerate in\n avformat_find_stream_info().\n Demuxing only, set by the caller before avformat_find_stream_info()."] pub fps_probe_size : libc :: c_int , # [doc = " Error recognition; higher values will detect more errors but may\n misdetect some more or less valid parts as errors.\n Demuxing only, set by the caller before avformat_open_input()."] pub error_recognition : libc :: c_int , # [doc = " Custom interrupt callbacks for the I/O layer.\n\n demuxing: set by the user before avformat_open_input().\n muxing: set by the user before avformat_write_header()\n (mainly useful for AVFMT_NOFILE formats). The callback\n should also be passed to avio_open2() if it's used to\n open the file."] pub interrupt_callback : AVIOInterruptCB , # [doc = " Flags to enable debugging."] pub debug : libc :: c_int , # [doc = " Maximum buffering duration for interleaving.\n\n To ensure all the streams are interleaved correctly,\n av_interleaved_write_frame() will wait until it has at least one packet\n for each stream before actually writing any packets to the output file.\n When some streams are \"sparse\" (i.e. there are large gaps between\n successive packets), this can result in excessive buffering.\n\n This field specifies the maximum difference between the timestamps of the\n first and the last packet in the muxing queue, above which libavformat\n will output a packet regardless of whether it has queued a packet for all\n the streams.\n\n Muxing only, set by the caller before avformat_write_header()."] pub max_interleave_delta : i64 , # [doc = " Allow non-standard and experimental extension\n @see AVCodecContext.strict_std_compliance"] pub strict_std_compliance : libc :: c_int , # [doc = " Flags indicating events happening on the file, a combination of\n AVFMT_EVENT_FLAG_*.\n\n - demuxing: may be set by the demuxer in avformat_open_input(),\n avformat_find_stream_info() and av_read_frame(). Flags must be cleared\n by the user once the event has been handled.\n - muxing: may be set by the user after avformat_write_header() to\n indicate a user-triggered event. The muxer will clear the flags for\n events it has handled in av_[interleaved]_write_frame()."] pub event_flags : libc :: c_int , # [doc = " Maximum number of packets to read while waiting for the first timestamp.\n Decoding only."] pub max_ts_probe : libc :: c_int , # [doc = " Avoid negative timestamps during muxing.\n Any value of the AVFMT_AVOID_NEG_TS_* constants.\n Note, this works better when using av_interleaved_write_frame().\n - muxing: Set by user\n - demuxing: unused"] pub avoid_negative_ts : libc :: c_int , # [doc = " Transport stream id.\n This will be moved into demuxer private options. Thus no API/ABI compatibility"] pub ts_id : libc :: c_int , # [doc = " Audio preload in microseconds.\n Note, not all formats support this and unpredictable things may happen if it is used when not supported.\n - encoding: Set by user\n - decoding: unused"] pub audio_preload : libc :: c_int , # [doc = " Max chunk time in microseconds.\n Note, not all formats support this and unpredictable things may happen if it is used when not supported.\n - encoding: Set by user\n - decoding: unused"] pub max_chunk_duration : libc :: c_int , # [doc = " Max chunk size in bytes\n Note, not all formats support this and unpredictable things may happen if it is used when not supported.\n - encoding: Set by user\n - decoding: unused"] pub max_chunk_size : libc :: c_int , # [doc = " forces the use of wallclock timestamps as pts/dts of packets\n This has undefined results in the presence of B frames.\n - encoding: unused\n - decoding: Set by user"] pub use_wallclock_as_timestamps : libc :: c_int , # [doc = " avio flags, used to force AVIO_FLAG_DIRECT.\n - encoding: unused\n - decoding: Set by user"] pub avio_flags : libc :: c_int , # [doc = " The duration field can be estimated through various ways, and this field can be used\n to know how the duration was estimated.\n - encoding: unused\n - decoding: Read by user"] pub duration_estimation_method : AVDurationEstimationMethod , # [doc = " Skip initial bytes when opening stream\n - encoding: unused\n - decoding: Set by user"] pub skip_initial_bytes : i64 , # [doc = " Correct single timestamp overflows\n - encoding: unused\n - decoding: Set by user"] pub correct_ts_overflow : libc :: c_uint , # [doc = " Force seeking to any (also non key) frames.\n - encoding: unused\n - decoding: Set by user"] pub seek2any : libc :: c_int , # [doc = " Flush the I/O context after each packet.\n - encoding: Set by user\n - decoding: unused"] pub flush_packets : libc :: c_int , # [doc = " format probing score.\n The maximal score is AVPROBE_SCORE_MAX, its set when the demuxer probes\n the format.\n - encoding: unused\n - decoding: set by avformat, read by user"] pub probe_score : libc :: c_int , # [doc = " Maximum number of bytes read from input in order to identify the\n \\ref AVInputFormat \"input format\". Only used when the format is not set\n explicitly by the caller.\n\n Demuxing only, set by the caller before avformat_open_input().\n\n @sa probesize"] pub format_probesize : libc :: c_int , # [doc = " ',' separated list of allowed decoders.\n If NULL then all are allowed\n - encoding: unused\n - decoding: set by user"] pub codec_whitelist : * mut libc :: c_char , # [doc = " ',' separated list of allowed demuxers.\n If NULL then all are allowed\n - encoding: unused\n - decoding: set by user"] pub format_whitelist : * mut libc :: c_char , # [doc = " IO repositioned flag.\n This is set by avformat when the underlaying IO context read pointer\n is repositioned, for example when doing byte based seeking.\n Demuxers can use the flag to detect such changes."] pub io_repositioned : libc :: c_int , # [doc = " Forced video codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub video_codec : * const AVCodec , # [doc = " Forced audio codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub audio_codec : * const AVCodec , # [doc = " Forced subtitle codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub subtitle_codec : * const AVCodec , # [doc = " Forced data codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub data_codec : * const AVCodec , # [doc = " Number of bytes to be written as padding in a metadata header.\n Demuxing: Unused.\n Muxing: Set by user via av_format_set_metadata_header_padding."] pub metadata_header_padding : libc :: c_int , # [doc = " User data.\n This is a place for some private data of the user."] pub opaque : * mut libc :: c_void , # [doc = " Callback used by devices to communicate with application."] pub control_message_cb : av_format_control_message , # [doc = " Output timestamp offset, in microseconds.\n Muxing: set by user"] pub output_ts_offset : i64 , # [doc = " dump format separator.\n can be \", \" or \"\\n \" or anything else\n - muxing: Set by user.\n - demuxing: Set by user."] pub dump_separator : * mut u8 , # [doc = " Forced Data codec_id.\n Demuxing: Set by user."] pub data_codec_id : AVCodecID , # [doc = " ',' separated list of allowed protocols.\n - encoding: unused\n - decoding: set by user"] pub protocol_whitelist : * mut libc :: c_char , # [doc = " A callback for opening new IO streams.\n\n Whenever a muxer or a demuxer needs to open an IO stream (typically from\n avformat_open_input() for demuxers, but for certain formats can happen at\n other times as well), it will call this callback to obtain an IO context.\n\n @param s the format context\n @param pb on success, the newly opened IO context should be returned here\n @param url the url to open\n @param flags a combination of AVIO_FLAG_*\n @param options a dictionary of additional options, with the same\n semantics as in avio_open2()\n @return 0 on success, a negative AVERROR code on failure\n\n @note Certain muxers and demuxers do nesting, i.e. they open one or more\n additional internal format contexts. Thus the AVFormatContext pointer\n passed to this callback may be different from the one facing the caller.\n It will, however, have the same 'opaque' field."] pub io_open : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , pb : * mut * mut AVIOContext , url : * const libc :: c_char , flags : libc :: c_int , options : * mut * mut AVDictionary) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:792913 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVFormatContext { # [doc = " A class for logging and @ref avoptions. Set by avformat_alloc_context().\n Exports (de)muxer private options if they exist."] pub av_class : * const AVClass , # [doc = " The input container format.\n\n Demuxing only, set by avformat_open_input()."] pub iformat : * const AVInputFormat , # [doc = " The output container format.\n\n Muxing only, must be set by the caller before avformat_write_header()."] pub oformat : * const AVOutputFormat , # [doc = " Format private data. This is an AVOptions-enabled struct\n if and only if iformat/oformat.priv_class is not NULL.\n\n - muxing: set by avformat_write_header()\n - demuxing: set by avformat_open_input()"] pub priv_data : * mut libc :: c_void , # [doc = " I/O context.\n\n - demuxing: either set by the user before avformat_open_input() (then\n the user must close it manually) or set by avformat_open_input().\n - muxing: set by the user before avformat_write_header(). The caller must\n take care of closing / freeing the IO context.\n\n Do NOT set this field if AVFMT_NOFILE flag is set in\n iformat/oformat.flags. In such a case, the (de)muxer will handle\n I/O in some other way and this field will be NULL."] pub pb : * mut AVIOContext , # [doc = " Flags signalling stream properties. A combination of AVFMTCTX_*.\n Set by libavformat."] pub ctx_flags : libc :: c_int , # [doc = " Number of elements in AVFormatContext.streams.\n\n Set by avformat_new_stream(), must not be modified by any other code."] pub nb_streams : libc :: c_uint , # [doc = " A list of all streams in the file. New streams are created with\n avformat_new_stream().\n\n - demuxing: streams are created by libavformat in avformat_open_input().\n If AVFMTCTX_NOHEADER is set in ctx_flags, then new streams may also\n appear in av_read_frame().\n - muxing: streams are created by the user before avformat_write_header().\n\n Freed by libavformat in avformat_free_context()."] pub streams : * mut * mut AVStream , # [doc = " input or output URL. Unlike the old filename field, this field has no\n length restriction.\n\n - demuxing: set by avformat_open_input(), initialized to an empty\n string if url parameter was NULL in avformat_open_input().\n - muxing: may be set by the caller before calling avformat_write_header()\n (or avformat_init_output() if that is called first) to a string\n which is freeable by av_free(). Set to an empty string if it\n was NULL in avformat_init_output().\n\n Freed by libavformat in avformat_free_context()."] pub url : * mut libc :: c_char , # [doc = " Position of the first frame of the component, in\n AV_TIME_BASE fractional seconds. NEVER set this value directly:\n It is deduced from the AVStream values.\n\n Demuxing only, set by libavformat."] pub start_time : i64 , # [doc = " Duration of the stream, in AV_TIME_BASE fractional\n seconds. Only set this value if you know none of the individual stream\n durations and also do not set any of them. This is deduced from the\n AVStream values if not set.\n\n Demuxing only, set by libavformat."] pub duration : i64 , # [doc = " Total stream bitrate in bit/s, 0 if not\n available. Never set it directly if the file_size and the\n duration are known as FFmpeg can compute it automatically."] pub bit_rate : i64 , pub packet_size : libc :: c_uint , pub max_delay : libc :: c_int , # [doc = " Flags modifying the (de)muxer behaviour. A combination of AVFMT_FLAG_*.\n Set by the user before avformat_open_input() / avformat_write_header()."] pub flags : libc :: c_int , # [doc = " Maximum number of bytes read from input in order to determine stream\n properties. Used when reading the global header and in\n avformat_find_stream_info().\n\n Demuxing only, set by the caller before avformat_open_input().\n\n @note this is \\e not used for determining the \\ref AVInputFormat\n \"input format\"\n @sa format_probesize"] pub probesize : i64 , # [doc = " Maximum duration (in AV_TIME_BASE units) of the data read\n from input in avformat_find_stream_info().\n Demuxing only, set by the caller before avformat_find_stream_info().\n Can be set to 0 to let avformat choose using a heuristic."] pub max_analyze_duration : i64 , pub key : * const u8 , pub keylen : libc :: c_int , pub nb_programs : libc :: c_uint , pub programs : * mut * mut AVProgram , # [doc = " Forced video codec_id.\n Demuxing: Set by user."] pub video_codec_id : AVCodecID , # [doc = " Forced audio codec_id.\n Demuxing: Set by user."] pub audio_codec_id : AVCodecID , # [doc = " Forced subtitle codec_id.\n Demuxing: Set by user."] pub subtitle_codec_id : AVCodecID , # [doc = " Maximum amount of memory in bytes to use for the index of each stream.\n If the index exceeds this size, entries will be discarded as\n needed to maintain a smaller size. This can lead to slower or less\n accurate seeking (depends on demuxer).\n Demuxers for which a full in-memory index is mandatory will ignore\n this.\n - muxing: unused\n - demuxing: set by user"] pub max_index_size : libc :: c_uint , # [doc = " Maximum amount of memory in bytes to use for buffering frames\n obtained from realtime capture devices."] pub max_picture_buffer : libc :: c_uint , # [doc = " Number of chapters in AVChapter array.\n When muxing, chapters are normally written in the file header,\n so nb_chapters should normally be initialized before write_header\n is called. Some muxers (e.g. mov and mkv) can also write chapters\n in the trailer. To write chapters in the trailer, nb_chapters\n must be zero when write_header is called and non-zero when\n write_trailer is called.\n - muxing: set by user\n - demuxing: set by libavformat"] pub nb_chapters : libc :: c_uint , pub chapters : * mut * mut AVChapter , # [doc = " Metadata that applies to the whole file.\n\n - demuxing: set by libavformat in avformat_open_input()\n - muxing: may be set by the caller before avformat_write_header()\n\n Freed by libavformat in avformat_free_context()."] pub metadata : * mut AVDictionary , # [doc = " Start time of the stream in real world time, in microseconds\n since the Unix epoch (00:00 1st January 1970). That is, pts=0 in the\n stream was captured at this real world time.\n - muxing: Set by the caller before avformat_write_header(). If set to\n either 0 or AV_NOPTS_VALUE, then the current wall-time will\n be used.\n - demuxing: Set by libavformat. AV_NOPTS_VALUE if unknown. Note that\n the value may become known after some number of frames\n have been received."] pub start_time_realtime : i64 , # [doc = " The number of frames used for determining the framerate in\n avformat_find_stream_info().\n Demuxing only, set by the caller before avformat_find_stream_info()."] pub fps_probe_size : libc :: c_int , # [doc = " Error recognition; higher values will detect more errors but may\n misdetect some more or less valid parts as errors.\n Demuxing only, set by the caller before avformat_open_input()."] pub error_recognition : libc :: c_int , # [doc = " Custom interrupt callbacks for the I/O layer.\n\n demuxing: set by the user before avformat_open_input().\n muxing: set by the user before avformat_write_header()\n (mainly useful for AVFMT_NOFILE formats). The callback\n should also be passed to avio_open2() if it's used to\n open the file."] pub interrupt_callback : AVIOInterruptCB , # [doc = " Flags to enable debugging."] pub debug : libc :: c_int , # [doc = " Maximum buffering duration for interleaving.\n\n To ensure all the streams are interleaved correctly,\n av_interleaved_write_frame() will wait until it has at least one packet\n for each stream before actually writing any packets to the output file.\n When some streams are \"sparse\" (i.e. there are large gaps between\n successive packets), this can result in excessive buffering.\n\n This field specifies the maximum difference between the timestamps of the\n first and the last packet in the muxing queue, above which libavformat\n will output a packet regardless of whether it has queued a packet for all\n the streams.\n\n Muxing only, set by the caller before avformat_write_header()."] pub max_interleave_delta : i64 , # [doc = " Allow non-standard and experimental extension\n @see AVCodecContext.strict_std_compliance"] pub strict_std_compliance : libc :: c_int , # [doc = " Flags indicating events happening on the file, a combination of\n AVFMT_EVENT_FLAG_*.\n\n - demuxing: may be set by the demuxer in avformat_open_input(),\n avformat_find_stream_info() and av_read_frame(). Flags must be cleared\n by the user once the event has been handled.\n - muxing: may be set by the user after avformat_write_header() to\n indicate a user-triggered event. The muxer will clear the flags for\n events it has handled in av_[interleaved]_write_frame()."] pub event_flags : libc :: c_int , # [doc = " Maximum number of packets to read while waiting for the first timestamp.\n Decoding only."] pub max_ts_probe : libc :: c_int , # [doc = " Avoid negative timestamps during muxing.\n Any value of the AVFMT_AVOID_NEG_TS_* constants.\n Note, this works better when using av_interleaved_write_frame().\n - muxing: Set by user\n - demuxing: unused"] pub avoid_negative_ts : libc :: c_int , # [doc = " Transport stream id.\n This will be moved into demuxer private options. Thus no API/ABI compatibility"] pub ts_id : libc :: c_int , # [doc = " Audio preload in microseconds.\n Note, not all formats support this and unpredictable things may happen if it is used when not supported.\n - encoding: Set by user\n - decoding: unused"] pub audio_preload : libc :: c_int , # [doc = " Max chunk time in microseconds.\n Note, not all formats support this and unpredictable things may happen if it is used when not supported.\n - encoding: Set by user\n - decoding: unused"] pub max_chunk_duration : libc :: c_int , # [doc = " Max chunk size in bytes\n Note, not all formats support this and unpredictable things may happen if it is used when not supported.\n - encoding: Set by user\n - decoding: unused"] pub max_chunk_size : libc :: c_int , # [doc = " forces the use of wallclock timestamps as pts/dts of packets\n This has undefined results in the presence of B frames.\n - encoding: unused\n - decoding: Set by user"] pub use_wallclock_as_timestamps : libc :: c_int , # [doc = " avio flags, used to force AVIO_FLAG_DIRECT.\n - encoding: unused\n - decoding: Set by user"] pub avio_flags : libc :: c_int , # [doc = " The duration field can be estimated through various ways, and this field can be used\n to know how the duration was estimated.\n - encoding: unused\n - decoding: Read by user"] pub duration_estimation_method : AVDurationEstimationMethod , # [doc = " Skip initial bytes when opening stream\n - encoding: unused\n - decoding: Set by user"] pub skip_initial_bytes : i64 , # [doc = " Correct single timestamp overflows\n - encoding: unused\n - decoding: Set by user"] pub correct_ts_overflow : libc :: c_uint , # [doc = " Force seeking to any (also non key) frames.\n - encoding: unused\n - decoding: Set by user"] pub seek2any : libc :: c_int , # [doc = " Flush the I/O context after each packet.\n - encoding: Set by user\n - decoding: unused"] pub flush_packets : libc :: c_int , # [doc = " format probing score.\n The maximal score is AVPROBE_SCORE_MAX, its set when the demuxer probes\n the format.\n - encoding: unused\n - decoding: set by avformat, read by user"] pub probe_score : libc :: c_int , # [doc = " Maximum number of bytes read from input in order to identify the\n \\ref AVInputFormat \"input format\". Only used when the format is not set\n explicitly by the caller.\n\n Demuxing only, set by the caller before avformat_open_input().\n\n @sa probesize"] pub format_probesize : libc :: c_int , # [doc = " ',' separated list of allowed decoders.\n If NULL then all are allowed\n - encoding: unused\n - decoding: set by user"] pub codec_whitelist : * mut libc :: c_char , # [doc = " ',' separated list of allowed demuxers.\n If NULL then all are allowed\n - encoding: unused\n - decoding: set by user"] pub format_whitelist : * mut libc :: c_char , # [doc = " IO repositioned flag.\n This is set by avformat when the underlaying IO context read pointer\n is repositioned, for example when doing byte based seeking.\n Demuxers can use the flag to detect such changes."] pub io_repositioned : libc :: c_int , # [doc = " Forced video codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub video_codec : * const AVCodec , # [doc = " Forced audio codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub audio_codec : * const AVCodec , # [doc = " Forced subtitle codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub subtitle_codec : * const AVCodec , # [doc = " Forced data codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub data_codec : * const AVCodec , # [doc = " Number of bytes to be written as padding in a metadata header.\n Demuxing: Unused.\n Muxing: Set by user via av_format_set_metadata_header_padding."] pub metadata_header_padding : libc :: c_int , # [doc = " User data.\n This is a place for some private data of the user."] pub opaque : * mut libc :: c_void , # [doc = " Callback used by devices to communicate with application."] pub control_message_cb : av_format_control_message , # [doc = " Output timestamp offset, in microseconds.\n Muxing: set by user"] pub output_ts_offset : i64 , # [doc = " dump format separator.\n can be \", \" or \"\\n \" or anything else\n - muxing: Set by user.\n - demuxing: Set by user."] pub dump_separator : * mut u8 , # [doc = " Forced Data codec_id.\n Demuxing: Set by user."] pub data_codec_id : AVCodecID , # [doc = " ',' separated list of allowed protocols.\n - encoding: unused\n - decoding: set by user"] pub protocol_whitelist : * mut libc :: c_char , # [doc = " A callback for opening new IO streams.\n\n Whenever a muxer or a demuxer needs to open an IO stream (typically from\n avformat_open_input() for demuxers, but for certain formats can happen at\n other times as well), it will call this callback to obtain an IO context.\n\n @param s the format context\n @param pb on success, the newly opened IO context should be returned here\n @param url the url to open\n @param flags a combination of AVIO_FLAG_*\n @param options a dictionary of additional options, with the same\n semantics as in avio_open2()\n @return 0 on success, a negative AVERROR code on failure\n\n @note Certain muxers and demuxers do nesting, i.e. they open one or more\n additional internal format contexts. Thus the AVFormatContext pointer\n passed to this callback may be different from the one facing the caller.\n It will, however, have the same 'opaque' field."] pub io_open : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , pb : * mut * mut AVIOContext , url : * const libc :: c_char , flags : libc :: c_int , options : * mut * mut AVDictionary) -> libc :: c_int > , # [doc = " A callback for closing the streams opened with AVFormatContext.io_open().\n\n @deprecated use io_close2"] pub io_close : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , pb : * mut AVIOContext) > , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique [INFO] [stdout] --> /opt/rustwide/target/debug/build/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:794051 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVFormatContext { # [doc = " A class for logging and @ref avoptions. Set by avformat_alloc_context().\n Exports (de)muxer private options if they exist."] pub av_class : * const AVClass , # [doc = " The input container format.\n\n Demuxing only, set by avformat_open_input()."] pub iformat : * const AVInputFormat , # [doc = " The output container format.\n\n Muxing only, must be set by the caller before avformat_write_header()."] pub oformat : * const AVOutputFormat , # [doc = " Format private data. This is an AVOptions-enabled struct\n if and only if iformat/oformat.priv_class is not NULL.\n\n - muxing: set by avformat_write_header()\n - demuxing: set by avformat_open_input()"] pub priv_data : * mut libc :: c_void , # [doc = " I/O context.\n\n - demuxing: either set by the user before avformat_open_input() (then\n the user must close it manually) or set by avformat_open_input().\n - muxing: set by the user before avformat_write_header(). The caller must\n take care of closing / freeing the IO context.\n\n Do NOT set this field if AVFMT_NOFILE flag is set in\n iformat/oformat.flags. In such a case, the (de)muxer will handle\n I/O in some other way and this field will be NULL."] pub pb : * mut AVIOContext , # [doc = " Flags signalling stream properties. A combination of AVFMTCTX_*.\n Set by libavformat."] pub ctx_flags : libc :: c_int , # [doc = " Number of elements in AVFormatContext.streams.\n\n Set by avformat_new_stream(), must not be modified by any other code."] pub nb_streams : libc :: c_uint , # [doc = " A list of all streams in the file. New streams are created with\n avformat_new_stream().\n\n - demuxing: streams are created by libavformat in avformat_open_input().\n If AVFMTCTX_NOHEADER is set in ctx_flags, then new streams may also\n appear in av_read_frame().\n - muxing: streams are created by the user before avformat_write_header().\n\n Freed by libavformat in avformat_free_context()."] pub streams : * mut * mut AVStream , # [doc = " input or output URL. Unlike the old filename field, this field has no\n length restriction.\n\n - demuxing: set by avformat_open_input(), initialized to an empty\n string if url parameter was NULL in avformat_open_input().\n - muxing: may be set by the caller before calling avformat_write_header()\n (or avformat_init_output() if that is called first) to a string\n which is freeable by av_free(). Set to an empty string if it\n was NULL in avformat_init_output().\n\n Freed by libavformat in avformat_free_context()."] pub url : * mut libc :: c_char , # [doc = " Position of the first frame of the component, in\n AV_TIME_BASE fractional seconds. NEVER set this value directly:\n It is deduced from the AVStream values.\n\n Demuxing only, set by libavformat."] pub start_time : i64 , # [doc = " Duration of the stream, in AV_TIME_BASE fractional\n seconds. Only set this value if you know none of the individual stream\n durations and also do not set any of them. This is deduced from the\n AVStream values if not set.\n\n Demuxing only, set by libavformat."] pub duration : i64 , # [doc = " Total stream bitrate in bit/s, 0 if not\n available. Never set it directly if the file_size and the\n duration are known as FFmpeg can compute it automatically."] pub bit_rate : i64 , pub packet_size : libc :: c_uint , pub max_delay : libc :: c_int , # [doc = " Flags modifying the (de)muxer behaviour. A combination of AVFMT_FLAG_*.\n Set by the user before avformat_open_input() / avformat_write_header()."] pub flags : libc :: c_int , # [doc = " Maximum number of bytes read from input in order to determine stream\n properties. Used when reading the global header and in\n avformat_find_stream_info().\n\n Demuxing only, set by the caller before avformat_open_input().\n\n @note this is \\e not used for determining the \\ref AVInputFormat\n \"input format\"\n @sa format_probesize"] pub probesize : i64 , # [doc = " Maximum duration (in AV_TIME_BASE units) of the data read\n from input in avformat_find_stream_info().\n Demuxing only, set by the caller before avformat_find_stream_info().\n Can be set to 0 to let avformat choose using a heuristic."] pub max_analyze_duration : i64 , pub key : * const u8 , pub keylen : libc :: c_int , pub nb_programs : libc :: c_uint , pub programs : * mut * mut AVProgram , # [doc = " Forced video codec_id.\n Demuxing: Set by user."] pub video_codec_id : AVCodecID , # [doc = " Forced audio codec_id.\n Demuxing: Set by user."] pub audio_codec_id : AVCodecID , # [doc = " Forced subtitle codec_id.\n Demuxing: Set by user."] pub subtitle_codec_id : AVCodecID , # [doc = " Maximum amount of memory in bytes to use for the index of each stream.\n If the index exceeds this size, entries will be discarded as\n needed to maintain a smaller size. This can lead to slower or less\n accurate seeking (depends on demuxer).\n Demuxers for which a full in-memory index is mandatory will ignore\n this.\n - muxing: unused\n - demuxing: set by user"] pub max_index_size : libc :: c_uint , # [doc = " Maximum amount of memory in bytes to use for buffering frames\n obtained from realtime capture devices."] pub max_picture_buffer : libc :: c_uint , # [doc = " Number of chapters in AVChapter array.\n When muxing, chapters are normally written in the file header,\n so nb_chapters should normally be initialized before write_header\n is called. Some muxers (e.g. mov and mkv) can also write chapters\n in the trailer. To write chapters in the trailer, nb_chapters\n must be zero when write_header is called and non-zero when\n write_trailer is called.\n - muxing: set by user\n - demuxing: set by libavformat"] pub nb_chapters : libc :: c_uint , pub chapters : * mut * mut AVChapter , # [doc = " Metadata that applies to the whole file.\n\n - demuxing: set by libavformat in avformat_open_input()\n - muxing: may be set by the caller before avformat_write_header()\n\n Freed by libavformat in avformat_free_context()."] pub metadata : * mut AVDictionary , # [doc = " Start time of the stream in real world time, in microseconds\n since the Unix epoch (00:00 1st January 1970). That is, pts=0 in the\n stream was captured at this real world time.\n - muxing: Set by the caller before avformat_write_header(). If set to\n either 0 or AV_NOPTS_VALUE, then the current wall-time will\n be used.\n - demuxing: Set by libavformat. AV_NOPTS_VALUE if unknown. Note that\n the value may become known after some number of frames\n have been received."] pub start_time_realtime : i64 , # [doc = " The number of frames used for determining the framerate in\n avformat_find_stream_info().\n Demuxing only, set by the caller before avformat_find_stream_info()."] pub fps_probe_size : libc :: c_int , # [doc = " Error recognition; higher values will detect more errors but may\n misdetect some more or less valid parts as errors.\n Demuxing only, set by the caller before avformat_open_input()."] pub error_recognition : libc :: c_int , # [doc = " Custom interrupt callbacks for the I/O layer.\n\n demuxing: set by the user before avformat_open_input().\n muxing: set by the user before avformat_write_header()\n (mainly useful for AVFMT_NOFILE formats). The callback\n should also be passed to avio_open2() if it's used to\n open the file."] pub interrupt_callback : AVIOInterruptCB , # [doc = " Flags to enable debugging."] pub debug : libc :: c_int , # [doc = " Maximum buffering duration for interleaving.\n\n To ensure all the streams are interleaved correctly,\n av_interleaved_write_frame() will wait until it has at least one packet\n for each stream before actually writing any packets to the output file.\n When some streams are \"sparse\" (i.e. there are large gaps between\n successive packets), this can result in excessive buffering.\n\n This field specifies the maximum difference between the timestamps of the\n first and the last packet in the muxing queue, above which libavformat\n will output a packet regardless of whether it has queued a packet for all\n the streams.\n\n Muxing only, set by the caller before avformat_write_header()."] pub max_interleave_delta : i64 , # [doc = " Allow non-standard and experimental extension\n @see AVCodecContext.strict_std_compliance"] pub strict_std_compliance : libc :: c_int , # [doc = " Flags indicating events happening on the file, a combination of\n AVFMT_EVENT_FLAG_*.\n\n - demuxing: may be set by the demuxer in avformat_open_input(),\n avformat_find_stream_info() and av_read_frame(). Flags must be cleared\n by the user once the event has been handled.\n - muxing: may be set by the user after avformat_write_header() to\n indicate a user-triggered event. The muxer will clear the flags for\n events it has handled in av_[interleaved]_write_frame()."] pub event_flags : libc :: c_int , # [doc = " Maximum number of packets to read while waiting for the first timestamp.\n Decoding only."] pub max_ts_probe : libc :: c_int , # [doc = " Avoid negative timestamps during muxing.\n Any value of the AVFMT_AVOID_NEG_TS_* constants.\n Note, this works better when using av_interleaved_write_frame().\n - muxing: Set by user\n - demuxing: unused"] pub avoid_negative_ts : libc :: c_int , # [doc = " Transport stream id.\n This will be moved into demuxer private options. Thus no API/ABI compatibility"] pub ts_id : libc :: c_int , # [doc = " Audio preload in microseconds.\n Note, not all formats support this and unpredictable things may happen if it is used when not supported.\n - encoding: Set by user\n - decoding: unused"] pub audio_preload : libc :: c_int , # [doc = " Max chunk time in microseconds.\n Note, not all formats support this and unpredictable things may happen if it is used when not supported.\n - encoding: Set by user\n - decoding: unused"] pub max_chunk_duration : libc :: c_int , # [doc = " Max chunk size in bytes\n Note, not all formats support this and unpredictable things may happen if it is used when not supported.\n - encoding: Set by user\n - decoding: unused"] pub max_chunk_size : libc :: c_int , # [doc = " forces the use of wallclock timestamps as pts/dts of packets\n This has undefined results in the presence of B frames.\n - encoding: unused\n - decoding: Set by user"] pub use_wallclock_as_timestamps : libc :: c_int , # [doc = " avio flags, used to force AVIO_FLAG_DIRECT.\n - encoding: unused\n - decoding: Set by user"] pub avio_flags : libc :: c_int , # [doc = " The duration field can be estimated through various ways, and this field can be used\n to know how the duration was estimated.\n - encoding: unused\n - decoding: Read by user"] pub duration_estimation_method : AVDurationEstimationMethod , # [doc = " Skip initial bytes when opening stream\n - encoding: unused\n - decoding: Set by user"] pub skip_initial_bytes : i64 , # [doc = " Correct single timestamp overflows\n - encoding: unused\n - decoding: Set by user"] pub correct_ts_overflow : libc :: c_uint , # [doc = " Force seeking to any (also non key) frames.\n - encoding: unused\n - decoding: Set by user"] pub seek2any : libc :: c_int , # [doc = " Flush the I/O context after each packet.\n - encoding: Set by user\n - decoding: unused"] pub flush_packets : libc :: c_int , # [doc = " format probing score.\n The maximal score is AVPROBE_SCORE_MAX, its set when the demuxer probes\n the format.\n - encoding: unused\n - decoding: set by avformat, read by user"] pub probe_score : libc :: c_int , # [doc = " Maximum number of bytes read from input in order to identify the\n \\ref AVInputFormat \"input format\". Only used when the format is not set\n explicitly by the caller.\n\n Demuxing only, set by the caller before avformat_open_input().\n\n @sa probesize"] pub format_probesize : libc :: c_int , # [doc = " ',' separated list of allowed decoders.\n If NULL then all are allowed\n - encoding: unused\n - decoding: set by user"] pub codec_whitelist : * mut libc :: c_char , # [doc = " ',' separated list of allowed demuxers.\n If NULL then all are allowed\n - encoding: unused\n - decoding: set by user"] pub format_whitelist : * mut libc :: c_char , # [doc = " IO repositioned flag.\n This is set by avformat when the underlaying IO context read pointer\n is repositioned, for example when doing byte based seeking.\n Demuxers can use the flag to detect such changes."] pub io_repositioned : libc :: c_int , # [doc = " Forced video codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub video_codec : * const AVCodec , # [doc = " Forced audio codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub audio_codec : * const AVCodec , # [doc = " Forced subtitle codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub subtitle_codec : * const AVCodec , # [doc = " Forced data codec.\n This allows forcing a specific decoder, even when there are multiple with\n the same codec_id.\n Demuxing: Set by user"] pub data_codec : * const AVCodec , # [doc = " Number of bytes to be written as padding in a metadata header.\n Demuxing: Unused.\n Muxing: Set by user via av_format_set_metadata_header_padding."] pub metadata_header_padding : libc :: c_int , # [doc = " User data.\n This is a place for some private data of the user."] pub opaque : * mut libc :: c_void , # [doc = " Callback used by devices to communicate with application."] pub control_message_cb : av_format_control_message , # [doc = " Output timestamp offset, in microseconds.\n Muxing: set by user"] pub output_ts_offset : i64 , # [doc = " dump format separator.\n can be \", \" or \"\\n \" or anything else\n - muxing: Set by user.\n - demuxing: Set by user."] pub dump_separator : * mut u8 , # [doc = " Forced Data codec_id.\n Demuxing: Set by user."] pub data_codec_id : AVCodecID , # [doc = " ',' separated list of allowed protocols.\n - encoding: unused\n - decoding: set by user"] pub protocol_whitelist : * mut libc :: c_char , # [doc = " A callback for opening new IO streams.\n\n Whenever a muxer or a demuxer needs to open an IO stream (typically from\n avformat_open_input() for demuxers, but for certain formats can happen at\n other times as well), it will call this callback to obtain an IO context.\n\n @param s the format context\n @param pb on success, the newly opened IO context should be returned here\n @param url the url to open\n @param flags a combination of AVIO_FLAG_*\n @param options a dictionary of additional options, with the same\n semantics as in avio_open2()\n @return 0 on success, a negative AVERROR code on failure\n\n @note Certain muxers and demuxers do nesting, i.e. they open one or more\n additional internal format contexts. Thus the AVFormatContext pointer\n passed to this callback may be different from the one facing the caller.\n It will, however, have the same 'opaque' field."] pub io_open : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , pb : * mut * mut AVIOContext , url : * const libc :: c_char , flags : libc :: c_int , options : * mut * mut AVDictionary) -> libc :: c_int > , # [doc = " A callback for closing the streams opened with AVFormatContext.io_open().\n\n @deprecated use io_close2"] pub io_close : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , pb : * mut AVIOContext) > , # [doc = " ',' separated list of disallowed protocols.\n - encoding: unused\n - decoding: set by user"] pub protocol_blacklist : * mut libc :: c_char , # [doc = " The maximum number of streams.\n - encoding: unused\n - decoding: set by user"] pub max_streams : libc :: c_int , # [doc = " Skip duration calcuation in estimate_timings_from_pts.\n - encoding: unused\n - decoding: set by user"] pub skip_estimate_duration_from_pts : libc :: c_int , # [doc = " Maximum number of packets that can be probed\n - encoding: unused\n - decoding: set by user"] pub max_probe_packets : libc :: c_int , # [doc = " A callback for closing the streams opened with AVFormatContext.io_open().\n\n Using this is preferred over io_close, because this can return an error.\n Therefore this callback is used instead of io_close by the generic\n libavformat code if io_close is NULL or the default.\n\n @param s the format context\n @param pb IO context to be closed and freed\n @return 0 on success, a negative AVERROR code on failure"] pub io_close2 : :: std :: option :: Option < unsafe extern "C" fn (s : * mut AVFormatContext , pb : * mut AVIOContext) -> libc :: 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/ffmpeg-sys-the-third-66e9a16dfe09de0e/out/bindings.rs:3:917646 [INFO] [stdout] | [INFO] [stdout] 3 | ... , PartialEq , Eq)] pub struct AVFilterGraph { pub av_class : * const AVClass , pub filters : * mut * mut AVFilterContext , pub nb_filters : libc :: c_uint , # [doc = "< sws options to use for the auto-inserted scale filters"] pub scale_sws_opts : * mut libc :: c_char , # [doc = " Type of multithreading allowed for filters in this graph. A combination\n of AVFILTER_THREAD_* flags.\n\n May be set by the caller at any point, the setting will apply to all\n filters initialized after that. The default is allowing everything.\n\n When a filter in this graph is initialized, this field is combined using\n bit AND with AVFilterContext.thread_type to get the final mask used for\n determining allowed threading types. I.e. a threading type needs to be\n set in both to be allowed."] pub thread_type : libc :: c_int , # [doc = " Maximum number of threads used by filters in this graph. May be set by\n the caller before adding any filters to the filtergraph. Zero (the\n default) means that the number of threads is determined automatically."] pub nb_threads : libc :: c_int , # [doc = " Opaque object for libavfilter internal use."] pub internal : * mut AVFilterGraphInternal , # [doc = " Opaque user data. May be set by the caller to an arbitrary value, e.g. to\n be used from callbacks like @ref AVFilterGraph.execute.\n Libavfilter will not touch this field in any way."] pub opaque : * mut libc :: c_void , # [doc = " This callback may be set by the caller immediately after allocating the\n graph and before adding any filters to it, to provide a custom\n multithreading implementation.\n\n If set, filters with slice threading capability will call this callback\n to execute multiple jobs in parallel.\n\n If this field is left unset, libavfilter will use its internal\n implementation, which may or may not be multithreaded depending on the\n platform and build options."] pub execute : avfilter_execute_func , ... [INFO] [stdout] | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the address of the same function can vary between different codegen units [INFO] [stdout] = note: furthermore, different functions could have the same address after being merged together [INFO] [stdout] = note: for more information visit [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 00s [INFO] running `Command { std: "docker" "inspect" "1ad10a9b04a5d941200bf6bea99d378f2d2ef46766379dc21ddd574e35e0dc66", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1ad10a9b04a5d941200bf6bea99d378f2d2ef46766379dc21ddd574e35e0dc66", kill_on_drop: false }` [INFO] [stdout] 1ad10a9b04a5d941200bf6bea99d378f2d2ef46766379dc21ddd574e35e0dc66