mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 20:52:45 +00:00 
			
		
		
		
	 5d01db3493
			
		
	
	
		5d01db3493
		
	
	
	
	
		
			
			The Buffer files had contained both the ResampleHelper and the sample format utilities. Because the Buffer class (and its file) is going to be deleted soon, this commit separates those two things into their own files.
		
			
				
	
	
		
			36 lines
		
	
	
	
		
			713 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
	
		
			713 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2022, kleines Filmröllchen <filmroellchen@serenityos.org>.
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #include "SampleFormats.h"
 | |
| 
 | |
| namespace Audio {
 | |
| 
 | |
| u16 pcm_bits_per_sample(PcmSampleFormat format)
 | |
| {
 | |
|     switch (format) {
 | |
|     case Uint8:
 | |
|         return 8;
 | |
|     case Int16:
 | |
|         return 16;
 | |
|     case Int24:
 | |
|         return 24;
 | |
|     case Int32:
 | |
|     case Float32:
 | |
|         return 32;
 | |
|     case Float64:
 | |
|         return 64;
 | |
|     default:
 | |
|         VERIFY_NOT_REACHED();
 | |
|     }
 | |
| }
 | |
| 
 | |
| String sample_format_name(PcmSampleFormat format)
 | |
| {
 | |
|     bool is_float = format == Float32 || format == Float64;
 | |
|     return String::formatted("PCM {}bit {}", pcm_bits_per_sample(format), is_float ? "Float" : "LE");
 | |
| }
 | |
| 
 | |
| }
 |