Selaa lähdekoodia

LibAudio: Allow tweaking how much get_more_samples() reads from file

Andreas Kling 5 vuotta sitten
vanhempi
commit
6693e56603
2 muutettua tiedostoa jossa 5 lisäystä ja 4 poistoa
  1. 2 2
      Libraries/LibAudio/AWavLoader.cpp
  2. 3 2
      Libraries/LibAudio/AWavLoader.h

+ 2 - 2
Libraries/LibAudio/AWavLoader.cpp

@@ -16,13 +16,13 @@ AWavLoader::AWavLoader(const StringView& path)
     parse_header();
 }
 
-RefPtr<ABuffer> AWavLoader::get_more_samples()
+RefPtr<ABuffer> AWavLoader::get_more_samples(size_t max_bytes_to_read_from_input)
 {
 #ifdef AWAVLOADER_DEBUG
     dbgprintf("Read WAV of format PCM with num_channels %u sample rate %u, bits per sample %u\n", m_num_channels, m_sample_rate, m_bits_per_sample);
 #endif
 
-    auto raw_samples = m_file.read(128 * KB);
+    auto raw_samples = m_file.read(max_bytes_to_read_from_input);
     if (raw_samples.is_empty())
         return nullptr;
 

+ 3 - 2
Libraries/LibAudio/AWavLoader.h

@@ -15,10 +15,11 @@ class ByteBuffer;
 class AWavLoader {
 public:
     explicit AWavLoader(const StringView& path);
-    RefPtr<ABuffer> load_wav(const StringView& path);
+
+    bool has_error() const { return !m_error_string.is_null(); }
     const char* error_string() { return m_error_string.characters(); }
 
-    RefPtr<ABuffer> get_more_samples();
+    RefPtr<ABuffer> get_more_samples(size_t max_bytes_to_read_from_input = 128 * KB);
 
     int loaded_samples() const { return m_loaded_samples; }
     int total_samples() const { return m_total_samples; }