Signal buffer event on audio in/out system stop, and force remove all registered audio buffers
This commit is contained in:
		| @@ -23,7 +23,6 @@ System::~System() { | ||||
| void System::Finalize() { | ||||
|     Stop(); | ||||
|     session->Finalize(); | ||||
|     buffer_event->Signal(); | ||||
| } | ||||
|  | ||||
| void System::StartSession() { | ||||
| @@ -102,6 +101,10 @@ Result System::Stop() { | ||||
|     if (state == State::Started) { | ||||
|         session->Stop(); | ||||
|         session->SetVolume(0.0f); | ||||
|         session->ClearBuffers(); | ||||
|         if (buffers.ReleaseBuffers(system.CoreTiming(), *session, true)) { | ||||
|             buffer_event->Signal(); | ||||
|         } | ||||
|         state = State::Stopped; | ||||
|     } | ||||
|  | ||||
| @@ -138,7 +141,7 @@ void System::RegisterBuffers() { | ||||
| } | ||||
|  | ||||
| void System::ReleaseBuffers() { | ||||
|     bool signal{buffers.ReleaseBuffers(system.CoreTiming(), *session)}; | ||||
|     bool signal{buffers.ReleaseBuffers(system.CoreTiming(), *session, false)}; | ||||
|  | ||||
|     if (signal) { | ||||
|         // Signal if any buffer was released, or if none are registered, we need more. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user