summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibAudio
diff options
context:
space:
mode:
authorkleines Filmröllchen <malu.bertsch@gmail.com>2021-06-24 23:56:28 +0200
committerAli Mohammad Pur <Ali.mpfard@gmail.com>2021-06-25 20:48:14 +0430
commit488de12ed406faf90481e477eb7121218359d2fe (patch)
treed10bb846b28bafad1cef94aebc82b0dab469d139 /Userland/Libraries/LibAudio
parentd599a14545ffda1fa538efcb9fed67c8e569bc58 (diff)
downloadserenity-488de12ed406faf90481e477eb7121218359d2fe.zip
LibAudio: Make LoaderPlugin::error_string return String&
Previously, error_string() returned char* which is bad Serenity style and caused issues when other error handling methods were tried. As both WavLoader and (future) FLAC loader store a String internally for the error message, it makes sense to return a String reference instead.
Diffstat (limited to 'Userland/Libraries/LibAudio')
-rw-r--r--Userland/Libraries/LibAudio/Loader.h7
-rw-r--r--Userland/Libraries/LibAudio/WavLoader.h2
2 files changed, 6 insertions, 3 deletions
diff --git a/Userland/Libraries/LibAudio/Loader.h b/Userland/Libraries/LibAudio/Loader.h
index 5075b0062a..a4bad829c1 100644
--- a/Userland/Libraries/LibAudio/Loader.h
+++ b/Userland/Libraries/LibAudio/Loader.h
@@ -15,6 +15,9 @@
namespace Audio {
+static const String empty_string = "";
+static String no_plugin_error = "No loader plugin available";
+
class LoaderPlugin {
public:
virtual ~LoaderPlugin() { }
@@ -22,7 +25,7 @@ public:
virtual bool sniff() = 0;
virtual bool has_error() { return false; }
- virtual const char* error_string() { return ""; }
+ virtual const String& error_string() { return empty_string; }
virtual RefPtr<Buffer> get_more_samples(size_t max_bytes_to_read_from_input = 128 * KiB) = 0;
@@ -52,7 +55,7 @@ public:
static NonnullRefPtr<Loader> create(const ByteBuffer& buffer) { return adopt_ref(*new Loader(buffer)); }
bool has_error() const { return m_plugin ? m_plugin->has_error() : true; }
- const char* error_string() const { return m_plugin ? m_plugin->error_string() : "No loader plugin available"; }
+ const String& error_string() const { return m_plugin ? m_plugin->error_string() : no_plugin_error; }
RefPtr<Buffer> get_more_samples(size_t max_bytes_to_read_from_input = 128 * KiB) const { return m_plugin ? m_plugin->get_more_samples(max_bytes_to_read_from_input) : nullptr; }
diff --git a/Userland/Libraries/LibAudio/WavLoader.h b/Userland/Libraries/LibAudio/WavLoader.h
index db333b571f..4eaa4b9a4b 100644
--- a/Userland/Libraries/LibAudio/WavLoader.h
+++ b/Userland/Libraries/LibAudio/WavLoader.h
@@ -39,7 +39,7 @@ public:
virtual bool sniff() override { return valid; }
virtual bool has_error() override { return !m_error_string.is_null(); }
- virtual const char* error_string() override { return m_error_string.characters(); }
+ virtual const String& error_string() override { return m_error_string; }
// The Buffer returned contains input data resampled at the
// destination audio device sample rate.