Changeset 254516 in webkit
- Timestamp:
- Jan 14, 2020 9:48:50 AM (4 years ago)
- Location:
- trunk
- Files:
-
- 9 deleted
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r254514 r254516 1 2020-01-14 Ryan Haddad <ryanhaddad@apple.com> 2 3 Unreviewed, rolling out r254505. 4 5 Breaks watchOS/tvOS/Catalyst builds. 6 7 Reverted changeset: 8 9 "Add support for MediaStream audio track rendering in 10 GPUProcess" 11 https://bugs.webkit.org/show_bug.cgi?id=206175 12 https://trac.webkit.org/changeset/254505 13 1 14 2020-01-13 Darin Adler <darin@apple.com> 2 15 -
trunk/LayoutTests/gpu-process/TestExpectations
r254505 r254516 230 230 fast/css/relative-position-replaced-in-table-display-crash.html [ Skip ] 231 231 fast/mediacapturefromelement [ Skip ] 232 fast/mediastream [ Skip ] 232 233 fullscreen/full-screen-iframe-legacy.html [ Skip ] 233 234 fullscreen/video-controls-timeline.html [ Skip ] … … 240 241 http/tests/navigation/page-cache-mediastream.html [ Skip ] 241 242 http/wpt/mediarecorder [ Skip ] 243 imported/w3c/web-platform-tests/mediacapture-streams [ Skip ] 242 244 imported/w3c/web-platform-tests/mediacapture-fromelement/idlharness.html [ Skip ] 243 245 imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-stop.html [ Skip ] … … 256 258 257 259 webgpu [ Skip ] 260 261 webrtc [ Skip ] 262 platform/mac/webrtc [ Skip ] -
trunk/Source/WebCore/ChangeLog
r254514 r254516 1 2020-01-14 Ryan Haddad <ryanhaddad@apple.com> 2 3 Unreviewed, rolling out r254505. 4 5 Breaks watchOS/tvOS/Catalyst builds. 6 7 Reverted changeset: 8 9 "Add support for MediaStream audio track rendering in 10 GPUProcess" 11 https://bugs.webkit.org/show_bug.cgi?id=206175 12 https://trac.webkit.org/changeset/254505 13 1 14 2020-01-13 Darin Adler <darin@apple.com> 2 15 -
trunk/Source/WebCore/platform/mediastream/AudioMediaStreamTrackRenderer.h
r254505 r254516 45 45 virtual ~AudioMediaStreamTrackRenderer() = default; 46 46 47 virtual void s tart() = 0;47 virtual void setPaused(bool) = 0; 48 48 virtual void stop() = 0; 49 49 virtual void clear() = 0; -
trunk/Source/WebCore/platform/mediastream/AudioTrackPrivateMediaStream.cpp
r254505 r254516 78 78 m_autoPlay = false; 79 79 80 m_renderer->s tart();80 m_renderer->setPaused(false); 81 81 } 82 82 … … 96 96 m_autoPlay = false; 97 97 98 m_renderer->s top();98 m_renderer->setPaused(true); 99 99 } 100 100 … … 112 112 void AudioTrackPrivateMediaStream::audioSamplesAvailable(MediaStreamTrackPrivate&, const MediaTime& sampleTime, const PlatformAudioData& audioData, const AudioStreamDescription& description, size_t sampleCount) 113 113 { 114 if (!m_isPlaying) { 115 m_renderer->stop(); 116 return; 117 } 118 114 119 m_renderer->pushSamples(sampleTime, audioData, description, sampleCount); 115 120 … … 135 140 void AudioTrackPrivateMediaStream::updateRendererMutedState() 136 141 { 137 m_renderer->setMuted( streamTrack().muted() || streamTrack().ended() || !streamTrack().enabled());142 m_renderer->setMuted(m_isPlaying && !streamTrack().muted() && !streamTrack().ended() && streamTrack().enabled()); 138 143 } 139 144 -
trunk/Source/WebCore/platform/mediastream/mac/AudioMediaStreamTrackRendererCocoa.cpp
r254505 r254516 44 44 AudioMediaStreamTrackRendererCocoa::~AudioMediaStreamTrackRendererCocoa() = default; 45 45 46 void AudioMediaStreamTrackRendererCocoa::start()47 {48 if (m_dataSource)49 m_dataSource->setPaused(false);50 51 if (m_isAudioUnitStarted)52 return;53 54 if (auto error = AudioOutputUnitStart(m_remoteIOUnit)) {55 ERROR_LOG(LOGIDENTIFIER, "AudioOutputUnitStart failed, error = ", error, " (", (const char*)&error, ")");56 return;57 }58 m_isAudioUnitStarted = true;59 }60 61 46 void AudioMediaStreamTrackRendererCocoa::stop() 62 47 { 63 if (m_dataSource)64 m_dataSource->setPaused(true);65 66 48 if (!m_isAudioUnitStarted) 67 49 return; 68 50 69 m_isAudioUnitStarted = false;70 51 if (m_remoteIOUnit) 71 52 AudioOutputUnitStop(m_remoteIOUnit); … … 86 67 m_inputDescription = nullptr; 87 68 m_outputDescription = nullptr; 88 m_isAudioUnitStarted = false; 69 } 70 71 void AudioMediaStreamTrackRendererCocoa::setPaused(bool value) 72 { 73 m_paused = value; 74 if (m_dataSource) 75 m_dataSource->setPaused(value); 89 76 } 90 77 … … 201 188 202 189 m_dataSource->pushSamples(sampleTime, audioData, sampleCount); 190 191 if (!m_isAudioUnitStarted) { 192 if (auto error = AudioOutputUnitStart(m_remoteIOUnit)) { 193 ERROR_LOG(LOGIDENTIFIER, "AudioOutputUnitStart failed, error = ", error, " (", (const char*)&error, ")"); 194 return; 195 } 196 m_isAudioUnitStarted = true; 197 } 203 198 } 204 199 205 200 OSStatus AudioMediaStreamTrackRendererCocoa::render(UInt32 sampleCount, AudioBufferList& ioData, UInt32 /*inBusNumber*/, const AudioTimeStamp& timeStamp, AudioUnitRenderActionFlags& actionFlags) 206 201 { 207 if (isMuted() || !m_dataSource) {202 if (isMuted() || m_paused || !m_dataSource) { 208 203 AudioSampleBufferList::zeroABL(ioData, static_cast<size_t>(sampleCount * m_outputDescription->bytesPerFrame())); 209 204 actionFlags = kAudioUnitRenderAction_OutputIsSilence; -
trunk/Source/WebCore/platform/mediastream/mac/AudioMediaStreamTrackRendererCocoa.h
r254505 r254516 49 49 // AudioMediaStreamTrackRenderer 50 50 void pushSamples(const WTF::MediaTime&, const PlatformAudioData&, const AudioStreamDescription&, size_t) final; 51 void start() final;52 51 void stop() final; 53 52 void clear() final; 53 void setPaused(bool) final; 54 54 55 55 static OSStatus inputProc(void*, AudioUnitRenderActionFlags*, const AudioTimeStamp*, UInt32 inBusNumber, UInt32 numberOfFrames, AudioBufferList*); … … 66 66 RefPtr<AudioSampleDataSource> m_dataSource; 67 67 bool m_isAudioUnitStarted { false }; 68 bool m_paused { false }; 68 69 }; 69 70 -
trunk/Source/WebKit/ChangeLog
r254515 r254516 1 2020-01-14 Ryan Haddad <ryanhaddad@apple.com> 2 3 Unreviewed, rolling out r254505. 4 5 Breaks watchOS/tvOS/Catalyst builds. 6 7 Reverted changeset: 8 9 "Add support for MediaStream audio track rendering in 10 GPUProcess" 11 https://bugs.webkit.org/show_bug.cgi?id=206175 12 https://trac.webkit.org/changeset/254505 13 1 14 2020-01-14 Víctor Manuel Jáquez Leal <vjaquez@igalia.com> 2 15 -
trunk/Source/WebKit/DerivedSources-input.xcfilelist
r254505 r254516 20 20 $(PROJECT_DIR)/GPUProcess/media/RemoteMediaResourceManager.messages.in 21 21 $(PROJECT_DIR)/GPUProcess/webrtc/LibWebRTCCodecsProxy.messages.in 22 $(PROJECT_DIR)/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in23 $(PROJECT_DIR)/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.messages.in24 22 $(PROJECT_DIR)/GPUProcess/webrtc/RemoteMediaRecorder.messages.in 25 23 $(PROJECT_DIR)/GPUProcess/webrtc/RemoteMediaRecorderManager.messages.in -
trunk/Source/WebKit/DerivedSources-output.xcfilelist
r254505 r254516 121 121 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/PluginProxyMessages.h 122 122 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/PluginProxyMessagesReplies.h 123 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/RemoteAudioMediaStreamTrackRendererManagerMessageReceiver.cpp124 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/RemoteAudioMediaStreamTrackRendererManagerMessages.h125 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/RemoteAudioMediaStreamTrackRendererManagerMessagesReplies.h126 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/RemoteAudioMediaStreamTrackRendererMessageReceiver.cpp127 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/RemoteAudioMediaStreamTrackRendererMessages.h128 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/RemoteAudioMediaStreamTrackRendererMessagesReplies.h129 123 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/RemoteLayerTreeDrawingAreaProxyMessageReceiver.cpp 130 124 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/RemoteLayerTreeDrawingAreaProxyMessages.h -
trunk/Source/WebKit/DerivedSources.make
r254505 r254516 141 141 PluginProcessProxy \ 142 142 PluginProxy \ 143 RemoteAudioMediaStreamTrackRendererManager \144 RemoteAudioMediaStreamTrackRenderer \145 143 RemoteLayerTreeDrawingAreaProxy \ 146 144 RemoteMediaPlayerManager \ -
trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp
r254505 r254516 37 37 #include "LibWebRTCCodecsProxyMessages.h" 38 38 #include "Logging.h" 39 #include "RemoteAudioMediaStreamTrackRendererManager.h"40 #include "RemoteAudioMediaStreamTrackRendererManagerMessages.h"41 #include "RemoteAudioMediaStreamTrackRendererMessages.h"42 39 #include "RemoteLayerTreeDrawingAreaProxyMessages.h" 43 40 #include "RemoteMediaPlayerManagerProxy.h" … … 152 149 return *m_remoteMediaRecorderManager; 153 150 } 154 155 #if ENABLE(VIDEO_TRACK)156 RemoteAudioMediaStreamTrackRendererManager& GPUConnectionToWebProcess::audioTrackRendererManager()157 {158 if (!m_audioTrackRendererManager)159 m_audioTrackRendererManager = makeUnique<RemoteAudioMediaStreamTrackRendererManager>();160 161 return *m_audioTrackRendererManager;162 }163 #endif164 151 #endif 165 152 … … 196 183 return; 197 184 } 198 #if PLATFORM(COCOA) && ENABLE(VIDEO_TRACK)199 if (decoder.messageReceiverName() == Messages::RemoteAudioMediaStreamTrackRendererManager::messageReceiverName()) {200 audioTrackRendererManager().didReceiveMessageFromWebProcess(connection, decoder);201 return;202 }203 if (decoder.messageReceiverName() == Messages::RemoteAudioMediaStreamTrackRenderer::messageReceiverName()) {204 audioTrackRendererManager().didReceiveRendererMessage(connection, decoder);205 return;206 }207 #endif208 185 #endif 209 186 #if PLATFORM(COCOA) && USE(LIBWEBRTC) -
trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h
r254505 r254516 41 41 class GPUProcess; 42 42 class LibWebRTCCodecsProxy; 43 class RemoteAudioMediaStreamTrackRendererManager;44 43 class RemoteMediaPlayerManagerProxy; 45 44 class RemoteMediaRecorderManager; … … 75 74 UserMediaCaptureManagerProxy& userMediaCaptureManagerProxy(); 76 75 RemoteMediaRecorderManager& mediaRecorderManager(); 77 #if ENABLE(VIDEO_TRACK)78 RemoteAudioMediaStreamTrackRendererManager& audioTrackRendererManager();79 #endif80 76 #endif 81 77 … … 97 93 std::unique_ptr<UserMediaCaptureManagerProxy> m_userMediaCaptureManagerProxy; 98 94 std::unique_ptr<RemoteMediaRecorderManager> m_remoteMediaRecorderManager; 99 #if ENABLE(VIDEO_TRACK)100 std::unique_ptr<RemoteAudioMediaStreamTrackRendererManager> m_audioTrackRendererManager;101 #endif102 95 #endif 103 96 #if PLATFORM(COCOA) && USE(LIBWEBRTC) -
trunk/Source/WebKit/Scripts/webkit/messages.py
r254505 r254516 219 219 'WebCore::SWServerConnectionIdentifier', 220 220 'WebKit::ActivityStateChangeID', 221 'WebKit::AudioMediaStreamTrackRendererIdentifier',222 221 'WebKit::LayerHostingContextID', 223 222 'WebKit::MediaPlayerPrivateRemoteIdentifier', -
trunk/Source/WebKit/Sources.txt
r254505 r254516 25 25 GPUProcess/GPUConnectionToWebProcess.cpp 26 26 GPUProcess/GPUProcessCreationParameters.cpp 27 GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp28 GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.cpp29 27 GPUProcess/webrtc/RemoteMediaRecorder.cpp 30 28 GPUProcess/webrtc/RemoteMediaRecorderManager.cpp … … 524 522 WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp 525 523 WebProcess/GPU/webrtc/MediaRecorderProvider.cpp 526 WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp527 524 528 525 WebProcess/Network/NetworkProcessConnection.cpp -
trunk/Source/WebKit/SourcesCocoa.txt
r254505 r254516 640 640 LibWebRTCCodecsProxyMessageReceiver.cpp 641 641 LibWebRTCCodecsMessageReceiver.cpp 642 RemoteAudioMediaStreamTrackRendererManagerMessageReceiver.cpp643 RemoteAudioMediaStreamTrackRendererMessageReceiver.cpp644 642 RemoteMediaRecorderMessageReceiver.cpp 645 643 RemoteMediaRecorderManagerMessageReceiver.cpp -
trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj
r254505 r254516 3381 3381 41D5C6D8238EB20D00B9B3CB /* ServiceWorkerSoftUpdateLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ServiceWorkerSoftUpdateLoader.h; sourceTree = "<group>"; }; 3382 3382 41D5C6D9238EB20E00B9B3CB /* ServiceWorkerSoftUpdateLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ServiceWorkerSoftUpdateLoader.cpp; sourceTree = "<group>"; }; 3383 41D6455223CCB92100486E0E /* RemoteAudioMediaStreamTrackRenderer.messages.in */ = {isa = PBXFileReference; lastKnownFileType = text; name = RemoteAudioMediaStreamTrackRenderer.messages.in; path = GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in; sourceTree = SOURCE_ROOT; };3384 41D6455323CCB92100486E0E /* RemoteAudioMediaStreamTrackRenderer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RemoteAudioMediaStreamTrackRenderer.h; path = GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.h; sourceTree = SOURCE_ROOT; };3385 41D6455423CCB92200486E0E /* RemoteAudioMediaStreamTrackRenderer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RemoteAudioMediaStreamTrackRenderer.cpp; path = GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp; sourceTree = SOURCE_ROOT; };3386 41D6455523CCB96900486E0E /* RemoteAudioMediaStreamTrackRendererManager.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RemoteAudioMediaStreamTrackRendererManager.messages.in; sourceTree = "<group>"; };3387 41D6455623CCB96900486E0E /* RemoteAudioMediaStreamTrackRendererManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RemoteAudioMediaStreamTrackRendererManager.cpp; sourceTree = "<group>"; };3388 41D6455723CCB96900486E0E /* RemoteAudioMediaStreamTrackRendererManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RemoteAudioMediaStreamTrackRendererManager.h; sourceTree = "<group>"; };3389 3383 41DC45941E3D6E1E00B11F51 /* NetworkRTCProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkRTCProvider.h; sourceTree = "<group>"; }; 3390 3384 41DC45951E3D6E1E00B11F51 /* NetworkRTCProvider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkRTCProvider.cpp; sourceTree = "<group>"; }; … … 3407 3401 41FBE823206DA79C000F0741 /* NetworkContentRuleListManager.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = NetworkContentRuleListManager.messages.in; sourceTree = "<group>"; }; 3408 3402 41FBE824206DA79C000F0741 /* NetworkContentRuleListManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkContentRuleListManager.cpp; sourceTree = "<group>"; }; 3409 41FCD6AD23CCC26000C62567 /* AudioMediaStreamTrackRenderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AudioMediaStreamTrackRenderer.h; sourceTree = "<group>"; };3410 41FCD6AE23CCC26100C62567 /* AudioMediaStreamTrackRenderer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AudioMediaStreamTrackRenderer.cpp; sourceTree = "<group>"; };3411 41FCD6AF23CCC26100C62567 /* AudioMediaStreamTrackRendererIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AudioMediaStreamTrackRendererIdentifier.h; sourceTree = "<group>"; };3412 3403 4450AEBF1DC3FAE5009943F2 /* SharedMemoryCocoa.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SharedMemoryCocoa.cpp; sourceTree = "<group>"; }; 3413 3404 4459984122833E6000E61373 /* SyntheticEditingCommandType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SyntheticEditingCommandType.h; sourceTree = "<group>"; }; … … 7186 7177 isa = PBXGroup; 7187 7178 children = ( 7188 41FCD6AE23CCC26100C62567 /* AudioMediaStreamTrackRenderer.cpp */,7189 41FCD6AD23CCC26000C62567 /* AudioMediaStreamTrackRenderer.h */,7190 41FCD6AF23CCC26100C62567 /* AudioMediaStreamTrackRendererIdentifier.h */,7191 7179 4172198A23B6128200AE5686 /* LibWebRTCCodecs.cpp */, 7192 7180 4172198923B6128200AE5686 /* LibWebRTCCodecs.h */, … … 7209 7197 41E0A7C723B6397900561060 /* LibWebRTCCodecsProxy.messages.in */, 7210 7198 41E0A7C823B6397900561060 /* LibWebRTCCodecsProxy.mm */, 7211 41D6455423CCB92200486E0E /* RemoteAudioMediaStreamTrackRenderer.cpp */,7212 41D6455323CCB92100486E0E /* RemoteAudioMediaStreamTrackRenderer.h */,7213 41D6455223CCB92100486E0E /* RemoteAudioMediaStreamTrackRenderer.messages.in */,7214 41D6455623CCB96900486E0E /* RemoteAudioMediaStreamTrackRendererManager.cpp */,7215 41D6455723CCB96900486E0E /* RemoteAudioMediaStreamTrackRendererManager.h */,7216 41D6455523CCB96900486E0E /* RemoteAudioMediaStreamTrackRendererManager.messages.in */,7217 7199 4176E89D23C376D5003E83FE /* RemoteMediaRecorder.cpp */, 7218 7200 4176E89823C36677003E83FE /* RemoteMediaRecorder.h */, -
trunk/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.cpp
r254505 r254516 29 29 #if ENABLE(GPU_PROCESS) 30 30 31 #include "AudioMediaStreamTrackRenderer.h"32 31 #include "MediaPlayerPrivateRemote.h" 33 #include "RemoteAudioMediaStreamTrackRenderer.h"34 32 #include "RemoteMediaPlayerConfiguration.h" 35 33 #include "RemoteMediaPlayerMIMETypeCache.h" … … 363 361 364 362 RemoteMediaPlayerSupport::setRegisterRemotePlayerCallback(settings.useGPUProcessForMedia() ? WTFMove(registerEngine) : RemoteMediaPlayerSupport::RegisterRemotePlayerCallback()); 365 366 if (settings.useGPUProcessForMedia())367 WebCore::AudioMediaStreamTrackRenderer::setCreator(WebKit::AudioMediaStreamTrackRenderer::create);368 363 } 369 364
Note: See TracChangeset
for help on using the changeset viewer.