From fbbb5637e7a133cdcda3205c9e5cbd7bc3f6c917 Mon Sep 17 00:00:00 2001 From: Andrzej Rybczak Date: Thu, 17 Dec 2020 13:37:09 +0100 Subject: [PATCH] Discard any lingering data from the source --- src/screens/visualizer.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/screens/visualizer.cpp b/src/screens/visualizer.cpp index 72c42f87..937b963e 100644 --- a/src/screens/visualizer.cpp +++ b/src/screens/visualizer.cpp @@ -678,6 +678,17 @@ void Visualizer::Clear() { w.clear(); std::fill(m_rendered_samples.begin(), m_rendered_samples.end(), 0); + + // Discard any lingering data from the data source. + if (m_fifo >= 0) + { + ssize_t bytes_read; + do + bytes_read = read(m_fifo, m_incoming_samples.data(), + sizeof(int16_t) * m_incoming_samples.size()); + while (bytes_read > 0); + } + } void Visualizer::ToggleVisualizationType()