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
17mod boxes;
18
19pub mod codec;
20
21#[cfg(test)]
22use std::path::PathBuf;
23
24pub use boxes::{BoxType, DynBox, header, types};
25
26#[cfg(test)]
27mod tests;
28
29#[cfg(test)]
30fn file_path(item: &str) -> PathBuf {
31    if let Some(env) = std::env::var_os("ASSETS_DIR") {
32        PathBuf::from(env).join(item)
33    } else {
34        PathBuf::from(env!("CARGO_MANIFEST_DIR")).join(format!("../../assets/{item}"))
35    }
36}
37
38/// Changelogs generated by [scuffle_changelog]
39#[cfg(feature = "docs")]
40#[scuffle_changelog::changelog]
41pub mod changelog {}