scuffle_mp4/
lib.rs

1//! A crate for reading and writing MP4 files.
2#![cfg_attr(feature = "docs", doc = "\n\nSee the [changelog][changelog] for a full release history.")]
3#![cfg_attr(feature = "docs", doc = "## Feature flags")]
4#![cfg_attr(feature = "docs", doc = document_features::document_features!())]
5//! ## License
6//!
7//! This project is licensed under the MIT or Apache-2.0 license.
8//! You can choose between one of them if you use this work.
9//!
10//! `SPDX-License-Identifier: MIT OR Apache-2.0`
11#![cfg_attr(all(coverage_nightly, test), feature(coverage_attribute))]
12#![cfg_attr(docsrs, feature(doc_auto_cfg))]
13// #![deny(missing_docs)]
14#![deny(unsafe_code)]
15#![deny(unreachable_pub)]
16#![deny(clippy::mod_module_files)]
17
18mod boxes;
19
20pub mod codec;
21
22#[cfg(test)]
23use std::path::PathBuf;
24
25pub use boxes::{BoxType, DynBox, header, types};
26
27#[cfg(test)]
28mod tests;
29
30#[cfg(test)]
31fn file_path(item: &str) -> PathBuf {
32    if let Some(env) = std::env::var_os("ASSETS_DIR") {
33        PathBuf::from(env).join(item)
34    } else {
35        PathBuf::from(env!("CARGO_MANIFEST_DIR")).join(format!("../../assets/{item}"))
36    }
37}
38
39/// Changelogs generated by [scuffle_changelog]
40#[cfg(feature = "docs")]
41#[scuffle_changelog::changelog]
42pub mod changelog {}