mirror of
https://github.com/RGBCube/serenity
synced 2025-07-24 10:37:42 +00:00
Libraries: Change enums to enum classes in LibAudio
This commit is contained in:
parent
be360db223
commit
d3893a73fb
5 changed files with 22 additions and 22 deletions
|
@ -169,7 +169,7 @@ MaybeLoaderError FlacLoaderPlugin::reset()
|
||||||
MaybeLoaderError FlacLoaderPlugin::seek(const int position)
|
MaybeLoaderError FlacLoaderPlugin::seek(const int position)
|
||||||
{
|
{
|
||||||
if (m_stream->seek(position, Core::Stream::SeekMode::SetPosition).is_error())
|
if (m_stream->seek(position, Core::Stream::SeekMode::SetPosition).is_error())
|
||||||
return LoaderError { LoaderError::IO, m_loaded_samples, String::formatted("Invalid seek position {}", position) };
|
return LoaderError { LoaderError::Category::IO, m_loaded_samples, String::formatted("Invalid seek position {}", position) };
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -232,7 +232,7 @@ MaybeLoaderError FlacLoaderPlugin::next_frame(Span<Sample> target_vector)
|
||||||
u32 frame_sample_rate = TRY(convert_sample_rate_code(LOADER_TRY(bit_stream->read_bits<u8>(4))));
|
u32 frame_sample_rate = TRY(convert_sample_rate_code(LOADER_TRY(bit_stream->read_bits<u8>(4))));
|
||||||
|
|
||||||
u8 channel_type_num = LOADER_TRY(bit_stream->read_bits<u8>(4));
|
u8 channel_type_num = LOADER_TRY(bit_stream->read_bits<u8>(4));
|
||||||
FLAC_VERIFY(channel_type_num < 0b1011, LoaderError::Format, "Channel assignment");
|
FLAC_VERIFY(channel_type_num < 0b1011, LoaderError::Category::Format, "Channel assignment");
|
||||||
FlacFrameChannelType channel_type = (FlacFrameChannelType)channel_type_num;
|
FlacFrameChannelType channel_type = (FlacFrameChannelType)channel_type_num;
|
||||||
|
|
||||||
PcmSampleFormat bit_depth = TRY(convert_bit_depth_code(LOADER_TRY(bit_stream->read_bits<u8>(3))));
|
PcmSampleFormat bit_depth = TRY(convert_bit_depth_code(LOADER_TRY(bit_stream->read_bits<u8>(3))));
|
||||||
|
@ -440,8 +440,8 @@ ErrorOr<PcmSampleFormat, LoaderError> FlacLoaderPlugin::convert_bit_depth_code(u
|
||||||
|
|
||||||
u8 frame_channel_type_to_channel_count(FlacFrameChannelType channel_type)
|
u8 frame_channel_type_to_channel_count(FlacFrameChannelType channel_type)
|
||||||
{
|
{
|
||||||
if (channel_type <= 7)
|
if (channel_type <= FlacFrameChannelType::Surround7p1)
|
||||||
return channel_type + 1;
|
return to_underlying(channel_type) + 1;
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -451,13 +451,13 @@ ErrorOr<FlacSubframeHeader, LoaderError> FlacLoaderPlugin::next_subframe_header(
|
||||||
|
|
||||||
// For inter-channel correlation, the side channel needs an extra bit for its samples
|
// For inter-channel correlation, the side channel needs an extra bit for its samples
|
||||||
switch (m_current_frame->channels) {
|
switch (m_current_frame->channels) {
|
||||||
case LeftSideStereo:
|
case FlacFrameChannelType::LeftSideStereo:
|
||||||
case MidSideStereo:
|
case FlacFrameChannelType::MidSideStereo:
|
||||||
if (channel_index == 1) {
|
if (channel_index == 1) {
|
||||||
++bits_per_sample;
|
++bits_per_sample;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case RightSideStereo:
|
case FlacFrameChannelType::RightSideStereo:
|
||||||
if (channel_index == 0) {
|
if (channel_index == 0) {
|
||||||
++bits_per_sample;
|
++bits_per_sample;
|
||||||
}
|
}
|
||||||
|
@ -675,7 +675,7 @@ ErrorOr<Vector<i32>, LoaderError> FlacLoaderPlugin::decode_fixed_lpc(FlacSubfram
|
||||||
// Decode the residual, the "error" between the function approximation and the actual audio data
|
// Decode the residual, the "error" between the function approximation and the actual audio data
|
||||||
MaybeLoaderError FlacLoaderPlugin::decode_residual(Vector<i32>& decoded, FlacSubframeHeader& subframe, BigEndianInputBitStream& bit_input)
|
MaybeLoaderError FlacLoaderPlugin::decode_residual(Vector<i32>& decoded, FlacSubframeHeader& subframe, BigEndianInputBitStream& bit_input)
|
||||||
{
|
{
|
||||||
u8 residual_mode = LOADER_TRY(bit_input.read_bits<u8>(2));
|
auto residual_mode = static_cast<FlacResidualMode>(LOADER_TRY(bit_input.read_bits<u8>(2)));
|
||||||
u8 partition_order = LOADER_TRY(bit_input.read_bits<u8>(4));
|
u8 partition_order = LOADER_TRY(bit_input.read_bits<u8>(4));
|
||||||
size_t partitions = 1 << partition_order;
|
size_t partitions = 1 << partition_order;
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@ namespace Audio {
|
||||||
#define FLAC_SAMPLERATE_AT_END_OF_HEADER_16X10 0xfffffffd
|
#define FLAC_SAMPLERATE_AT_END_OF_HEADER_16X10 0xfffffffd
|
||||||
|
|
||||||
// Metadata block type, 7 bits.
|
// Metadata block type, 7 bits.
|
||||||
enum FlacMetadataBlockType : u8 {
|
enum class FlacMetadataBlockType : u8 {
|
||||||
STREAMINFO = 0, // Important data about the audio format
|
STREAMINFO = 0, // Important data about the audio format
|
||||||
PADDING = 1, // Non-data block to be ignored
|
PADDING = 1, // Non-data block to be ignored
|
||||||
APPLICATION = 2, // Ignored
|
APPLICATION = 2, // Ignored
|
||||||
|
@ -33,7 +33,7 @@ enum FlacMetadataBlockType : u8 {
|
||||||
};
|
};
|
||||||
|
|
||||||
// follows FLAC codes
|
// follows FLAC codes
|
||||||
enum FlacFrameChannelType : u8 {
|
enum class FlacFrameChannelType : u8 {
|
||||||
Mono = 0,
|
Mono = 0,
|
||||||
Stereo = 1,
|
Stereo = 1,
|
||||||
StereoCenter = 2, // left, right, center
|
StereoCenter = 2, // left, right, center
|
||||||
|
@ -49,7 +49,7 @@ enum FlacFrameChannelType : u8 {
|
||||||
};
|
};
|
||||||
|
|
||||||
// follows FLAC codes
|
// follows FLAC codes
|
||||||
enum FlacSubframeType : u8 {
|
enum class FlacSubframeType : u8 {
|
||||||
Constant = 0,
|
Constant = 0,
|
||||||
Verbatim = 1,
|
Verbatim = 1,
|
||||||
Fixed = 0b001000,
|
Fixed = 0b001000,
|
||||||
|
@ -58,7 +58,7 @@ enum FlacSubframeType : u8 {
|
||||||
};
|
};
|
||||||
|
|
||||||
// follows FLAC codes
|
// follows FLAC codes
|
||||||
enum FlacResidualMode : u8 {
|
enum class FlacResidualMode : u8 {
|
||||||
Rice4Bit = 0,
|
Rice4Bit = 0,
|
||||||
Rice5Bit = 1,
|
Rice5Bit = 1,
|
||||||
};
|
};
|
||||||
|
|
|
@ -14,7 +14,7 @@ namespace Audio {
|
||||||
|
|
||||||
struct LoaderError {
|
struct LoaderError {
|
||||||
|
|
||||||
enum Category : u32 {
|
enum class Category : u32 {
|
||||||
// The error category is unknown.
|
// The error category is unknown.
|
||||||
Unknown = 0,
|
Unknown = 0,
|
||||||
IO,
|
IO,
|
||||||
|
@ -25,7 +25,7 @@ struct LoaderError {
|
||||||
// The loader encountered something in the format that is not yet implemented.
|
// The loader encountered something in the format that is not yet implemented.
|
||||||
Unimplemented,
|
Unimplemented,
|
||||||
};
|
};
|
||||||
Category category { Unknown };
|
Category category { Category::Unknown };
|
||||||
// Binary index: where in the file the error occurred.
|
// Binary index: where in the file the error occurred.
|
||||||
size_t index { 0 };
|
size_t index { 0 };
|
||||||
FlyString description { String::empty() };
|
FlyString description { String::empty() };
|
||||||
|
|
|
@ -11,16 +11,16 @@ namespace Audio {
|
||||||
u16 pcm_bits_per_sample(PcmSampleFormat format)
|
u16 pcm_bits_per_sample(PcmSampleFormat format)
|
||||||
{
|
{
|
||||||
switch (format) {
|
switch (format) {
|
||||||
case Uint8:
|
case PcmSampleFormat::Uint8:
|
||||||
return 8;
|
return 8;
|
||||||
case Int16:
|
case PcmSampleFormat::Int16:
|
||||||
return 16;
|
return 16;
|
||||||
case Int24:
|
case PcmSampleFormat::Int24:
|
||||||
return 24;
|
return 24;
|
||||||
case Int32:
|
case PcmSampleFormat::Int32:
|
||||||
case Float32:
|
case PcmSampleFormat::Float32:
|
||||||
return 32;
|
return 32;
|
||||||
case Float64:
|
case PcmSampleFormat::Float64:
|
||||||
return 64;
|
return 64;
|
||||||
default:
|
default:
|
||||||
VERIFY_NOT_REACHED();
|
VERIFY_NOT_REACHED();
|
||||||
|
@ -29,7 +29,7 @@ u16 pcm_bits_per_sample(PcmSampleFormat format)
|
||||||
|
|
||||||
String sample_format_name(PcmSampleFormat format)
|
String sample_format_name(PcmSampleFormat format)
|
||||||
{
|
{
|
||||||
bool is_float = format == Float32 || format == Float64;
|
bool is_float = format == PcmSampleFormat::Float32 || format == PcmSampleFormat::Float64;
|
||||||
return String::formatted("PCM {}bit {}", pcm_bits_per_sample(format), is_float ? "Float" : "LE");
|
return String::formatted("PCM {}bit {}", pcm_bits_per_sample(format), is_float ? "Float" : "LE");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
namespace Audio {
|
namespace Audio {
|
||||||
|
|
||||||
// Supported PCM sample formats.
|
// Supported PCM sample formats.
|
||||||
enum PcmSampleFormat : u8 {
|
enum class PcmSampleFormat : u8 {
|
||||||
Uint8,
|
Uint8,
|
||||||
Int16,
|
Int16,
|
||||||
Int24,
|
Int24,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue