Fix for release build optimizations

This commit is contained in:
2021-12-22 10:14:51 -05:00
parent 18aae0cef3
commit a0eb5e3fbc

View File

@@ -16,11 +16,15 @@ namespace WorkIndicator
public static event MicrophoneInUseChangedDelegate MicrophoneInUseChanged;
private static Thread _thread;
private static readonly List<AudioSessionManager2> _sessionManagers = new List<AudioSessionManager2>();
public static void Start()
{
_manualResetEvent = new ManualResetEvent(false);
var thread = new Thread(delegate ()
_thread = new Thread(delegate ()
{
var deviceEnumerator = new MMDeviceEnumerator();
@@ -28,6 +32,8 @@ namespace WorkIndicator
{
var sessionManager = AudioSessionManager2.FromMMDevice(device);
_sessionManagers.Add(sessionManager);
var sessionEnumerator = sessionManager.GetSessionEnumerator();
sessionManager.SessionCreated += (sessionSender, sessionCreatedEventArgs) => HandleDeviceSession(device, sessionCreatedEventArgs.NewSession);
@@ -41,8 +47,8 @@ namespace WorkIndicator
_manualResetEvent.WaitOne();
});
thread.SetApartmentState(ApartmentState.MTA);
thread.Start();
_thread.SetApartmentState(ApartmentState.MTA);
_thread.Start();
}
private static void HandleDeviceSession(MMDevice device, AudioSessionControl audioSessionControl)
@@ -60,6 +66,8 @@ namespace WorkIndicator
public static void Stop()
{
_sessionManagers.Clear();
_manualResetEvent?.Set();
}