Diff
Modified: trunk/LayoutTests/ChangeLog (214923 => 214924)
--- trunk/LayoutTests/ChangeLog 2017-04-05 01:18:07 UTC (rev 214923)
+++ trunk/LayoutTests/ChangeLog 2017-04-05 02:50:51 UTC (rev 214924)
@@ -1,3 +1,12 @@
+2017-04-04 Youenn Fablet <[email protected]>
+
+ [Mac] Add back web audio support for getUserMedia MediaStreamTrack
+ https://bugs.webkit.org/show_bug.cgi?id=170482
+
+ Reviewed by Eric Carlson.
+
+ * TestExpectations:
+
2017-04-04 Ryan Haddad <[email protected]>
Mark fast/images/slower-animation-than-decoding-image.html as flaky.
Modified: trunk/LayoutTests/TestExpectations (214923 => 214924)
--- trunk/LayoutTests/TestExpectations 2017-04-05 01:18:07 UTC (rev 214923)
+++ trunk/LayoutTests/TestExpectations 2017-04-05 02:50:51 UTC (rev 214924)
@@ -717,7 +717,6 @@
webrtc/peer-connection-audio-mute2.html [ Pass Failure ]
webrtc/peer-connection-remote-audio-mute2.html [ Pass Failure ]
webkit.org/b/170178 webrtc/video-replace-track-to-null.html [ Pass Failure ]
-fast/mediastream/getUserMedia-webaudio.html [ Skip ]
fast/mediastream/RTCPeerConnection-closed-state.html [ Skip ]
fast/mediastream/RTCPeerConnection-iceconnectionstatechange-event.html [ Skip ]
fast/mediastream/RTCPeerConnection-more-media-to-negotiate.html [ Skip ]
Modified: trunk/Source/WebCore/ChangeLog (214923 => 214924)
--- trunk/Source/WebCore/ChangeLog 2017-04-05 01:18:07 UTC (rev 214923)
+++ trunk/Source/WebCore/ChangeLog 2017-04-05 02:50:51 UTC (rev 214924)
@@ -1,3 +1,18 @@
+2017-04-04 Youenn Fablet <[email protected]>
+
+ [Mac] Add back web audio support for getUserMedia MediaStreamTrack
+ https://bugs.webkit.org/show_bug.cgi?id=170482
+
+ Reviewed by Eric Carlson.
+
+ ´Covered by reenabled test.
+
+ Exporting method and class used in WebKit2.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/audio/mac/CAAudioStreamDescription.h:
+ * platform/mediastream/mac/WebAudioSourceProviderAVFObjC.h:
+
2017-04-04 Alexey Proskuryakov <[email protected]>
More build fixing.
Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (214923 => 214924)
--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2017-04-05 01:18:07 UTC (rev 214923)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2017-04-05 02:50:51 UTC (rev 214924)
@@ -282,7 +282,7 @@
07C1C0E21BFB600100BD2256 /* MediaTrackSupportedConstraints.h in Headers */ = {isa = PBXBuildFile; fileRef = 07C1C0E01BFB600100BD2256 /* MediaTrackSupportedConstraints.h */; };
07C1C0E51BFB60ED00BD2256 /* RealtimeMediaSourceSupportedConstraints.h in Headers */ = {isa = PBXBuildFile; fileRef = 07C1C0E41BFB60ED00BD2256 /* RealtimeMediaSourceSupportedConstraints.h */; settings = {ATTRIBUTES = (Private, ); }; };
07CE77D516712A6A00C55A47 /* InbandTextTrackPrivateClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 07CE77D416712A6A00C55A47 /* InbandTextTrackPrivateClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 07D637401BB0B11300256CE9 /* WebAudioSourceProviderAVFObjC.h in Headers */ = {isa = PBXBuildFile; fileRef = 07D6373E1BB0B11300256CE9 /* WebAudioSourceProviderAVFObjC.h */; };
+ 07D637401BB0B11300256CE9 /* WebAudioSourceProviderAVFObjC.h in Headers */ = {isa = PBXBuildFile; fileRef = 07D6373E1BB0B11300256CE9 /* WebAudioSourceProviderAVFObjC.h */; settings = {ATTRIBUTES = (Private, ); }; };
07D637411BB0B11300256CE9 /* WebAudioSourceProviderAVFObjC.mm in Sources */ = {isa = PBXBuildFile; fileRef = 07D6373F1BB0B11300256CE9 /* WebAudioSourceProviderAVFObjC.mm */; };
07D6A4EF1BECF2D200174146 /* MockRealtimeMediaSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07D6A4ED1BECF2D200174146 /* MockRealtimeMediaSource.cpp */; };
07D6A4F01BECF2D200174146 /* MockRealtimeMediaSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 07D6A4EE1BECF2D200174146 /* MockRealtimeMediaSource.h */; };
Modified: trunk/Source/WebCore/platform/audio/mac/CAAudioStreamDescription.h (214923 => 214924)
--- trunk/Source/WebCore/platform/audio/mac/CAAudioStreamDescription.h 2017-04-05 01:18:07 UTC (rev 214923)
+++ trunk/Source/WebCore/platform/audio/mac/CAAudioStreamDescription.h 2017-04-05 02:50:51 UTC (rev 214924)
@@ -43,7 +43,7 @@
const PlatformDescription& platformDescription() const final;
- PCMFormat format() const final;
+ WEBCORE_EXPORT PCMFormat format() const final;
double sampleRate() const final { return m_streamDescription.mSampleRate; }
bool isPCM() const final { return m_streamDescription.mFormatID == kAudioFormatLinearPCM; }
Modified: trunk/Source/WebCore/platform/mediastream/mac/WebAudioSourceProviderAVFObjC.h (214923 => 214924)
--- trunk/Source/WebCore/platform/mediastream/mac/WebAudioSourceProviderAVFObjC.h 2017-04-05 01:18:07 UTC (rev 214923)
+++ trunk/Source/WebCore/platform/mediastream/mac/WebAudioSourceProviderAVFObjC.h 2017-04-05 02:50:51 UTC (rev 214924)
@@ -44,7 +44,7 @@
class AudioSampleDataSource;
class CAAudioStreamDescription;
-class WebAudioSourceProviderAVFObjC : public RefCounted<WebAudioSourceProviderAVFObjC>, public AudioSourceProvider, RealtimeMediaSource::Observer {
+class WEBCORE_EXPORT WebAudioSourceProviderAVFObjC : public RefCounted<WebAudioSourceProviderAVFObjC>, public AudioSourceProvider, RealtimeMediaSource::Observer {
public:
static Ref<WebAudioSourceProviderAVFObjC> create(RealtimeMediaSource&);
virtual ~WebAudioSourceProviderAVFObjC();
Modified: trunk/Source/WebKit2/ChangeLog (214923 => 214924)
--- trunk/Source/WebKit2/ChangeLog 2017-04-05 01:18:07 UTC (rev 214923)
+++ trunk/Source/WebKit2/ChangeLog 2017-04-05 02:50:51 UTC (rev 214924)
@@ -1,3 +1,13 @@
+2017-04-04 Youenn Fablet <[email protected]>
+
+ [Mac] Add back web audio support for getUserMedia MediaStreamTrack
+ https://bugs.webkit.org/show_bug.cgi?id=170482
+
+ Reviewed by Eric Carlson.
+
+ * WebProcess/cocoa/UserMediaCaptureManager.cpp:
+ (WebKit::UserMediaCaptureManager::Source::setStorage):
+
2017-04-04 Tim Horton <[email protected]>
[Mac] -[WKWebView findMatchesForString:relativeToMatch:findOptions:maxResults:resultCollector:] invokes the resultCollector with didWrap = NO even when it wraps
Modified: trunk/Source/WebKit2/WebProcess/cocoa/UserMediaCaptureManager.cpp (214923 => 214924)
--- trunk/Source/WebKit2/WebProcess/cocoa/UserMediaCaptureManager.cpp 2017-04-05 01:18:07 UTC (rev 214923)
+++ trunk/Source/WebKit2/WebProcess/cocoa/UserMediaCaptureManager.cpp 2017-04-05 02:50:51 UTC (rev 214924)
@@ -38,6 +38,7 @@
#include <WebCore/MediaConstraintsImpl.h>
#include <WebCore/RealtimeMediaSourceCenter.h>
#include <WebCore/WebAudioBufferList.h>
+#include <WebCore/WebAudioSourceProviderAVFObjC.h>
using namespace WebCore;
@@ -79,6 +80,9 @@
void setStorage(const SharedMemory::Handle& handle, const WebCore::CAAudioStreamDescription& description, uint64_t numberOfFrames)
{
m_description = description;
+ if (m_audioSourceProvider)
+ m_audioSourceProvider->prepare(&m_description.streamDescription());
+
if (handle.isNull()) {
m_ringBuffer.deallocate();
storage().setReadOnly(false);
@@ -110,7 +114,14 @@
void startProducingData() final { m_manager.startProducingData(m_id); }
void stopProducingData() final { m_manager.stopProducingData(m_id); }
- AudioSourceProvider* audioSourceProvider() final { return nullptr; }
+ AudioSourceProvider* audioSourceProvider() final {
+ if (!m_audioSourceProvider) {
+ m_audioSourceProvider = WebAudioSourceProviderAVFObjC::create(*this);
+ if (m_description.format() != AudioStreamDescription::None)
+ m_audioSourceProvider->prepare(&m_description.streamDescription());
+ }
+ return m_audioSourceProvider.get();
+ }
private:
// RealtimeMediaSource
@@ -123,6 +134,7 @@
RealtimeMediaSourceSettings m_settings;
CAAudioStreamDescription m_description;
CARingBuffer m_ringBuffer;
+ RefPtr<WebAudioSourceProviderAVFObjC> m_audioSourceProvider;
};
UserMediaCaptureManager::UserMediaCaptureManager(WebProcess* process)