pub struct FfmpegRuntimeIdentity {
pub version: String,
pub configuration: String,
pub pinned_sdk_release: &'static str,
}Expand description
FFmpeg runtime and pinned SDK identity used by native diagnostics.
Fields§
§version: StringVersion reported by the loaded FFmpeg shared library.
configuration: StringConfigure flags reported by the loaded libavcodec.
pinned_sdk_release: &'static strSDK release used by alpha2 release builds.
Implementations§
Source§impl FfmpegRuntimeIdentity
impl FfmpegRuntimeIdentity
Sourcepub fn pinned_sdk_mismatch(&self) -> Option<String>
pub fn pinned_sdk_mismatch(&self) -> Option<String>
Why the loaded runtime is not the pinned SDK, or None when it is.
Cargo links whichever FFmpeg pkg-config finds, so a shell without
the SDK’s PKG_CONFIG_PATH builds against a system copy (on macOS,
Homebrew’s GPL build) and nothing else says so. Such a runtime offers
different encoders (libx264 ahead of h264_videotoolbox), so its
exports are not the ones alpha2 ships.
Besides the version, the configuration must be one the SDK’s
manifest.toml allows: no GPL, nonfree or version 3 code, no
external --enable-lib* codec but the ones the SDK requires, which
must be there, and --disable-autodetect, without which a build takes
whatever libraries its machine happens to have. That catches a system
build of the same version, and an earlier SDK build, too.
Trait Implementations§
Source§impl Clone for FfmpegRuntimeIdentity
impl Clone for FfmpegRuntimeIdentity
Source§impl Debug for FfmpegRuntimeIdentity
impl Debug for FfmpegRuntimeIdentity
impl Eq for FfmpegRuntimeIdentity
Source§impl PartialEq for FfmpegRuntimeIdentity
impl PartialEq for FfmpegRuntimeIdentity
impl StructuralPartialEq for FfmpegRuntimeIdentity
Auto Trait Implementations§
impl Freeze for FfmpegRuntimeIdentity
impl RefUnwindSafe for FfmpegRuntimeIdentity
impl Send for FfmpegRuntimeIdentity
impl Sync for FfmpegRuntimeIdentity
impl Unpin for FfmpegRuntimeIdentity
impl UnsafeUnpin for FfmpegRuntimeIdentity
impl UnwindSafe for FfmpegRuntimeIdentity
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.