[package]
name = "mediadecode-webcodecs"
version = "0.2.0"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
documentation = "https://docs.rs/mediadecode-webcodecs"
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."
keywords = ["webcodecs", "decoder", "video", "wasm", "mediadecode"]
categories = ["multimedia", "multimedia::video", "multimedia::audio", "wasm"]
[features]
default = ["std"]
std = ["mediadecode/default"]
alloc = []
[target.'cfg(target_arch = "wasm32")'.dependencies]
mediadecode = { workspace = true, features = ["alloc", "future"] }
wasm-bindgen = { workspace = true }
js-sys = { workspace = true }
web-sys = { workspace = true, 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",
] }
wasm-bindgen-futures = { workspace = true }
futures-channel = { workspace = true }
thiserror = { workspace = true }
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
wasm-bindgen-test = "0.3"
[lints]
workspace = true
[package.metadata.docs.rs]
all-features = true
default-target = "wasm32-unknown-unknown"
targets = ["wasm32-unknown-unknown"]
rustdoc-args = ["--cfg", "docsrs"]