ソースを参照

LibAudio: Write final FLAC audio data instead of discarding it

kleines Filmröllchen 1 年間 前
コミット
c7f416682b
1 ファイル変更3 行追加2 行削除
  1. 3 2
      Userland/Libraries/LibAudio/FlacWriter.cpp

+ 3 - 2
Userland/Libraries/LibAudio/FlacWriter.cpp

@@ -40,11 +40,12 @@ ErrorOr<void> FlacWriter::finalize()
     if (m_state == WriteState::FullyFinalized)
     if (m_state == WriteState::FullyFinalized)
         return Error::from_string_view("File is already finalized"sv);
         return Error::from_string_view("File is already finalized"sv);
 
 
-    // TODO: Write missing sample data instead of discarding it.
-
     if (m_state == WriteState::HeaderUnwritten)
     if (m_state == WriteState::HeaderUnwritten)
         TRY(finalize_header_format());
         TRY(finalize_header_format());
 
 
+    if (!m_sample_buffer.is_empty())
+        TRY(write_frame());
+
     {
     {
         // 1 byte metadata block header + 3 bytes size + 2*2 bytes min/max block size
         // 1 byte metadata block header + 3 bytes size + 2*2 bytes min/max block size
         TRY(m_stream->seek(m_streaminfo_start_index + 8, AK::SeekMode::SetPosition));
         TRY(m_stream->seek(m_streaminfo_start_index + 8, AK::SeekMode::SetPosition));