From a231fd1c8afedbeb14b0bc77d76bad61db986059 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Thu, 2 May 2024 17:06:25 +1000 Subject: Replace cpp::span shim with std::span --- src/audio/CMakeLists.txt | 2 +- src/audio/audio_converter.cpp | 8 ++++---- src/audio/audio_decoder.cpp | 3 +-- src/audio/audio_source.cpp | 2 +- src/audio/fatfs_audio_input.cpp | 8 +++++--- src/audio/fatfs_source.cpp | 2 +- src/audio/include/audio_converter.hpp | 12 ++++++------ src/audio/include/audio_decoder.hpp | 2 +- src/audio/include/audio_source.hpp | 2 +- src/audio/include/fatfs_source.hpp | 2 +- src/audio/include/readahead_source.hpp | 2 +- src/audio/include/resample.hpp | 8 ++++---- src/audio/readahead_source.cpp | 2 +- src/audio/resample.cpp | 4 ++-- 14 files changed, 30 insertions(+), 29 deletions(-) (limited to 'src/audio') diff --git a/src/audio/CMakeLists.txt b/src/audio/CMakeLists.txt index 8ed5efbb..635320f4 100644 --- a/src/audio/CMakeLists.txt +++ b/src/audio/CMakeLists.txt @@ -8,7 +8,7 @@ idf_component_register( "fatfs_source.cpp" "bt_audio_output.cpp" "readahead_source.cpp" "audio_source.cpp" INCLUDE_DIRS "include" - REQUIRES "codecs" "drivers" "cbor" "result" "tasks" "span" "memory" "tinyfsm" + REQUIRES "codecs" "drivers" "cbor" "result" "tasks" "memory" "tinyfsm" "database" "system_fsm" "speexdsp" "millershuffle" "libcppbor") target_compile_options(${COMPONENT_LIB} PRIVATE ${EXTRA_WARNINGS}) diff --git a/src/audio/audio_converter.cpp b/src/audio/audio_converter.cpp index eb1cde80..d2edb0b3 100644 --- a/src/audio/audio_converter.cpp +++ b/src/audio/audio_converter.cpp @@ -76,7 +76,7 @@ auto SampleConverter::beginStream(std::shared_ptr track) -> void { xQueueSend(commands_, &args, portMAX_DELAY); } -auto SampleConverter::continueStream(cpp::span input) -> void { +auto SampleConverter::continueStream(std::span input) -> void { Args args{ .track = nullptr, .samples_available = input.size(), @@ -182,7 +182,7 @@ auto SampleConverter::handleContinueStream(size_t samples_available) -> void { } } -auto SampleConverter::handleSamples(cpp::span input) -> size_t { +auto SampleConverter::handleSamples(std::span input) -> size_t { if (source_format_ == target_format_) { // The happiest possible case: the input format matches the output // format already. @@ -192,7 +192,7 @@ auto SampleConverter::handleSamples(cpp::span input) -> size_t { size_t samples_used = 0; while (samples_used < input.size()) { - cpp::span output_source; + std::span output_source; if (source_format_.sample_rate != target_format_.sample_rate) { if (resampler_ == nullptr) { ESP_LOGI(kTag, "creating new resampler for %lu -> %lu", @@ -245,7 +245,7 @@ auto SampleConverter::handleEndStream() -> void { events::Audio().Dispatch(internal::StreamEnded{}); } -auto SampleConverter::sendToSink(cpp::span samples) -> void { +auto SampleConverter::sendToSink(std::span samples) -> void { // Update the number of samples sunk so far *before* actually sinking them, // since writing to the stream buffer will block when the buffer gets full. samples_sunk_ += samples.size(); diff --git a/src/audio/audio_decoder.cpp b/src/audio/audio_decoder.cpp index 90c69c16..baf17e7a 100644 --- a/src/audio/audio_decoder.cpp +++ b/src/audio/audio_decoder.cpp @@ -5,7 +5,6 @@ */ #include "audio_decoder.hpp" -#include #include #include @@ -17,6 +16,7 @@ #include #include #include +#include #include #include "cbor.h" @@ -28,7 +28,6 @@ #include "freertos/queue.h" #include "freertos/ringbuf.h" #include "i2s_dac.hpp" -#include "span.hpp" #include "audio_converter.hpp" #include "audio_events.hpp" diff --git a/src/audio/audio_source.cpp b/src/audio/audio_source.cpp index d9e8e04a..ee2f617f 100644 --- a/src/audio/audio_source.cpp +++ b/src/audio/audio_source.cpp @@ -20,7 +20,7 @@ auto TaggedStream::tags() -> std::shared_ptr { return tags_; } -auto TaggedStream::Read(cpp::span dest) -> ssize_t { +auto TaggedStream::Read(std::span dest) -> ssize_t { return wrapped_->Read(dest); } diff --git a/src/audio/fatfs_audio_input.cpp b/src/audio/fatfs_audio_input.cpp index 29d32390..e5fb3b21 100644 --- a/src/audio/fatfs_audio_input.cpp +++ b/src/audio/fatfs_audio_input.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -23,7 +24,6 @@ #include "freertos/portmacro.h" #include "freertos/projdefs.h" #include "readahead_source.hpp" -#include "span.hpp" #include "audio_events.hpp" #include "audio_fsm.hpp" @@ -61,7 +61,8 @@ auto FatfsAudioInput::SetPath(std::optional path) -> void { } } -auto FatfsAudioInput::SetPath(const std::string& path,uint32_t offset) -> void { +auto FatfsAudioInput::SetPath(const std::string& path, uint32_t offset) + -> void { std::lock_guard guard{new_stream_mutex_}; if (OpenFile(path, offset)) { has_new_stream_ = true; @@ -102,7 +103,8 @@ auto FatfsAudioInput::NextStream() -> std::shared_ptr { } } -auto FatfsAudioInput::OpenFile(const std::string& path,uint32_t offset) -> bool { +auto FatfsAudioInput::OpenFile(const std::string& path, uint32_t offset) + -> bool { ESP_LOGI(kTag, "opening file %s", path.c_str()); auto tags = tag_parser_.ReadAndParseTags(path); diff --git a/src/audio/fatfs_source.cpp b/src/audio/fatfs_source.cpp index 72c3940d..dccdd581 100644 --- a/src/audio/fatfs_source.cpp +++ b/src/audio/fatfs_source.cpp @@ -33,7 +33,7 @@ FatfsSource::~FatfsSource() { f_close(file_.get()); } -auto FatfsSource::Read(cpp::span dest) -> ssize_t { +auto FatfsSource::Read(std::span dest) -> ssize_t { auto lock = drivers::acquire_spi(); if (f_eof(file_.get())) { return 0; diff --git a/src/audio/include/audio_converter.hpp b/src/audio/include/audio_converter.hpp index 232b5d8e..163c6836 100644 --- a/src/audio/include/audio_converter.hpp +++ b/src/audio/include/audio_converter.hpp @@ -33,7 +33,7 @@ class SampleConverter { auto SetOutput(std::shared_ptr) -> void; auto beginStream(std::shared_ptr) -> void; - auto continueStream(cpp::span) -> void; + auto continueStream(std::span) -> void; auto endStream() -> void; private: @@ -43,9 +43,9 @@ class SampleConverter { auto handleContinueStream(size_t samples_available) -> void; auto handleEndStream() -> void; - auto handleSamples(cpp::span) -> size_t; + auto handleSamples(std::span) -> size_t; - auto sendToSink(cpp::span) -> void; + auto sendToSink(std::span) -> void; struct Args { std::shared_ptr* track; @@ -57,10 +57,10 @@ class SampleConverter { std::unique_ptr resampler_; StreamBufferHandle_t source_; - cpp::span input_buffer_; - cpp::span input_buffer_as_bytes_; + std::span input_buffer_; + std::span input_buffer_as_bytes_; - cpp::span resampled_buffer_; + std::span resampled_buffer_; std::shared_ptr sink_; IAudioOutput::Format source_format_; diff --git a/src/audio/include/audio_decoder.hpp b/src/audio/include/audio_decoder.hpp index 89f0f43c..8e955f74 100644 --- a/src/audio/include/audio_decoder.hpp +++ b/src/audio/include/audio_decoder.hpp @@ -50,7 +50,7 @@ class Decoder { std::optional current_format_; std::optional current_sink_format_; - cpp::span codec_buffer_; + std::span codec_buffer_; }; } // namespace audio diff --git a/src/audio/include/audio_source.hpp b/src/audio/include/audio_source.hpp index b38acd7a..f6a34300 100644 --- a/src/audio/include/audio_source.hpp +++ b/src/audio/include/audio_source.hpp @@ -23,7 +23,7 @@ class TaggedStream : public codecs::IStream { auto tags() -> std::shared_ptr; - auto Read(cpp::span dest) -> ssize_t override; + auto Read(std::span dest) -> ssize_t override; auto CanSeek() -> bool override; diff --git a/src/audio/include/fatfs_source.hpp b/src/audio/include/fatfs_source.hpp index 45ab34c6..ce9b4db8 100644 --- a/src/audio/include/fatfs_source.hpp +++ b/src/audio/include/fatfs_source.hpp @@ -26,7 +26,7 @@ class FatfsSource : public codecs::IStream { FatfsSource(codecs::StreamType, std::unique_ptr file); ~FatfsSource(); - auto Read(cpp::span dest) -> ssize_t override; + auto Read(std::span dest) -> ssize_t override; auto CanSeek() -> bool override; diff --git a/src/audio/include/readahead_source.hpp b/src/audio/include/readahead_source.hpp index 3e18a989..74a30e1b 100644 --- a/src/audio/include/readahead_source.hpp +++ b/src/audio/include/readahead_source.hpp @@ -30,7 +30,7 @@ class ReadaheadSource : public codecs::IStream { ReadaheadSource(tasks::WorkerPool&, std::unique_ptr); ~ReadaheadSource(); - auto Read(cpp::span dest) -> ssize_t override; + auto Read(std::span dest) -> ssize_t override; auto CanSeek() -> bool override; diff --git a/src/audio/include/resample.hpp b/src/audio/include/resample.hpp index a9464cb1..4d48d47f 100644 --- a/src/audio/include/resample.hpp +++ b/src/audio/include/resample.hpp @@ -7,9 +7,9 @@ #pragma once #include +#include #include -#include "span.hpp" #include "speex/speex_resampler.h" #include "sample.hpp" @@ -24,8 +24,8 @@ class Resampler { ~Resampler(); - auto Process(cpp::span input, - cpp::span output, + auto Process(std::span input, + std::span output, bool end_of_data) -> std::pair; private: @@ -34,4 +34,4 @@ class Resampler { uint8_t num_channels_; }; -} // namespace audio \ No newline at end of file +} // namespace audio diff --git a/src/audio/readahead_source.cpp b/src/audio/readahead_source.cpp index fe7ac3bd..6276907a 100644 --- a/src/audio/readahead_source.cpp +++ b/src/audio/readahead_source.cpp @@ -41,7 +41,7 @@ ReadaheadSource::~ReadaheadSource() { vStreamBufferDeleteWithCaps(buffer_); } -auto ReadaheadSource::Read(cpp::span dest) -> ssize_t { +auto ReadaheadSource::Read(std::span dest) -> ssize_t { size_t bytes_written = 0; // Fill the destination from our buffer, until either the buffer is drained // or the destination is full. diff --git a/src/audio/resample.cpp b/src/audio/resample.cpp index a3a34ee7..1e20392b 100644 --- a/src/audio/resample.cpp +++ b/src/audio/resample.cpp @@ -38,8 +38,8 @@ Resampler::~Resampler() { speex_resampler_destroy(resampler_); } -auto Resampler::Process(cpp::span input, - cpp::span output, +auto Resampler::Process(std::span input, + std::span output, bool end_of_data) -> std::pair { uint32_t samples_used = input.size() / num_channels_; uint32_t samples_produced = output.size() / num_channels_; -- cgit v1.2.3