symphonia_bundle_mp3/
lib.rs

1// Symphonia
2// Copyright (c) 2019-2022 The Project Symphonia Developers.
3//
4// This Source Code Form is subject to the terms of the Mozilla Public
5// License, v. 2.0. If a copy of the MPL was not distributed with this
6// file, You can obtain one at https://mozilla.org/MPL/2.0/.
7
8#![warn(rust_2018_idioms)]
9#![forbid(unsafe_code)]
10// The following lints are allowed in all Symphonia crates. Please see clippy.toml for their
11// justification.
12#![allow(clippy::comparison_chain)]
13#![allow(clippy::excessive_precision)]
14#![allow(clippy::identity_op)]
15#![allow(clippy::manual_range_contains)]
16
17// Shared modules.
18mod common;
19mod header;
20
21// Demuxer module.
22mod demuxer;
23
24// Decoder modules.
25#[cfg(any(feature = "mp1", feature = "mp2", feature = "mp3"))]
26mod decoder;
27#[cfg(any(feature = "mp1", feature = "mp2", feature = "mp3"))]
28mod synthesis;
29
30// Shared layer 1 & 2 decoder support module.
31#[cfg(any(feature = "mp1", feature = "mp2"))]
32mod layer12;
33
34// Layer-specific decoder support modules.
35#[cfg(feature = "mp1")]
36mod layer1;
37#[cfg(feature = "mp2")]
38mod layer2;
39#[cfg(feature = "mp3")]
40mod layer3;
41
42#[cfg(any(feature = "mp1", feature = "mp2", feature = "mp3"))]
43pub use decoder::MpaDecoder;
44pub use demuxer::MpaReader;
45
46// For SemVer compatibility in v0.5.x series.
47#[deprecated = "use `symphonia_bundle_mp3::MpaDecoder` instead"]
48#[cfg(any(feature = "mp1", feature = "mp2", feature = "mp3"))]
49pub type Mp3Decoder = MpaDecoder;
50
51#[deprecated = "use `symphonia_bundle_mp3::MpaReader` instead"]
52pub type Mp3Reader = MpaReader;