audio_renderer: resolve adsp thread deadlock shutdown

This commit is contained in:
Liam 2023-06-04 12:56:40 -04:00
parent eb15ff27dd
commit 16bd50f9b4
4 changed files with 12 additions and 10 deletions

View file

@ -13,6 +13,7 @@
#include "audio_core/common/common.h"
#include "common/common_types.h"
#include "common/polyfill_thread.h"
#include "common/reader_writer_queue.h"
#include "common/ring_buffer.h"
#include "common/thread.h"
@ -210,7 +211,7 @@ public:
/**
* Waits for free space in the sample ring buffer
*/
void WaitFreeSpace();
void WaitFreeSpace(std::stop_token stop_token);
protected:
/// Core system
@ -252,7 +253,7 @@ private:
/// Set via IAudioDevice service calls
f32 device_volume{1.0f};
/// Signalled when ring buffer entries are consumed
std::condition_variable release_cv;
std::condition_variable_any release_cv;
std::mutex release_mutex;
};