audio_core: Dump audio frames and samples
This is tested to work with all three current methods - HLE, LLE and multithread LLE.
This commit is contained in:
		| @@ -7,6 +7,8 @@ | |||||||
| #include "audio_core/sink.h" | #include "audio_core/sink.h" | ||||||
| #include "audio_core/sink_details.h" | #include "audio_core/sink_details.h" | ||||||
| #include "common/assert.h" | #include "common/assert.h" | ||||||
|  | #include "core/core.h" | ||||||
|  | #include "core/dumping/backend.h" | ||||||
| #include "core/settings.h" | #include "core/settings.h" | ||||||
|  |  | ||||||
| namespace AudioCore { | namespace AudioCore { | ||||||
| @@ -41,6 +43,10 @@ void DspInterface::OutputFrame(StereoFrame16& frame) { | |||||||
|         return; |         return; | ||||||
|  |  | ||||||
|     fifo.Push(frame.data(), frame.size()); |     fifo.Push(frame.data(), frame.size()); | ||||||
|  |  | ||||||
|  |     if (Core::System::GetInstance().VideoDumper().IsDumping()) { | ||||||
|  |         Core::System::GetInstance().VideoDumper().AddAudioFrame(frame); | ||||||
|  |     } | ||||||
| } | } | ||||||
|  |  | ||||||
| void DspInterface::OutputSample(std::array<s16, 2> sample) { | void DspInterface::OutputSample(std::array<s16, 2> sample) { | ||||||
| @@ -48,6 +54,10 @@ void DspInterface::OutputSample(std::array<s16, 2> sample) { | |||||||
|         return; |         return; | ||||||
|  |  | ||||||
|     fifo.Push(&sample, 1); |     fifo.Push(&sample, 1); | ||||||
|  |  | ||||||
|  |     if (Core::System::GetInstance().VideoDumper().IsDumping()) { | ||||||
|  |         Core::System::GetInstance().VideoDumper().AddAudioSample(sample); | ||||||
|  |     } | ||||||
| } | } | ||||||
|  |  | ||||||
| void DspInterface::OutputCallback(s16* buffer, std::size_t num_frames) { | void DspInterface::OutputCallback(s16* buffer, std::size_t num_frames) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 zhupengfei
					zhupengfei