Title: [288562] branches/safari-613-branch/Source/WebCore
- Revision
- 288562
- Author
- [email protected]
- Date
- 2022-01-25 09:48:21 -0800 (Tue, 25 Jan 2022)
Log Message
Cherry-pick r286669. rdar://problem/81618758
[iOS] Always set audio session preferred input after changing the category
https://bugs.webkit.org/show_bug.cgi?id=232626
rdar://81618758
Reviewed by Youenn Fablet.
* platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::sessionCaptureConfigurationChanged): Schedule
a session update so the category and/or preferred input is setup.
* platform/audio/PlatformMediaSessionManager.h:
* platform/audio/ios/AudioSessionIOS.h:
* platform/audio/ios/AudioSessionIOS.mm:
(WebCore::AudioSessionIOS::setCategory): Don't set the audio session category unless
something has changed. Ask the AVAudioSessionCaptureDeviceManager to set the preferred
capture device if that has changed.
* platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.h:
* platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm:
(WebCore::AVAudioSessionCaptureDeviceManager::setPreferredAudioSessionDeviceUID):
Remember the device UID if the configuration is successful.
(WebCore::AVAudioSessionCaptureDeviceManager::configurePreferredAudioCaptureDevice):
Reset the preferred device if necessary.
(WebCore::AVAudioSessionCaptureDeviceManager::setPreferredAudioSessionDeviceUIDInternal):
Refactored from setPreferredAudioSessionDeviceUID.
* platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioSharedUnit::captureDeviceChanged):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286669 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Modified Paths
Diff
Modified: branches/safari-613-branch/Source/WebCore/ChangeLog (288561 => 288562)
--- branches/safari-613-branch/Source/WebCore/ChangeLog 2022-01-25 17:48:16 UTC (rev 288561)
+++ branches/safari-613-branch/Source/WebCore/ChangeLog 2022-01-25 17:48:21 UTC (rev 288562)
@@ -1,5 +1,71 @@
2022-01-24 Russell Epstein <[email protected]>
+ Cherry-pick r286669. rdar://problem/81618758
+
+ [iOS] Always set audio session preferred input after changing the category
+ https://bugs.webkit.org/show_bug.cgi?id=232626
+ rdar://81618758
+
+ Reviewed by Youenn Fablet.
+
+ * platform/audio/PlatformMediaSessionManager.cpp:
+ (WebCore::PlatformMediaSessionManager::sessionCaptureConfigurationChanged): Schedule
+ a session update so the category and/or preferred input is setup.
+ * platform/audio/PlatformMediaSessionManager.h:
+
+ * platform/audio/ios/AudioSessionIOS.h:
+ * platform/audio/ios/AudioSessionIOS.mm:
+ (WebCore::AudioSessionIOS::setCategory): Don't set the audio session category unless
+ something has changed. Ask the AVAudioSessionCaptureDeviceManager to set the preferred
+ capture device if that has changed.
+
+ * platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.h:
+ * platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm:
+ (WebCore::AVAudioSessionCaptureDeviceManager::setPreferredAudioSessionDeviceUID):
+ Remember the device UID if the configuration is successful.
+ (WebCore::AVAudioSessionCaptureDeviceManager::configurePreferredAudioCaptureDevice):
+ Reset the preferred device if necessary.
+ (WebCore::AVAudioSessionCaptureDeviceManager::setPreferredAudioSessionDeviceUIDInternal):
+ Refactored from setPreferredAudioSessionDeviceUID.
+
+ * platform/mediastream/mac/CoreAudioCaptureSource.cpp:
+ (WebCore::CoreAudioSharedUnit::captureDeviceChanged):
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286669 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2021-12-08 Eric Carlson <[email protected]>
+
+ [iOS] Always set audio session preferred input after changing the category
+ https://bugs.webkit.org/show_bug.cgi?id=232626
+ rdar://81618758
+
+ Reviewed by Youenn Fablet.
+
+ * platform/audio/PlatformMediaSessionManager.cpp:
+ (WebCore::PlatformMediaSessionManager::sessionCaptureConfigurationChanged): Schedule
+ a session update so the category and/or preferred input is setup.
+ * platform/audio/PlatformMediaSessionManager.h:
+
+ * platform/audio/ios/AudioSessionIOS.h:
+ * platform/audio/ios/AudioSessionIOS.mm:
+ (WebCore::AudioSessionIOS::setCategory): Don't set the audio session category unless
+ something has changed. Ask the AVAudioSessionCaptureDeviceManager to set the preferred
+ capture device if that has changed.
+
+ * platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.h:
+ * platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm:
+ (WebCore::AVAudioSessionCaptureDeviceManager::setPreferredAudioSessionDeviceUID):
+ Remember the device UID if the configuration is successful.
+ (WebCore::AVAudioSessionCaptureDeviceManager::configurePreferredAudioCaptureDevice):
+ Reset the preferred device if necessary.
+ (WebCore::AVAudioSessionCaptureDeviceManager::setPreferredAudioSessionDeviceUIDInternal):
+ Refactored from setPreferredAudioSessionDeviceUID.
+
+ * platform/mediastream/mac/CoreAudioCaptureSource.cpp:
+ (WebCore::CoreAudioSharedUnit::captureDeviceChanged):
+
+2022-01-24 Russell Epstein <[email protected]>
+
Revert r282746. rdar://problem/87732806
2022-01-24 Alan Coon <[email protected]>
Modified: branches/safari-613-branch/Source/WebCore/platform/audio/ios/AudioSessionIOS.mm (288561 => 288562)
--- branches/safari-613-branch/Source/WebCore/platform/audio/ios/AudioSessionIOS.mm 2022-01-25 17:48:16 UTC (rev 288561)
+++ branches/safari-613-branch/Source/WebCore/platform/audio/ios/AudioSessionIOS.mm 2022-01-25 17:48:21 UTC (rev 288562)
@@ -244,7 +244,7 @@
m_lastSetPreferredAudioDeviceUID = emptyString();
#endif
- AVAudioSession *session = [PAL::getAVAudioSessionClass() sharedInstance];
+ auto *session = [PAL::getAVAudioSessionClass() sharedInstance];
auto *currentCategory = [session category];
auto currentOptions = [session categoryOptions];
auto currentPolicy = [session routeSharingPolicy];
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes