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));