[package]
edition = "2024"
rust-version = "1.95.0"
name = "mediadecode-webcodecs"
version = "0.2.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "WebCodecs adapter for the `mediadecode` abstraction layer — implements its `VideoAdapter` / `AudioAdapter` traits on top of the browser's WebCodecs API via `web-sys`, for `wasm32` targets."
homepage = "https://github.com/findit-ai/mediadecode"
documentation = "https://docs.rs/mediadecode-webcodecs"
readme = "README.md"
keywords = [
"webcodecs",
"decoder",
"video",
"wasm",
"mediadecode",
]
categories = [
"multimedia",
"multimedia::video",
"multimedia::audio",
"wasm",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/findit-ai/mediadecode"
[package.metadata.docs.rs]
all-features = true
default-target = "wasm32-unknown-unknown"
targets = ["wasm32-unknown-unknown"]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
alloc = []
default = ["std"]
std = ["mediadecode/default"]
[lib]
name = "mediadecode_webcodecs"
path = "src/lib.rs"
[[test]]
name = "audio_flush_isolation"
path = "tests/audio_flush_isolation.rs"
[[test]]
name = "audio_pcm_fixtures"
path = "tests/audio_pcm_fixtures.rs"
[[test]]
name = "native_stub"
path = "tests/native_stub.rs"
[target.'cfg(target_arch = "wasm32")'.dependencies.futures-channel]
version = "0.3"
features = ["alloc"]
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.js-sys]
version = "0.3"
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.mediadecode]
version = "0.2"
features = [
"alloc",
"future",
]
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.thiserror]
version = "2"
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2"
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4"
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
version = "0.3"
features = [
"VideoDecoder",
"VideoDecoderInit",
"VideoDecoderConfig",
"VideoDecoderSupport",
"VideoFrame",
"VideoFrameInit",
"VideoFrameCopyToOptions",
"VideoPixelFormat",
"VideoColorSpace",
"VideoColorPrimaries",
"VideoTransferCharacteristics",
"VideoMatrixCoefficients",
"PlaneLayout",
"EncodedVideoChunk",
"EncodedVideoChunkInit",
"EncodedVideoChunkType",
"AudioDecoder",
"AudioDecoderInit",
"AudioDecoderConfig",
"AudioDecoderSupport",
"AudioData",
"AudioDataInit",
"AudioDataCopyToOptions",
"AudioSampleFormat",
"EncodedAudioChunk",
"EncodedAudioChunkInit",
"EncodedAudioChunkType",
"DomException",
"DomRectInit",
"DomRectReadOnly",
]
default-features = false
[target.'cfg(target_arch = "wasm32")'.dev-dependencies.wasm-bindgen-test]
version = "0.3"
[lints.rust]
rust_2018_idioms = "warn"
single_use_lifetimes = "warn"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(all_tests)",
"cfg(tarpaulin)",
"cfg(web_sys_unstable_apis)",
]