Title: [229479] trunk/Source/WebCore
Revision
229479
Author
[email protected]
Date
2018-03-09 13:14:58 -0800 (Fri, 09 Mar 2018)

Log Message

Cannot change audio input source device
https://bugs.webkit.org/show_bug.cgi?id=175975
<rdar://problem/34073589>

Reviewed by Eric Carlson.

Covered by manually testing https://webrtc.github.io/samples/src/content/devices/input-output/ with a USB web cam.

* platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioSharedUnit::setCaptureDeviceID):
(WebCore::CoreAudioCaptureSource::CoreAudioCaptureSource):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (229478 => 229479)


--- trunk/Source/WebCore/ChangeLog	2018-03-09 21:04:03 UTC (rev 229478)
+++ trunk/Source/WebCore/ChangeLog	2018-03-09 21:14:58 UTC (rev 229479)
@@ -1,3 +1,17 @@
+2018-03-09  Youenn Fablet  <[email protected]>
+
+        Cannot change audio input source device
+        https://bugs.webkit.org/show_bug.cgi?id=175975
+        <rdar://problem/34073589>
+
+        Reviewed by Eric Carlson.
+
+        Covered by manually testing https://webrtc.github.io/samples/src/content/devices/input-output/ with a USB web cam.
+
+        * platform/mediastream/mac/CoreAudioCaptureSource.cpp:
+        (WebCore::CoreAudioSharedUnit::setCaptureDeviceID):
+        (WebCore::CoreAudioCaptureSource::CoreAudioCaptureSource):
+
 2018-03-09  Jer Noble  <[email protected]>
 
         Add new CSS env constants for use with fullscreen

Modified: trunk/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp (229478 => 229479)


--- trunk/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp	2018-03-09 21:04:03 UTC (rev 229478)
+++ trunk/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp	2018-03-09 21:14:58 UTC (rev 229479)
@@ -102,6 +102,8 @@
 
     bool hasAudioUnit() const { return m_ioUnit; }
 
+    void setCaptureDeviceID(uint32_t);
+
 private:
     OSStatus configureSpeakerProc();
     OSStatus configureMicrophoneProc();
@@ -195,6 +197,19 @@
     });
 }
 
+void CoreAudioSharedUnit::setCaptureDeviceID(uint32_t captureDeviceID)
+{
+#if PLATFORM(MAC)
+    if (m_captureDeviceID == captureDeviceID)
+        return;
+
+    m_captureDeviceID = captureDeviceID;
+    reconfigureAudioUnit();
+#else
+    UNUSED_PARAM(captureDeviceID);
+#endif
+}
+
 void CoreAudioSharedUnit::addEchoCancellationSource(AudioSampleDataSource& source)
 {
     if (!source.setOutputFormat(m_speakerProcFormat)) {
@@ -762,6 +777,7 @@
     , m_captureDeviceID(persistentID)
 {
     auto& unit = CoreAudioSharedUnit::singleton();
+    unit.setCaptureDeviceID(m_captureDeviceID);
 
     initializeEchoCancellation(unit.enableEchoCancellation());
     initializeSampleRate(unit.sampleRate());
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to