зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1089526 - Change speaker state. r=baku
This commit is contained in:
Родитель
83b72f4ab3
Коммит
bb8b9b94f4
|
@ -360,6 +360,13 @@ AudioChannelService::GetState(AudioChannelAgent* aAgent, bool aElementHidden)
|
|||
|
||||
data->mState = GetStateInternal(data->mChannel, CONTENT_PROCESS_ID_MAIN,
|
||||
aElementHidden, oldElementHidden);
|
||||
#ifdef MOZ_WIDGET_GONK
|
||||
bool active = AnyAudioChannelIsActive();
|
||||
for (uint32_t i = 0; i < mSpeakerManager.Length(); i++) {
|
||||
mSpeakerManager[i]->SetAudioChannelActive(active);
|
||||
}
|
||||
#endif
|
||||
|
||||
return data->mState;
|
||||
}
|
||||
|
||||
|
|
|
@ -211,12 +211,11 @@ SpeakerManager::HandleEvent(nsIDOMEvent* aEvent)
|
|||
void
|
||||
SpeakerManager::SetAudioChannelActive(bool isActive)
|
||||
{
|
||||
if (!isActive && !mVisible) {
|
||||
if (mForcespeaker) {
|
||||
SpeakerManagerService *service =
|
||||
SpeakerManagerService::GetOrCreateSpeakerManagerService();
|
||||
MOZ_ASSERT(service);
|
||||
|
||||
service->ForceSpeaker(false, mVisible);
|
||||
service->ForceSpeaker(isActive, mVisible);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -146,8 +146,9 @@ SpeakerManagerService::SetAudioChannelActive(bool aIsActive)
|
|||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
SpeakerManagerService::Observe(nsISupports* aSubject, const char*
|
||||
aTopic, const char16_t* aData)
|
||||
SpeakerManagerService::Observe(nsISupports* aSubject,
|
||||
const char* aTopic,
|
||||
const char16_t* aData)
|
||||
{
|
||||
if (!strcmp(aTopic, "ipc:content-shutdown")) {
|
||||
nsCOMPtr<nsIPropertyBag2> props = do_QueryInterface(aSubject);
|
||||
|
|
Загрузка…
Ссылка в новой задаче