From 811a673b0da6fa9f5c61a34645e6f3f2626a4a5f Mon Sep 17 00:00:00 2001 From: Green Sky Date: Fri, 19 Dec 2025 16:06:50 +0100 Subject: [PATCH] correctly move buffer other fixes --- src/frame_streams/audio_stream2.hpp | 18 ++++++++++++++++++ src/frame_streams/locked_frame_stream.hpp | 2 +- .../sdl/sdl_audio2_frame_stream2.cpp | 2 +- src/main.cpp | 4 +++- 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/frame_streams/audio_stream2.hpp b/src/frame_streams/audio_stream2.hpp index 1717358..d2ea32b 100644 --- a/src/frame_streams/audio_stream2.hpp +++ b/src/frame_streams/audio_stream2.hpp @@ -24,6 +24,24 @@ struct AudioFrame2 { Span // non owning variant, for direct consumption > buffer; + AudioFrame2(void) = default; + AudioFrame2(const AudioFrame2&) = default; + AudioFrame2(AudioFrame2&& other) : + sample_rate(other.sample_rate), + channels(other.channels), + buffer(std::move(other.buffer)) + {} + AudioFrame2(uint32_t sample_rate_, size_t channels_, const std::variant, Span>& buffer_) : + sample_rate(sample_rate_), + channels(channels_), + buffer(buffer_) + {} + AudioFrame2(uint32_t sample_rate_, size_t channels_, std::variant, Span>&& buffer_) : + sample_rate(sample_rate_), + channels(channels_), + buffer(std::move(buffer_)) + {} + // helpers Span getSpan(void) const { if (std::holds_alternative>(buffer)) { diff --git a/src/frame_streams/locked_frame_stream.hpp b/src/frame_streams/locked_frame_stream.hpp index 5a09569..150d6ed 100644 --- a/src/frame_streams/locked_frame_stream.hpp +++ b/src/frame_streams/locked_frame_stream.hpp @@ -28,7 +28,7 @@ struct LockedFrameStream2 : public FrameStream2I { FrameType new_frame = std::move(_frames.front()); _frames.pop_front(); - return std::move(new_frame); + return new_frame; } bool push(const FrameType& value) { diff --git a/src/frame_streams/sdl/sdl_audio2_frame_stream2.cpp b/src/frame_streams/sdl/sdl_audio2_frame_stream2.cpp index b70e420..56f941c 100644 --- a/src/frame_streams/sdl/sdl_audio2_frame_stream2.cpp +++ b/src/frame_streams/sdl/sdl_audio2_frame_stream2.cpp @@ -7,7 +7,7 @@ #include "../audio_stream_pop_reframer.hpp" // "thin" wrapper around sdl audio streams -// we dont needs to get fance, as they already provide everything we need +// we dont needs to get fancy, as they already provide everything we need struct SDLAudio2StreamReader : public AudioFrame2Stream2I { std::unique_ptr _stream; diff --git a/src/main.cpp b/src/main.cpp index c2f7610..6c70338 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -15,11 +15,13 @@ #include "./start_screen.hpp" +#ifdef __ANDROID__ #include +#endif + #include #include #include -#include #include #ifdef TOMATO_BREAKPAD