Skip to content

Commit

Permalink
caf: Add initial support for Core Audio Format / CAF files (#232)
Browse files Browse the repository at this point in the history
  • Loading branch information
irh committed Jan 16, 2024
1 parent 3d206b2 commit abb497b
Show file tree
Hide file tree
Showing 11 changed files with 1,035 additions and 2 deletions.
1 change: 1 addition & 0 deletions CONTRIBUTORS
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Philip Deljanov <philip.deljanov@gmail.com>
# Please keep this section sorted in ascending order.

Akiyuki Okayasu <akiyuki.okayasu@gmail.com>
Ian Hobson <ian.r.hobson@gmail.com>
Kostya Shishkov <kostya.shiskov@gmail.com>
Thom Chiovoloni <chiovolonit@gmail.com>

Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,13 +88,15 @@ A status of *Excellent* is only assigned after the feature passes all compliance
| Format | Status | Gapless* | Feature Flag | Default | Crate |
|----------|-----------|----------|--------------|---------|-----------------------------|
| AIFF | Great | Yes | `aiff` | No | [`symphonia-format-riff`] |
| CAF | Good | No | `caf` | No | [`symphonia-format-caf`] |
| ISO/MP4 | Great | No | `isomp4` | No | [`symphonia-format-isomp4`] |
| MKV/WebM | Good | No | `mkv` | Yes | [`symphonia-format-mkv`] |
| OGG | Great | Yes | `ogg` | Yes | [`symphonia-format-ogg`] |
| Wave | Excellent | Yes | `wav` | Yes | [`symphonia-format-riff`] |

\* Gapless playback requires support from both the demuxer and decoder.

[`symphonia-format-caf`]: https://docs.rs/symphonia-format-caf
[`symphonia-format-isomp4`]: https://docs.rs/symphonia-format-isomp4
[`symphonia-format-mkv`]: https://docs.rs/symphonia-format-mkv
[`symphonia-format-ogg`]: https://docs.rs/symphonia-format-ogg
Expand Down
2 changes: 1 addition & 1 deletion symphonia-core/src/sample.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ pub enum SampleFormat {
S24,
/// Signed 32-bit integer.
S32,
/// Single prevision (32-bit) floating point.
/// Single precision (32-bit) floating point.
F32,
/// Double precision (64-bit) floating point.
F64,
Expand Down
18 changes: 18 additions & 0 deletions symphonia-format-caf/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[package]
name = "symphonia-format-caf"
version = "0.5.2"
description = "Pure Rust CAF demuxer (a part of project Symphonia)."
homepage = "https://github.com/pdeljanov/Symphonia"
repository = "https://github.com/pdeljanov/Symphonia"
authors = ["Ian Hobson <ian.r.hobson@gmail.com>", "Philip Deljanov <philip.deljanov@gmail.com>"]
license = "MPL-2.0"
readme = "README.md"
categories = ["multimedia", "multimedia::audio", "multimedia::encoding"]
keywords = ["audio", "media", "demuxer", "caf"]
edition = "2018"
rust-version = "1.53"

[dependencies]
log = "0.4"
symphonia-core = { version = "0.5.2", path = "../symphonia-core" }
symphonia-metadata = { version = "0.5.2", path = "../symphonia-metadata" }
15 changes: 15 additions & 0 deletions symphonia-format-caf/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Symphonia Core Audio Format demuxer

CAF decoder for Project Symphonia.

**Note:** This crate is part of Symphonia. Please use the [`symphonia`](https://crates.io/crates/symphonia) crate instead of this one directly.

## License

Symphonia is provided under the MPL v2.0 license. Please refer to the LICENSE file for more details.

## Contributing

Symphonia is an open-source project and contributions are very welcome! If you would like to make a large contribution, please raise an issue ahead of time to make sure your efforts fit into the project goals, and that no duplication of efforts occurs.

All contributors will be credited within the CONTRIBUTORS file.

0 comments on commit abb497b

Please sign in to comment.