core: Properly std::move things around
This commit is contained in:
parent
06a0d86e9c
commit
3c6765e87c
|
@ -38,14 +38,14 @@ void DspInterface::EnableStretching(bool enable) {
|
|||
perform_time_stretching = enable;
|
||||
}
|
||||
|
||||
void DspInterface::OutputFrame(StereoFrame16& frame) {
|
||||
void DspInterface::OutputFrame(StereoFrame16 frame) {
|
||||
if (!sink)
|
||||
return;
|
||||
|
||||
fifo.Push(frame.data(), frame.size());
|
||||
|
||||
if (Core::System::GetInstance().VideoDumper().IsDumping()) {
|
||||
Core::System::GetInstance().VideoDumper().AddAudioFrame(frame);
|
||||
Core::System::GetInstance().VideoDumper().AddAudioFrame(std::move(frame));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -56,7 +56,7 @@ void DspInterface::OutputSample(std::array<s16, 2> sample) {
|
|||
fifo.Push(&sample, 1);
|
||||
|
||||
if (Core::System::GetInstance().VideoDumper().IsDumping()) {
|
||||
Core::System::GetInstance().VideoDumper().AddAudioSample(sample);
|
||||
Core::System::GetInstance().VideoDumper().AddAudioSample(std::move(sample));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -100,7 +100,7 @@ public:
|
|||
void EnableStretching(bool enable);
|
||||
|
||||
protected:
|
||||
void OutputFrame(StereoFrame16& frame);
|
||||
void OutputFrame(StereoFrame16 frame);
|
||||
void OutputSample(std::array<s16, 2> sample);
|
||||
|
||||
private:
|
||||
|
|
|
@ -400,7 +400,7 @@ bool DspHle::Impl::Tick() {
|
|||
// shared memory region)
|
||||
current_frame = GenerateCurrentFrame();
|
||||
|
||||
parent.OutputFrame(current_frame);
|
||||
parent.OutputFrame(std::move(current_frame));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -483,7 +483,8 @@ DspLle::DspLle(Memory::MemorySystem& memory, bool multithread)
|
|||
*memory.GetFCRAMPointer(address - Memory::FCRAM_PADDR) = value;
|
||||
};
|
||||
impl->teakra.SetAHBMCallback(ahbm);
|
||||
impl->teakra.SetAudioCallback([this](std::array<s16, 2> sample) { OutputSample(sample); });
|
||||
impl->teakra.SetAudioCallback(
|
||||
[this](std::array<s16, 2> sample) { OutputSample(std::move(sample)); });
|
||||
}
|
||||
DspLle::~DspLle() = default;
|
||||
|
||||
|
|
|
@ -30,8 +30,8 @@ public:
|
|||
virtual ~Backend();
|
||||
virtual bool StartDumping(const std::string& path, const std::string& format,
|
||||
const Layout::FramebufferLayout& layout) = 0;
|
||||
virtual void AddVideoFrame(const VideoFrame& frame) = 0;
|
||||
virtual void AddAudioFrame(const AudioCore::StereoFrame16& frame) = 0;
|
||||
virtual void AddVideoFrame(VideoFrame frame) = 0;
|
||||
virtual void AddAudioFrame(AudioCore::StereoFrame16 frame) = 0;
|
||||
virtual void AddAudioSample(const std::array<s16, 2>& sample) = 0;
|
||||
virtual void StopDumping() = 0;
|
||||
virtual bool IsDumping() const = 0;
|
||||
|
@ -45,8 +45,8 @@ public:
|
|||
const Layout::FramebufferLayout& /*layout*/) override {
|
||||
return false;
|
||||
}
|
||||
void AddVideoFrame(const VideoFrame& /*frame*/) override {}
|
||||
void AddAudioFrame(const AudioCore::StereoFrame16& /*frame*/) override {}
|
||||
void AddVideoFrame(VideoFrame /*frame*/) override {}
|
||||
void AddAudioFrame(AudioCore::StereoFrame16 /*frame*/) override {}
|
||||
void AddAudioSample(const std::array<s16, 2>& /*sample*/) override {}
|
||||
void StopDumping() override {}
|
||||
bool IsDumping() const override {
|
||||
|
|
|
@ -450,13 +450,13 @@ bool FFmpegBackend::StartDumping(const std::string& path, const std::string& for
|
|||
return true;
|
||||
}
|
||||
|
||||
void FFmpegBackend::AddVideoFrame(const VideoFrame& frame) {
|
||||
void FFmpegBackend::AddVideoFrame(VideoFrame frame) {
|
||||
event1.Wait();
|
||||
video_frame_buffers[next_buffer] = std::move(frame);
|
||||
event2.Set();
|
||||
}
|
||||
|
||||
void FFmpegBackend::AddAudioFrame(const AudioCore::StereoFrame16& frame) {
|
||||
void FFmpegBackend::AddAudioFrame(AudioCore::StereoFrame16 frame) {
|
||||
std::array<std::array<s16, 160>, 2> refactored_frame;
|
||||
for (std::size_t i = 0; i < frame.size(); i++) {
|
||||
refactored_frame[0][i] = frame[i][0];
|
||||
|
|
|
@ -163,8 +163,8 @@ public:
|
|||
~FFmpegBackend() override;
|
||||
bool StartDumping(const std::string& path, const std::string& format,
|
||||
const Layout::FramebufferLayout& layout) override;
|
||||
void AddVideoFrame(const VideoFrame& frame) override;
|
||||
void AddAudioFrame(const AudioCore::StereoFrame16& frame) override;
|
||||
void AddVideoFrame(VideoFrame frame) override;
|
||||
void AddAudioFrame(AudioCore::StereoFrame16 frame) override;
|
||||
void AddAudioSample(const std::array<s16, 2>& sample) override;
|
||||
void StopDumping() override;
|
||||
bool IsDumping() const override;
|
||||
|
|
|
@ -67,7 +67,7 @@ void FrameDumperOpenGL::PresentLoop() {
|
|||
glBindBuffer(GL_PIXEL_PACK_BUFFER, pbos[next_pbo].handle);
|
||||
GLubyte* pixels = static_cast<GLubyte*>(glMapBuffer(GL_PIXEL_PACK_BUFFER, GL_READ_ONLY));
|
||||
VideoDumper::VideoFrame frame_data{layout.width, layout.height, pixels};
|
||||
video_dumper.AddVideoFrame(frame_data);
|
||||
video_dumper.AddVideoFrame(std::move(frame_data));
|
||||
glUnmapBuffer(GL_PIXEL_PACK_BUFFER);
|
||||
glBindBuffer(GL_PIXEL_PACK_BUFFER, 0);
|
||||
|
||||
|
|
Reference in New Issue