1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//! The [`Sample`] trait — sealed over `f32` (and `f64` under the `f64`
//! feature).
//!
//! Internally the analyzer always works in `f32` (per `SPEC.md` §5: the
//! K-weighting filter's accuracy delta between `f32` and `f64` is below 0.001
//! LU, well under the 0.1 LU EBU R128 spec tolerance). The `f64` feature
//! lets callers push `f64` buffers without manually casting; values are
//! converted to `f32` on ingest.
/// A sample type accepted by [`Analyzer::push_planar`] and
/// [`Analyzer::push_interleaved`].
///
/// Sealed: only `f32` (and `f64` under the `f64` feature) implement this
/// trait. Adding more sample types is a deliberate API change.
///
/// [`Analyzer::push_planar`]: crate::Analyzer::push_planar
/// [`Analyzer::push_interleaved`]: crate::Analyzer::push_interleaved