This allows us to shut down the IAudioSessionManager after Cubeb has stopped, so there shouldn't be STA apartment deadlock issues with it. IAudioSessionManager's shutdown always requires the STA. This patch eliminates MTA threads involvement at shutdown, which was previously needed for thread safety. We keep other operations on MTA (background) threads, for performance. This also removes a lot of unused functionality. AudioSession hasn't been needed outside of the parent process since audio remoting landed. Differential Revision: https://phabricator.services.mozilla.com/D251773
21 lines
641 B
C++
21 lines
641 B
C++
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "nsString.h"
|
|
|
|
namespace mozilla {
|
|
namespace widget {
|
|
|
|
// Create the audio session. Must only be called in the main (parent) process.
|
|
void CreateAudioSession();
|
|
|
|
// Destroy the audio session. Must only be called in the main (parent)
|
|
// process and during app shutdown.
|
|
void DestroyAudioSession();
|
|
|
|
} // namespace widget
|
|
} // namespace mozilla
|