diff options
| author | liamwhite <liamwhite@users.noreply.github.com> | 2022-12-17 10:21:19 -0500 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-17 10:21:19 -0500 | 
| commit | fa10374d39effc79b5b9ed789bf873030cb08d7f (patch) | |
| tree | 0e4cac7d6e87771e8f18c0d3bba7d8e3cddbb2c7 /src/audio_core/out | |
| parent | 98135dee16390b2d07c138e2e2dd66440b6f60a5 (diff) | |
| parent | 6a56f42f5d94e2be405a736a74b86ffe3ab1b37b (diff) | |
Merge pull request #9455 from Kelebek1/audio_signal
[audio_core] Signal buffer event on audio in/out system stop
Diffstat (limited to 'src/audio_core/out')
| -rw-r--r-- | src/audio_core/out/audio_out_system.cpp | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/src/audio_core/out/audio_out_system.cpp b/src/audio_core/out/audio_out_system.cpp index a66208ed9..e096a1dac 100644 --- a/src/audio_core/out/audio_out_system.cpp +++ b/src/audio_core/out/audio_out_system.cpp @@ -24,7 +24,6 @@ System::~System() {  void System::Finalize() {      Stop();      session->Finalize(); -    buffer_event->Signal();  }  std::string_view System::GetDefaultOutputDeviceName() const { @@ -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.          buffer_event->Signal();  | 
