From 67eb62ec12078498ea6f33c532f74a3668b019c4 Mon Sep 17 00:00:00 2001 From: Jared Boone Date: Sat, 23 Apr 2016 14:55:59 -0700 Subject: [PATCH] Provide AudioOutput::set_stream(). Assign when wanting to capture audio stream. --- firmware/baseband/audio_output.cpp | 4 ++-- firmware/baseband/audio_output.hpp | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/firmware/baseband/audio_output.cpp b/firmware/baseband/audio_output.cpp index 05d56d204..8bb1520ac 100644 --- a/firmware/baseband/audio_output.cpp +++ b/firmware/baseband/audio_output.cpp @@ -96,8 +96,8 @@ void AudioOutput::fill_audio_buffer(const buffer_f32_t& audio, const bool send_t audio_buffer.p[i].left = audio_buffer.p[i].right = sample_saturated; audio_int[i] = sample_saturated; } - if( send_to_fifo ) { - stream.write(audio_int.data(), audio_buffer.count * sizeof(audio_int[0])); + if( stream && send_to_fifo ) { + stream->write(audio_int.data(), audio_buffer.count * sizeof(audio_int[0])); } feed_audio_stats(audio); diff --git a/firmware/baseband/audio_output.hpp b/firmware/baseband/audio_output.hpp index 3837684a5..6462e061f 100644 --- a/firmware/baseband/audio_output.hpp +++ b/firmware/baseband/audio_output.hpp @@ -32,6 +32,7 @@ #include "audio_stats_collector.hpp" #include +#include class AudioOutput { public: @@ -44,6 +45,10 @@ public: void write(const buffer_s16_t& audio); void write(const buffer_f32_t& audio); + void set_stream(std::unique_ptr new_stream) { + stream = std::move(new_stream); + } + private: static constexpr float k = 32768.0f; static constexpr float ki = 1.0f / k; @@ -54,7 +59,7 @@ private: IIRBiquadFilter deemph; FMSquelch squelch; - StreamInput stream { 14 }; + std::unique_ptr stream; AudioStatsCollector audio_stats;