mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	Merge branch 'master' into feature/savestates-2
This commit is contained in:
		
						commit
						828f88d20a
					
				
					 76 changed files with 3507 additions and 1369 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)); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -101,7 +101,7 @@ public: | |||
|     void EnableStretching(bool enable); | ||||
| 
 | ||||
| protected: | ||||
|     void OutputFrame(StereoFrame16& frame); | ||||
|     void OutputFrame(StereoFrame16 frame); | ||||
|     void OutputSample(std::array<s16, 2> sample); | ||||
| 
 | ||||
| private: | ||||
|  |  | |||
|  | @ -431,7 +431,7 @@ bool DspHle::Impl::Tick() { | |||
|     // shared memory region)
 | ||||
|     current_frame = GenerateCurrentFrame(); | ||||
| 
 | ||||
|     parent.OutputFrame(current_frame); | ||||
|     parent.OutputFrame(std::move(current_frame)); | ||||
| 
 | ||||
|     return true; | ||||
| } | ||||
|  |  | |||
|  | @ -289,7 +289,9 @@ void Source::GenerateFrame() { | |||
|             break; | ||||
|         } | ||||
|     } | ||||
|     state.next_sample_number += static_cast<u32>(frame_position); | ||||
|     // TODO(jroweboy): Keep track of frame_position independently so that it doesn't lose precision
 | ||||
|     // over time
 | ||||
|     state.next_sample_number += static_cast<u32>(frame_position * state.rate_multiplier); | ||||
| 
 | ||||
|     state.filters.ProcessFrame(current_frame); | ||||
| } | ||||
|  |  | |||
|  | @ -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; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue