Serenity Operating System
at master 36 lines 869 B view raw
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}