Title: [224338] trunk/Source
Revision
224338
Author
[email protected]
Date
2017-11-02 10:00:20 -0700 (Thu, 02 Nov 2017)

Log Message

[MediaStream] audioTrack.label is always empty on macOS
https://bugs.webkit.org/show_bug.cgi?id=179175
<rdar://problem/35315438>

Reviewed by Youenn Fablet.

Source/WebCore:

* platform/mediastream/RealtimeMediaSourceSettings.h:
(WebCore::RealtimeMediaSourceSettings::label const): New.
(WebCore::RealtimeMediaSourceSettings::setLabel): Ditto.
(WebCore::RealtimeMediaSourceSettings::encode const): Encode label.
(WebCore::RealtimeMediaSourceSettings::decode): Decode label.

* platform/mediastream/mac/AVMediaCaptureSource.mm:
(WebCore::AVMediaCaptureSource::initializeSettings): Set label.

* platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioCaptureSource::settings const): Ditto.

* platform/mock/MockRealtimeMediaSource.cpp:
(WebCore::MockRealtimeMediaSource::initializeSettings): Ditto.

Source/WebKit:

* WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::createCaptureSource): Pass settings.label to Source constructor.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (224337 => 224338)


--- trunk/Source/WebCore/ChangeLog	2017-11-02 16:58:00 UTC (rev 224337)
+++ trunk/Source/WebCore/ChangeLog	2017-11-02 17:00:20 UTC (rev 224338)
@@ -1,3 +1,26 @@
+2017-11-02  Eric Carlson  <[email protected]>
+
+        [MediaStream] audioTrack.label is always empty on macOS
+        https://bugs.webkit.org/show_bug.cgi?id=179175
+        <rdar://problem/35315438>
+
+        Reviewed by Youenn Fablet.
+
+        * platform/mediastream/RealtimeMediaSourceSettings.h:
+        (WebCore::RealtimeMediaSourceSettings::label const): New.
+        (WebCore::RealtimeMediaSourceSettings::setLabel): Ditto.
+        (WebCore::RealtimeMediaSourceSettings::encode const): Encode label.
+        (WebCore::RealtimeMediaSourceSettings::decode): Decode label.
+
+        * platform/mediastream/mac/AVMediaCaptureSource.mm:
+        (WebCore::AVMediaCaptureSource::initializeSettings): Set label.
+
+        * platform/mediastream/mac/CoreAudioCaptureSource.cpp:
+        (WebCore::CoreAudioCaptureSource::settings const): Ditto.
+
+        * platform/mock/MockRealtimeMediaSource.cpp:
+        (WebCore::MockRealtimeMediaSource::initializeSettings): Ditto.
+
 2017-11-02  Chris Dumez  <[email protected]>
 
         [Service Workers] Add initial implementation for try Clear Registration / Clear Registration algorithms

Modified: trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceSettings.h (224337 => 224338)


--- trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceSettings.h	2017-11-02 16:58:00 UTC (rev 224337)
+++ trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceSettings.h	2017-11-02 17:00:20 UTC (rev 224338)
@@ -96,6 +96,9 @@
     const RealtimeMediaSourceSupportedConstraints& supportedConstraints() const { return m_supportedConstraints; }
     void setSupportedConstraints(const RealtimeMediaSourceSupportedConstraints& supportedConstraints) { m_supportedConstraints = supportedConstraints; }
 
+    const AtomicString& label() const { return m_label; }
+    void setLabel(const AtomicString& label) { m_label = label; }
+
     template<class Encoder> void encode(Encoder&) const;
     template<class Decoder> static bool decode(Decoder&, RealtimeMediaSourceSettings&);
 
@@ -112,6 +115,7 @@
 
     AtomicString m_deviceId;
     AtomicString m_groupId;
+    AtomicString m_label;
 
     RealtimeMediaSourceSupportedConstraints m_supportedConstraints;
 };
@@ -129,6 +133,7 @@
         << m_echoCancellation
         << m_deviceId
         << m_groupId
+        << m_label
         << m_supportedConstraints;
     encoder.encodeEnum(m_facingMode);
 }
@@ -146,6 +151,7 @@
         && decoder.decode(settings.m_echoCancellation)
         && decoder.decode(settings.m_deviceId)
         && decoder.decode(settings.m_groupId)
+        && decoder.decode(settings.m_label)
         && decoder.decode(settings.m_supportedConstraints)
         && decoder.decodeEnum(settings.m_facingMode);
 }

Modified: trunk/Source/WebCore/platform/mediastream/mac/AVMediaCaptureSource.mm (224337 => 224338)


--- trunk/Source/WebCore/platform/mediastream/mac/AVMediaCaptureSource.mm	2017-11-02 16:58:00 UTC (rev 224337)
+++ trunk/Source/WebCore/platform/mediastream/mac/AVMediaCaptureSource.mm	2017-11-02 17:00:20 UTC (rev 224338)
@@ -214,6 +214,7 @@
         m_currentSettings.setSupportedConstraints(supportedConstraints());
 
     m_currentSettings.setDeviceId(id());
+    m_currentSettings.setLabel(name());
     updateSettings(m_currentSettings);
 }
 

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


--- trunk/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp	2017-11-02 16:58:00 UTC (rev 224337)
+++ trunk/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp	2017-11-02 17:00:20 UTC (rev 224338)
@@ -794,6 +794,7 @@
         settings.setVolume(volume());
         settings.setSampleRate(sampleRate());
         settings.setDeviceId(id());
+        settings.setLabel(name());
         settings.setEchoCancellation(echoCancellation());
 
         RealtimeMediaSourceSupportedConstraints supportedConstraints;

Modified: trunk/Source/WebCore/platform/mock/MockRealtimeMediaSource.cpp (224337 => 224338)


--- trunk/Source/WebCore/platform/mock/MockRealtimeMediaSource.cpp	2017-11-02 16:58:00 UTC (rev 224337)
+++ trunk/Source/WebCore/platform/mock/MockRealtimeMediaSource.cpp	2017-11-02 17:00:20 UTC (rev 224338)
@@ -117,6 +117,7 @@
     if (m_currentSettings.deviceId().isEmpty()) {
         m_currentSettings.setSupportedConstraints(supportedConstraints());
         m_currentSettings.setDeviceId(id());
+        m_currentSettings.setLabel(name());
     }
 
     updateSettings(m_currentSettings);

Modified: trunk/Source/WebKit/ChangeLog (224337 => 224338)


--- trunk/Source/WebKit/ChangeLog	2017-11-02 16:58:00 UTC (rev 224337)
+++ trunk/Source/WebKit/ChangeLog	2017-11-02 17:00:20 UTC (rev 224338)
@@ -1,3 +1,14 @@
+2017-11-02  Eric Carlson  <[email protected]>
+
+        [MediaStream] audioTrack.label is always empty on macOS
+        https://bugs.webkit.org/show_bug.cgi?id=179175
+        <rdar://problem/35315438>
+
+        Reviewed by Youenn Fablet.
+
+        * WebProcess/cocoa/UserMediaCaptureManager.cpp:
+        (WebKit::UserMediaCaptureManager::createCaptureSource): Pass settings.label to Source constructor.
+
 2017-11-02  Frederic Wang  <[email protected]>
 
         Add references to bug 179167 in FIXME comments

Modified: trunk/Source/WebKit/WebProcess/cocoa/UserMediaCaptureManager.cpp (224337 => 224338)


--- trunk/Source/WebKit/WebProcess/cocoa/UserMediaCaptureManager.cpp	2017-11-02 16:58:00 UTC (rev 224337)
+++ trunk/Source/WebKit/WebProcess/cocoa/UserMediaCaptureManager.cpp	2017-11-02 17:00:20 UTC (rev 224338)
@@ -181,14 +181,13 @@
         return { };
 
     uint64_t id = nextSessionID();
-    bool succeeded;
-
     RealtimeMediaSourceSettings settings;
     String errorMessage;
+    bool succeeded;
     if (!m_process.sendSync(Messages::UserMediaCaptureManagerProxy::CreateMediaSourceForCaptureDeviceWithConstraints(id, deviceID, sourceType, *constraints), Messages::UserMediaCaptureManagerProxy::CreateMediaSourceForCaptureDeviceWithConstraints::Reply(succeeded, errorMessage, settings), 0))
         return WTFMove(errorMessage);
 
-    auto source = adoptRef(*new Source(String::number(id), sourceType, emptyString(), id, *this));
+    auto source = adoptRef(*new Source(String::number(id), sourceType, settings.label(), id, *this));
     source->setSettings(WTFMove(settings));
     m_sources.set(id, source.copyRef());
     return WebCore::CaptureSourceOrError(WTFMove(source));
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to