diff --git a/Userland/Libraries/LibAudio/FlacWriter.cpp b/Userland/Libraries/LibAudio/FlacWriter.cpp index d9f5017d2a..1a5229057d 100644 --- a/Userland/Libraries/LibAudio/FlacWriter.cpp +++ b/Userland/Libraries/LibAudio/FlacWriter.cpp @@ -40,11 +40,12 @@ ErrorOr FlacWriter::finalize() if (m_state == WriteState::FullyFinalized) return Error::from_string_view("File is already finalized"sv); - // TODO: Write missing sample data instead of discarding it. - if (m_state == WriteState::HeaderUnwritten) 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 TRY(m_stream->seek(m_streaminfo_start_index + 8, AK::SeekMode::SetPosition));