Serenity Operating System
1/*
2 * Copyright (c) 2022, kleines Filmröllchen <filmroellchen@serenityos.org>.
3 *
4 * SPDX-License-Identifier: BSD-2-Clause
5 */
6
7#include "SampleFormats.h"
8
9namespace Audio {
10
11u16 pcm_bits_per_sample(PcmSampleFormat format)
12{
13 switch (format) {
14 case PcmSampleFormat::Uint8:
15 return 8;
16 case PcmSampleFormat::Int16:
17 return 16;
18 case PcmSampleFormat::Int24:
19 return 24;
20 case PcmSampleFormat::Int32:
21 case PcmSampleFormat::Float32:
22 return 32;
23 case PcmSampleFormat::Float64:
24 return 64;
25 default:
26 VERIFY_NOT_REACHED();
27 }
28}
29
30DeprecatedString sample_format_name(PcmSampleFormat format)
31{
32 bool is_float = format == PcmSampleFormat::Float32 || format == PcmSampleFormat::Float64;
33 return DeprecatedString::formatted("PCM {}bit {}", pcm_bits_per_sample(format), is_float ? "Float" : "LE");
34}
35
36}