mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 02:37:36 +00:00
LibAudio+LibCore: Remove unnecessary IODeviceStreamReader.h
IODeviceStreamReader isn't pulling its weight. It's essentially a subset of InputFileStream with only one user (WavLoader). This refactors WavLoader to use InputFileStream instead.
This commit is contained in:
parent
06ea31d0d5
commit
3938b56577
3 changed files with 21 additions and 85 deletions
|
@ -11,7 +11,7 @@
|
|||
#include <LibAudio/Buffer.h>
|
||||
#include <LibAudio/WavLoader.h>
|
||||
#include <LibCore/File.h>
|
||||
#include <LibCore/IODeviceStreamReader.h>
|
||||
#include <LibCore/FileStream.h>
|
||||
|
||||
namespace Audio {
|
||||
|
||||
|
@ -47,11 +47,6 @@ WavLoaderPlugin::WavLoaderPlugin(const ByteBuffer& buffer)
|
|||
m_resampler = make<ResampleHelper>(m_sample_rate, 44100);
|
||||
}
|
||||
|
||||
bool WavLoaderPlugin::sniff()
|
||||
{
|
||||
return valid;
|
||||
}
|
||||
|
||||
RefPtr<Buffer> WavLoaderPlugin::get_more_samples(size_t max_bytes_to_read_from_input)
|
||||
{
|
||||
dbgln_if(AWAVLOADER_DEBUG, "Read {} bytes WAV with num_channels {} sample rate {}, "
|
||||
|
@ -89,58 +84,40 @@ void WavLoaderPlugin::seek(const int position)
|
|||
m_stream->seek(byte_position);
|
||||
}
|
||||
|
||||
void WavLoaderPlugin::reset()
|
||||
{
|
||||
seek(0);
|
||||
}
|
||||
|
||||
bool WavLoaderPlugin::parse_header()
|
||||
{
|
||||
OwnPtr<Core::IODeviceStreamReader> file_stream;
|
||||
bool ok = true;
|
||||
|
||||
OwnPtr<Core::InputFileStream> file_stream;
|
||||
if (m_file)
|
||||
file_stream = make<Core::IODeviceStreamReader>(*m_file);
|
||||
file_stream = make<Core::InputFileStream>(*m_file);
|
||||
|
||||
AK::InputStream* const stream =
|
||||
(m_file ?
|
||||
file_stream.ptr() :
|
||||
dynamic_cast<AK::InputStream*>(m_stream.ptr()));
|
||||
|
||||
bool ok = true;
|
||||
|
||||
auto read_u8 = [&]() -> u8 {
|
||||
u8 value;
|
||||
if (m_file) {
|
||||
*file_stream >> value;
|
||||
if (file_stream->handle_read_failure())
|
||||
ok = false;
|
||||
} else {
|
||||
*m_stream >> value;
|
||||
if (m_stream->handle_any_error())
|
||||
ok = false;
|
||||
}
|
||||
*stream >> value;
|
||||
if (stream->handle_any_error())
|
||||
ok = false;
|
||||
return value;
|
||||
};
|
||||
|
||||
auto read_u16 = [&]() -> u16 {
|
||||
u16 value;
|
||||
if (m_file) {
|
||||
*file_stream >> value;
|
||||
if (file_stream->handle_read_failure())
|
||||
ok = false;
|
||||
} else {
|
||||
*m_stream >> value;
|
||||
if (m_stream->handle_any_error())
|
||||
ok = false;
|
||||
}
|
||||
*stream >> value;
|
||||
if (stream->handle_any_error())
|
||||
ok = false;
|
||||
return value;
|
||||
};
|
||||
|
||||
auto read_u32 = [&]() -> u32 {
|
||||
u32 value;
|
||||
if (m_file) {
|
||||
*file_stream >> value;
|
||||
if (file_stream->handle_read_failure())
|
||||
ok = false;
|
||||
} else {
|
||||
*m_stream >> value;
|
||||
if (m_stream->handle_any_error())
|
||||
ok = false;
|
||||
}
|
||||
*stream >> value;
|
||||
if (stream->handle_any_error())
|
||||
ok = false;
|
||||
return value;
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue