mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	core: Properly std::move things around
This commit is contained in:
		
							parent
							
								
									06a0d86e9c
								
							
						
					
					
						commit
						3c6765e87c
					
				
					 8 changed files with 16 additions and 15 deletions
				
			
		|  | @ -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); | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue