Diff
Modified: trunk/LayoutTests/ChangeLog (254515 => 254516)
--- trunk/LayoutTests/ChangeLog 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/LayoutTests/ChangeLog 2020-01-14 17:48:50 UTC (rev 254516)
@@ -1,3 +1,16 @@
+2020-01-14 Ryan Haddad <ryanhad...@apple.com>
+
+ Unreviewed, rolling out r254505.
+
+ Breaks watchOS/tvOS/Catalyst builds.
+
+ Reverted changeset:
+
+ "Add support for MediaStream audio track rendering in
+ GPUProcess"
+ https://bugs.webkit.org/show_bug.cgi?id=206175
+ https://trac.webkit.org/changeset/254505
+
2020-01-13 Darin Adler <da...@apple.com>
Use even more "shortest form" formatting, and less "fixed precision" and "fixed width"
Modified: trunk/LayoutTests/gpu-process/TestExpectations (254515 => 254516)
--- trunk/LayoutTests/gpu-process/TestExpectations 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/LayoutTests/gpu-process/TestExpectations 2020-01-14 17:48:50 UTC (rev 254516)
@@ -229,6 +229,7 @@
fast/block/float/list-marker-is-float-crash.html [ Skip ]
fast/css/relative-position-replaced-in-table-display-crash.html [ Skip ]
fast/mediacapturefromelement [ Skip ]
+fast/mediastream [ Skip ]
fullscreen/full-screen-iframe-legacy.html [ Skip ]
fullscreen/video-controls-timeline.html [ Skip ]
http/tests/appcache/video.html [ Skip ]
@@ -239,6 +240,7 @@
http/tests/navigation/page-cache-mediakeysession.html [ Skip ]
http/tests/navigation/page-cache-mediastream.html [ Skip ]
http/wpt/mediarecorder [ Skip ]
+imported/w3c/web-platform-tests/mediacapture-streams [ Skip ]
imported/w3c/web-platform-tests/mediacapture-fromelement/idlharness.html [ Skip ]
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-stop.html [ Skip ]
imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-error.html [ Skip ]
@@ -255,3 +257,6 @@
js/shared-array-buffer-webgl.html [ Skip ]
webgpu [ Skip ]
+
+webrtc [ Skip ]
+platform/mac/webrtc [ Skip ]
Modified: trunk/Source/WebCore/ChangeLog (254515 => 254516)
--- trunk/Source/WebCore/ChangeLog 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebCore/ChangeLog 2020-01-14 17:48:50 UTC (rev 254516)
@@ -1,3 +1,16 @@
+2020-01-14 Ryan Haddad <ryanhad...@apple.com>
+
+ Unreviewed, rolling out r254505.
+
+ Breaks watchOS/tvOS/Catalyst builds.
+
+ Reverted changeset:
+
+ "Add support for MediaStream audio track rendering in
+ GPUProcess"
+ https://bugs.webkit.org/show_bug.cgi?id=206175
+ https://trac.webkit.org/changeset/254505
+
2020-01-13 Darin Adler <da...@apple.com>
Use even more "shortest form" formatting, and less "fixed precision" and "fixed width"
Modified: trunk/Source/WebCore/platform/mediastream/AudioMediaStreamTrackRenderer.h (254515 => 254516)
--- trunk/Source/WebCore/platform/mediastream/AudioMediaStreamTrackRenderer.h 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebCore/platform/mediastream/AudioMediaStreamTrackRenderer.h 2020-01-14 17:48:50 UTC (rev 254516)
@@ -44,7 +44,7 @@
static std::unique_ptr<AudioMediaStreamTrackRenderer> create();
virtual ~AudioMediaStreamTrackRenderer() = default;
- virtual void start() = 0;
+ virtual void setPaused(bool) = 0;
virtual void stop() = 0;
virtual void clear() = 0;
// May be called on a background thread.
Modified: trunk/Source/WebCore/platform/mediastream/AudioTrackPrivateMediaStream.cpp (254515 => 254516)
--- trunk/Source/WebCore/platform/mediastream/AudioTrackPrivateMediaStream.cpp 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebCore/platform/mediastream/AudioTrackPrivateMediaStream.cpp 2020-01-14 17:48:50 UTC (rev 254516)
@@ -77,7 +77,7 @@
m_isPlaying = true;
m_autoPlay = false;
- m_renderer->start();
+ m_renderer->setPaused(false);
}
void AudioTrackPrivateMediaStream::play()
@@ -95,7 +95,7 @@
m_isPlaying = false;
m_autoPlay = false;
- m_renderer->stop();
+ m_renderer->setPaused(true);
}
void AudioTrackPrivateMediaStream::setVolume(float volume)
@@ -111,6 +111,11 @@
// May get called on a background thread.
void AudioTrackPrivateMediaStream::audioSamplesAvailable(MediaStreamTrackPrivate&, const MediaTime& sampleTime, const PlatformAudioData& audioData, const AudioStreamDescription& description, size_t sampleCount)
{
+ if (!m_isPlaying) {
+ m_renderer->stop();
+ return;
+ }
+
m_renderer->pushSamples(sampleTime, audioData, description, sampleCount);
if (m_autoPlay && !m_hasStartedAutoplay) {
@@ -134,7 +139,7 @@
void AudioTrackPrivateMediaStream::updateRendererMutedState()
{
- m_renderer->setMuted(streamTrack().muted() || streamTrack().ended() || !streamTrack().enabled());
+ m_renderer->setMuted(m_isPlaying && !streamTrack().muted() && !streamTrack().ended() && streamTrack().enabled());
}
void AudioTrackPrivateMediaStream::trackEnded(MediaStreamTrackPrivate&)
Modified: trunk/Source/WebCore/platform/mediastream/mac/AudioMediaStreamTrackRendererCocoa.cpp (254515 => 254516)
--- trunk/Source/WebCore/platform/mediastream/mac/AudioMediaStreamTrackRendererCocoa.cpp 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebCore/platform/mediastream/mac/AudioMediaStreamTrackRendererCocoa.cpp 2020-01-14 17:48:50 UTC (rev 254516)
@@ -43,30 +43,11 @@
AudioMediaStreamTrackRendererCocoa::~AudioMediaStreamTrackRendererCocoa() = default;
-void AudioMediaStreamTrackRendererCocoa::start()
-{
- if (m_dataSource)
- m_dataSource->setPaused(false);
-
- if (m_isAudioUnitStarted)
- return;
-
- if (auto error = AudioOutputUnitStart(m_remoteIOUnit)) {
- ERROR_LOG(LOGIDENTIFIER, "AudioOutputUnitStart failed, error = ", error, " (", (const char*)&error, ")");
- return;
- }
- m_isAudioUnitStarted = true;
-}
-
void AudioMediaStreamTrackRendererCocoa::stop()
{
- if (m_dataSource)
- m_dataSource->setPaused(true);
-
if (!m_isAudioUnitStarted)
return;
- m_isAudioUnitStarted = false;
if (m_remoteIOUnit)
AudioOutputUnitStop(m_remoteIOUnit);
}
@@ -85,9 +66,15 @@
m_dataSource = nullptr;
m_inputDescription = nullptr;
m_outputDescription = nullptr;
- m_isAudioUnitStarted = false;
}
+void AudioMediaStreamTrackRendererCocoa::setPaused(bool value)
+{
+ m_paused = value;
+ if (m_dataSource)
+ m_dataSource->setPaused(value);
+}
+
AudioComponentInstance AudioMediaStreamTrackRendererCocoa::createAudioUnit(CAAudioStreamDescription& outputDescription)
{
AudioComponentInstance remoteIOUnit { nullptr };
@@ -200,11 +187,19 @@
}
m_dataSource->pushSamples(sampleTime, audioData, sampleCount);
+
+ if (!m_isAudioUnitStarted) {
+ if (auto error = AudioOutputUnitStart(m_remoteIOUnit)) {
+ ERROR_LOG(LOGIDENTIFIER, "AudioOutputUnitStart failed, error = ", error, " (", (const char*)&error, ")");
+ return;
+ }
+ m_isAudioUnitStarted = true;
+ }
}
OSStatus AudioMediaStreamTrackRendererCocoa::render(UInt32 sampleCount, AudioBufferList& ioData, UInt32 /*inBusNumber*/, const AudioTimeStamp& timeStamp, AudioUnitRenderActionFlags& actionFlags)
{
- if (isMuted() || !m_dataSource) {
+ if (isMuted() || m_paused || !m_dataSource) {
AudioSampleBufferList::zeroABL(ioData, static_cast<size_t>(sampleCount * m_outputDescription->bytesPerFrame()));
actionFlags = kAudioUnitRenderAction_OutputIsSilence;
return 0;
Modified: trunk/Source/WebCore/platform/mediastream/mac/AudioMediaStreamTrackRendererCocoa.h (254515 => 254516)
--- trunk/Source/WebCore/platform/mediastream/mac/AudioMediaStreamTrackRendererCocoa.h 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebCore/platform/mediastream/mac/AudioMediaStreamTrackRendererCocoa.h 2020-01-14 17:48:50 UTC (rev 254516)
@@ -48,9 +48,9 @@
private:
// AudioMediaStreamTrackRenderer
void pushSamples(const WTF::MediaTime&, const PlatformAudioData&, const AudioStreamDescription&, size_t) final;
- void start() final;
void stop() final;
void clear() final;
+ void setPaused(bool) final;
static OSStatus inputProc(void*, AudioUnitRenderActionFlags*, const AudioTimeStamp*, UInt32 inBusNumber, UInt32 numberOfFrames, AudioBufferList*);
OSStatus render(UInt32 sampleCount, AudioBufferList&, UInt32 inBusNumber, const AudioTimeStamp&, AudioUnitRenderActionFlags&);
@@ -65,6 +65,7 @@
// Cross thread members
RefPtr<AudioSampleDataSource> m_dataSource;
bool m_isAudioUnitStarted { false };
+ bool m_paused { false };
};
}
Modified: trunk/Source/WebKit/ChangeLog (254515 => 254516)
--- trunk/Source/WebKit/ChangeLog 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebKit/ChangeLog 2020-01-14 17:48:50 UTC (rev 254516)
@@ -1,3 +1,16 @@
+2020-01-14 Ryan Haddad <ryanhad...@apple.com>
+
+ Unreviewed, rolling out r254505.
+
+ Breaks watchOS/tvOS/Catalyst builds.
+
+ Reverted changeset:
+
+ "Add support for MediaStream audio track rendering in
+ GPUProcess"
+ https://bugs.webkit.org/show_bug.cgi?id=206175
+ https://trac.webkit.org/changeset/254505
+
2020-01-14 Víctor Manuel Jáquez Leal <vjaq...@igalia.com>
Suppress compiler warnings
Modified: trunk/Source/WebKit/DerivedSources-input.xcfilelist (254515 => 254516)
--- trunk/Source/WebKit/DerivedSources-input.xcfilelist 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebKit/DerivedSources-input.xcfilelist 2020-01-14 17:48:50 UTC (rev 254516)
@@ -19,8 +19,6 @@
$(PROJECT_DIR)/GPUProcess/media/RemoteMediaPlayerManagerProxy.messages.in
$(PROJECT_DIR)/GPUProcess/media/RemoteMediaResourceManager.messages.in
$(PROJECT_DIR)/GPUProcess/webrtc/LibWebRTCCodecsProxy.messages.in
-$(PROJECT_DIR)/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in
-$(PROJECT_DIR)/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.messages.in
$(PROJECT_DIR)/GPUProcess/webrtc/RemoteMediaRecorder.messages.in
$(PROJECT_DIR)/GPUProcess/webrtc/RemoteMediaRecorderManager.messages.in
$(PROJECT_DIR)/NetworkProcess/Cookies/WebCookieManager.messages.in
Modified: trunk/Source/WebKit/DerivedSources-output.xcfilelist (254515 => 254516)
--- trunk/Source/WebKit/DerivedSources-output.xcfilelist 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebKit/DerivedSources-output.xcfilelist 2020-01-14 17:48:50 UTC (rev 254516)
@@ -120,12 +120,6 @@
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/PluginProxyMessageReceiver.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/PluginProxyMessages.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/PluginProxyMessagesReplies.h
-$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/RemoteAudioMediaStreamTrackRendererManagerMessageReceiver.cpp
-$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/RemoteAudioMediaStreamTrackRendererManagerMessages.h
-$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/RemoteAudioMediaStreamTrackRendererManagerMessagesReplies.h
-$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/RemoteAudioMediaStreamTrackRendererMessageReceiver.cpp
-$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/RemoteAudioMediaStreamTrackRendererMessages.h
-$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/RemoteAudioMediaStreamTrackRendererMessagesReplies.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/RemoteLayerTreeDrawingAreaProxyMessageReceiver.cpp
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/RemoteLayerTreeDrawingAreaProxyMessages.h
$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/RemoteLayerTreeDrawingAreaProxyMessagesReplies.h
Modified: trunk/Source/WebKit/DerivedSources.make (254515 => 254516)
--- trunk/Source/WebKit/DerivedSources.make 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebKit/DerivedSources.make 2020-01-14 17:48:50 UTC (rev 254516)
@@ -140,8 +140,6 @@
PluginProcessConnectionManager \
PluginProcessProxy \
PluginProxy \
- RemoteAudioMediaStreamTrackRendererManager \
- RemoteAudioMediaStreamTrackRenderer \
RemoteLayerTreeDrawingAreaProxy \
RemoteMediaPlayerManager \
RemoteMediaPlayerManagerProxy \
Modified: trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp (254515 => 254516)
--- trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp 2020-01-14 17:48:50 UTC (rev 254516)
@@ -36,9 +36,6 @@
#include "LibWebRTCCodecsProxy.h"
#include "LibWebRTCCodecsProxyMessages.h"
#include "Logging.h"
-#include "RemoteAudioMediaStreamTrackRendererManager.h"
-#include "RemoteAudioMediaStreamTrackRendererManagerMessages.h"
-#include "RemoteAudioMediaStreamTrackRendererMessages.h"
#include "RemoteLayerTreeDrawingAreaProxyMessages.h"
#include "RemoteMediaPlayerManagerProxy.h"
#include "RemoteMediaPlayerManagerProxyMessages.h"
@@ -151,17 +148,7 @@
return *m_remoteMediaRecorderManager;
}
-
-#if ENABLE(VIDEO_TRACK)
-RemoteAudioMediaStreamTrackRendererManager& GPUConnectionToWebProcess::audioTrackRendererManager()
-{
- if (!m_audioTrackRendererManager)
- m_audioTrackRendererManager = makeUnique<RemoteAudioMediaStreamTrackRendererManager>();
-
- return *m_audioTrackRendererManager;
-}
#endif
-#endif
#if PLATFORM(COCOA) && USE(LIBWEBRTC)
LibWebRTCCodecsProxy& GPUConnectionToWebProcess::libWebRTCCodecsProxy()
@@ -195,17 +182,7 @@
mediaRecorderManager().didReceiveRemoteMediaRecorderMessage(connection, decoder);
return;
}
-#if PLATFORM(COCOA) && ENABLE(VIDEO_TRACK)
- if (decoder.messageReceiverName() == Messages::RemoteAudioMediaStreamTrackRendererManager::messageReceiverName()) {
- audioTrackRendererManager().didReceiveMessageFromWebProcess(connection, decoder);
- return;
- }
- if (decoder.messageReceiverName() == Messages::RemoteAudioMediaStreamTrackRenderer::messageReceiverName()) {
- audioTrackRendererManager().didReceiveRendererMessage(connection, decoder);
- return;
- }
#endif
-#endif
#if PLATFORM(COCOA) && USE(LIBWEBRTC)
if (decoder.messageReceiverName() == Messages::LibWebRTCCodecsProxy::messageReceiverName()) {
libWebRTCCodecsProxy().didReceiveMessageFromWebProcess(connection, decoder);
Modified: trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h (254515 => 254516)
--- trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h 2020-01-14 17:48:50 UTC (rev 254516)
@@ -40,7 +40,6 @@
class GPUProcess;
class LibWebRTCCodecsProxy;
-class RemoteAudioMediaStreamTrackRendererManager;
class RemoteMediaPlayerManagerProxy;
class RemoteMediaRecorderManager;
class RemoteMediaResourceManager;
@@ -74,10 +73,7 @@
#if PLATFORM(COCOA) && ENABLE(MEDIA_STREAM)
UserMediaCaptureManagerProxy& userMediaCaptureManagerProxy();
RemoteMediaRecorderManager& mediaRecorderManager();
-#if ENABLE(VIDEO_TRACK)
- RemoteAudioMediaStreamTrackRendererManager& audioTrackRendererManager();
#endif
-#endif
// IPC::Connection::Client
void didClose(IPC::Connection&) final;
@@ -96,10 +92,7 @@
#if PLATFORM(COCOA) && ENABLE(MEDIA_STREAM)
std::unique_ptr<UserMediaCaptureManagerProxy> m_userMediaCaptureManagerProxy;
std::unique_ptr<RemoteMediaRecorderManager> m_remoteMediaRecorderManager;
-#if ENABLE(VIDEO_TRACK)
- std::unique_ptr<RemoteAudioMediaStreamTrackRendererManager> m_audioTrackRendererManager;
#endif
-#endif
#if PLATFORM(COCOA) && USE(LIBWEBRTC)
std::unique_ptr<LibWebRTCCodecsProxy> m_libWebRTCCodecsProxy;
#endif
Deleted: trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp (254515 => 254516)
--- trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp 2020-01-14 17:48:50 UTC (rev 254516)
@@ -1,142 +0,0 @@
-/*
- * Copyright (C) 2020 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "RemoteAudioMediaStreamTrackRenderer.h"
-
-#if PLATFORM(COCOA) && ENABLE(GPU_PROCESS) && ENABLE(VIDEO_TRACK) && ENABLE(MEDIA_STREAM)
-
-#include "SharedRingBufferStorage.h"
-#include <WebCore/AudioMediaStreamTrackRenderer.h>
-#include <WebCore/CARingBuffer.h>
-#include <WebCore/WebAudioBufferList.h>
-
-using namespace WebCore;
-
-namespace WebKit {
-
-#if !RELEASE_LOG_DISABLED
-static const void* nextLogIdentifier()
-{
- static uint64_t logIdentifier = cryptographicallyRandomNumber();
- return reinterpret_cast<const void*>(++logIdentifier);
-}
-
-static RefPtr<Logger>& nullLogger()
-{
- static NeverDestroyed<RefPtr<Logger>> logger;
- return logger;
-}
-#endif
-
-RemoteAudioMediaStreamTrackRenderer::RemoteAudioMediaStreamTrackRenderer()
- : m_renderer(WebCore::AudioMediaStreamTrackRenderer::create())
- , m_ringBuffer(makeUnique<CARingBuffer>(makeUniqueRef<SharedRingBufferStorage>(nullptr)))
-{
- ASSERT(m_renderer);
-
-#if !RELEASE_LOG_DISABLED
- if (!nullLogger().get()) {
- nullLogger() = Logger::create(this);
- nullLogger()->setEnabled(this, false);
- }
- m_renderer->setLogger(*nullLogger(), nextLogIdentifier());
-#endif
-}
-
-RemoteAudioMediaStreamTrackRenderer::~RemoteAudioMediaStreamTrackRenderer()
-{
- m_renderer->clear();
-}
-
-SharedRingBufferStorage& RemoteAudioMediaStreamTrackRenderer::storage()
-{
- return static_cast<SharedRingBufferStorage&>(m_ringBuffer->storage());
-}
-
-void RemoteAudioMediaStreamTrackRenderer::start()
-{
- m_renderer->start();
-}
-
-void RemoteAudioMediaStreamTrackRenderer::stop()
-{
- m_renderer->stop();
-}
-
-void RemoteAudioMediaStreamTrackRenderer::clear()
-{
- m_renderer->clear();
-}
-
-void RemoteAudioMediaStreamTrackRenderer::setMuted(bool value)
-{
- m_renderer->setMuted(value);
-}
-
-void RemoteAudioMediaStreamTrackRenderer::setVolume(float value)
-{
- m_renderer->setVolume(value);
-}
-
-void RemoteAudioMediaStreamTrackRenderer::audioSamplesStorageChanged(const SharedMemory::Handle& handle, const WebCore::CAAudioStreamDescription& description, uint64_t numberOfFrames)
-{
- ASSERT(m_ringBuffer);
- if (!m_ringBuffer)
- return;
-
- m_description = description;
-
- if (handle.isNull()) {
- m_ringBuffer->deallocate();
- storage().setReadOnly(false);
- storage().setStorage(nullptr);
- return;
- }
-
- auto memory = SharedMemory::map(handle, SharedMemory::Protection::ReadOnly);
- storage().setStorage(WTFMove(memory));
- storage().setReadOnly(true);
-
- m_ringBuffer->allocate(description, numberOfFrames);
-}
-
-void RemoteAudioMediaStreamTrackRenderer::audioSamplesAvailable(MediaTime time, uint64_t numberOfFrames, uint64_t startFrame, uint64_t endFrame)
-{
- ASSERT(m_ringBuffer);
- if (!m_ringBuffer)
- return;
-
- m_ringBuffer->setCurrentFrameBounds(startFrame, endFrame);
-
- WebAudioBufferList audioData(m_description, numberOfFrames);
- m_ringBuffer->fetch(audioData.list(), numberOfFrames, time.timeValue());
-
- m_renderer->pushSamples(time, audioData, m_description, numberOfFrames);
-}
-
-}
-
-#endif
Deleted: trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.h (254515 => 254516)
--- trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.h 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.h 2020-01-14 17:48:50 UTC (rev 254516)
@@ -1,81 +0,0 @@
-/*
- * Copyright (C) 2020 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#if PLATFORM(COCOA) && ENABLE(GPU_PROCESS) && ENABLE(VIDEO_TRACK) && ENABLE(MEDIA_STREAM)
-
-#include "MessageReceiver.h"
-#include "SharedMemory.h"
-#include <WebCore/CAAudioStreamDescription.h>
-#include <wtf/MediaTime.h>
-
-namespace IPC {
-class Connection;
-class DataReference;
-class Decoder;
-}
-
-namespace WebCore {
-class AudioMediaStreamTrackRenderer;
-class CAAudioStreamDescription;
-class CARingBuffer;
-}
-
-namespace WebKit {
-
-class GPUConnectionToWebProcess;
-class SharedRingBufferStorage;
-
-class RemoteAudioMediaStreamTrackRenderer final : private IPC::MessageReceiver {
- WTF_MAKE_FAST_ALLOCATED;
-public:
- RemoteAudioMediaStreamTrackRenderer();
- ~RemoteAudioMediaStreamTrackRenderer();
-
- void didReceiveMessage(IPC::Connection&, IPC::Decoder&) final;
-
-private:
- // IPC::MessageReceiver
- void start();
- void stop();
- void clear();
- void setMuted(bool);
- void setVolume(float);
- void audioSamplesStorageChanged(const SharedMemory::Handle&, const WebCore::CAAudioStreamDescription&, uint64_t numberOfFrames);
- void audioSamplesAvailable(MediaTime, uint64_t numberOfFrames, uint64_t startFrame, uint64_t endFrame);
-
- SharedRingBufferStorage& storage();
-
- std::unique_ptr<WebCore::AudioMediaStreamTrackRenderer> m_renderer;
-
- WebCore::CAAudioStreamDescription m_description;
- std::unique_ptr<WebCore::CARingBuffer> m_ringBuffer;
-};
-
-}
-
-#endif // PLATFORM(COCOA) && ENABLE(GPU_PROCESS) && ENABLE(VIDEO_TRACK) && ENABLE(MEDIA_STREAM)
-
Deleted: trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in (254515 => 254516)
--- trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in 2020-01-14 17:48:50 UTC (rev 254516)
@@ -1,38 +0,0 @@
-# Copyright (C) 2019 Apple Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
-# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
-# THE POSSIBILITY OF SUCH DAMAGE.
-
-#if PLATFORM(COCOA) && ENABLE(GPU_PROCESS) && ENABLE(VIDEO_TRACK) && ENABLE(MEDIA_STREAM)
-
-messages -> RemoteAudioMediaStreamTrackRenderer NotRefCounted {
- Start()
- Stop()
- Clear()
-
- SetMuted(bool value)
- SetVolume(float value)
-
- AudioSamplesStorageChanged(WebKit::SharedMemory::Handle storageHandle, WebCore::CAAudioStreamDescription description, uint64_t numberOfFrames)
- AudioSamplesAvailable(MediaTime time, uint64_t numberOfFrames, uint64_t startFrame, uint64_t endFrame)
-}
-
-#endif
Deleted: trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.cpp (254515 => 254516)
--- trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.cpp 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.cpp 2020-01-14 17:48:50 UTC (rev 254516)
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2020 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "RemoteAudioMediaStreamTrackRendererManager.h"
-
-#if PLATFORM(COCOA) && ENABLE(GPU_PROCESS) && ENABLE(VIDEO_TRACK) && ENABLE(MEDIA_STREAM)
-
-#include "Decoder.h"
-#include "RemoteAudioMediaStreamTrackRenderer.h"
-
-namespace WebKit {
-
-RemoteAudioMediaStreamTrackRendererManager::RemoteAudioMediaStreamTrackRendererManager() = default;
-
-RemoteAudioMediaStreamTrackRendererManager::~RemoteAudioMediaStreamTrackRendererManager() = default;
-
-void RemoteAudioMediaStreamTrackRendererManager::didReceiveRendererMessage(IPC::Connection& connection, IPC::Decoder& decoder)
-{
- if (auto* renderer = m_renderers.get(makeObjectIdentifier<AudioMediaStreamTrackRendererIdentifierType>(decoder.destinationID())))
- renderer->didReceiveMessage(connection, decoder);
-}
-
-void RemoteAudioMediaStreamTrackRendererManager::createRenderer(AudioMediaStreamTrackRendererIdentifier identifier)
-{
- ASSERT(!m_renderers.contains(identifier));
- m_renderers.add(identifier, makeUnique<RemoteAudioMediaStreamTrackRenderer>());
-}
-
-void RemoteAudioMediaStreamTrackRendererManager::releaseRenderer(AudioMediaStreamTrackRendererIdentifier identifier)
-{
- ASSERT(m_renderers.contains(identifier));
- m_renderers.remove(identifier);
-}
-
-}
-
-#endif // PLATFORM(COCOA) && ENABLE(GPU_PROCESS) && ENABLE(VIDEO_TRACK) && ENABLE(MEDIA_STREAM)
-
Deleted: trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.h (254515 => 254516)
--- trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.h 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.h 2020-01-14 17:48:50 UTC (rev 254516)
@@ -1,64 +0,0 @@
-/*
- * Copyright (C) 2020 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#if PLATFORM(COCOA) && ENABLE(GPU_PROCESS) && ENABLE(VIDEO_TRACK) && ENABLE(MEDIA_STREAM)
-
-#include "AudioMediaStreamTrackRendererIdentifier.h"
-#include "MessageReceiver.h"
-#include <wtf/Forward.h>
-#include <wtf/HashMap.h>
-
-namespace IPC {
-class Connection;
-class Decoder;
-}
-
-namespace WebKit {
-
-class RemoteAudioMediaStreamTrackRenderer;
-
-class RemoteAudioMediaStreamTrackRendererManager final : private IPC::MessageReceiver {
- WTF_MAKE_FAST_ALLOCATED;
-public:
- RemoteAudioMediaStreamTrackRendererManager();
- ~RemoteAudioMediaStreamTrackRendererManager();
-
- void didReceiveRendererMessage(IPC::Connection&, IPC::Decoder&);
- void didReceiveMessageFromWebProcess(IPC::Connection& connection, IPC::Decoder& decoder) { didReceiveMessage(connection, decoder); }
-
-private:
- // IPC::MessageReceiver
- void didReceiveMessage(IPC::Connection&, IPC::Decoder&) final;
- void createRenderer(AudioMediaStreamTrackRendererIdentifier);
- void releaseRenderer(AudioMediaStreamTrackRendererIdentifier);
-
- HashMap<AudioMediaStreamTrackRendererIdentifier, std::unique_ptr<RemoteAudioMediaStreamTrackRenderer>> m_renderers;
-};
-
-}
-
-#endif // PLATFORM(COCOA) && ENABLE(GPU_PROCESS) && ENABLE(VIDEO_TRACK) && ENABLE(MEDIA_STREAM)
Deleted: trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.messages.in (254515 => 254516)
--- trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.messages.in 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.messages.in 2020-01-14 17:48:50 UTC (rev 254516)
@@ -1,31 +0,0 @@
-# Copyright (C) 2019 Apple Inc. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
-# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
-# THE POSSIBILITY OF SUCH DAMAGE.
-
-#if PLATFORM(COCOA) && ENABLE(GPU_PROCESS) && ENABLE(VIDEO_TRACK) && ENABLE(MEDIA_STREAM)
-
-messages -> RemoteAudioMediaStreamTrackRendererManager NotRefCounted {
- CreateRenderer(WebKit::AudioMediaStreamTrackRendererIdentifier id)
- ReleaseRenderer(WebKit::AudioMediaStreamTrackRendererIdentifier id)
-}
-
-#endif
Modified: trunk/Source/WebKit/Scripts/webkit/messages.py (254515 => 254516)
--- trunk/Source/WebKit/Scripts/webkit/messages.py 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebKit/Scripts/webkit/messages.py 2020-01-14 17:48:50 UTC (rev 254516)
@@ -218,7 +218,6 @@
'WebCore::ServiceWorkerRegistrationIdentifier',
'WebCore::SWServerConnectionIdentifier',
'WebKit::ActivityStateChangeID',
- 'WebKit::AudioMediaStreamTrackRendererIdentifier',
'WebKit::LayerHostingContextID',
'WebKit::MediaPlayerPrivateRemoteIdentifier',
'WebKit::MediaRecorderIdentifier',
Modified: trunk/Source/WebKit/Sources.txt (254515 => 254516)
--- trunk/Source/WebKit/Sources.txt 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebKit/Sources.txt 2020-01-14 17:48:50 UTC (rev 254516)
@@ -24,8 +24,6 @@
GPUProcess/GPUProcess.cpp
GPUProcess/GPUConnectionToWebProcess.cpp
GPUProcess/GPUProcessCreationParameters.cpp
-GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp
-GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.cpp
GPUProcess/webrtc/RemoteMediaRecorder.cpp
GPUProcess/webrtc/RemoteMediaRecorderManager.cpp
GPUProcess/media/RemoteAudioTrackProxy.cpp
@@ -523,7 +521,6 @@
WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp
WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp
WebProcess/GPU/webrtc/MediaRecorderProvider.cpp
-WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp
WebProcess/Network/NetworkProcessConnection.cpp
WebProcess/Network/WebLoaderStrategy.cpp
Modified: trunk/Source/WebKit/SourcesCocoa.txt (254515 => 254516)
--- trunk/Source/WebKit/SourcesCocoa.txt 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebKit/SourcesCocoa.txt 2020-01-14 17:48:50 UTC (rev 254516)
@@ -639,8 +639,6 @@
GPUProcessMessageReceiver.cpp
LibWebRTCCodecsProxyMessageReceiver.cpp
LibWebRTCCodecsMessageReceiver.cpp
-RemoteAudioMediaStreamTrackRendererManagerMessageReceiver.cpp
-RemoteAudioMediaStreamTrackRendererMessageReceiver.cpp
RemoteMediaRecorderMessageReceiver.cpp
RemoteMediaRecorderManagerMessageReceiver.cpp
ServiceWorkerFetchTaskMessageReceiver.cpp
Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (254515 => 254516)
--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2020-01-14 17:48:50 UTC (rev 254516)
@@ -3380,12 +3380,6 @@
41D129D91F3D101400D15E47 /* WebCacheStorageProvider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebCacheStorageProvider.h; sourceTree = "<group>"; };
41D5C6D8238EB20D00B9B3CB /* ServiceWorkerSoftUpdateLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ServiceWorkerSoftUpdateLoader.h; sourceTree = "<group>"; };
41D5C6D9238EB20E00B9B3CB /* ServiceWorkerSoftUpdateLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ServiceWorkerSoftUpdateLoader.cpp; sourceTree = "<group>"; };
- 41D6455223CCB92100486E0E /* RemoteAudioMediaStreamTrackRenderer.messages.in */ = {isa = PBXFileReference; lastKnownFileType = text; name = RemoteAudioMediaStreamTrackRenderer.messages.in; path = GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in; sourceTree = SOURCE_ROOT; };
- 41D6455323CCB92100486E0E /* RemoteAudioMediaStreamTrackRenderer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RemoteAudioMediaStreamTrackRenderer.h; path = GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.h; sourceTree = SOURCE_ROOT; };
- 41D6455423CCB92200486E0E /* RemoteAudioMediaStreamTrackRenderer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RemoteAudioMediaStreamTrackRenderer.cpp; path = GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp; sourceTree = SOURCE_ROOT; };
- 41D6455523CCB96900486E0E /* RemoteAudioMediaStreamTrackRendererManager.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RemoteAudioMediaStreamTrackRendererManager.messages.in; sourceTree = "<group>"; };
- 41D6455623CCB96900486E0E /* RemoteAudioMediaStreamTrackRendererManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RemoteAudioMediaStreamTrackRendererManager.cpp; sourceTree = "<group>"; };
- 41D6455723CCB96900486E0E /* RemoteAudioMediaStreamTrackRendererManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RemoteAudioMediaStreamTrackRendererManager.h; sourceTree = "<group>"; };
41DC45941E3D6E1E00B11F51 /* NetworkRTCProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkRTCProvider.h; sourceTree = "<group>"; };
41DC45951E3D6E1E00B11F51 /* NetworkRTCProvider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkRTCProvider.cpp; sourceTree = "<group>"; };
41DC45981E3D6ED600B11F51 /* NetworkRTCProvider.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = NetworkRTCProvider.messages.in; sourceTree = "<group>"; };
@@ -3406,9 +3400,6 @@
41FBE822206DA79C000F0741 /* NetworkContentRuleListManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkContentRuleListManager.h; sourceTree = "<group>"; };
41FBE823206DA79C000F0741 /* NetworkContentRuleListManager.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = NetworkContentRuleListManager.messages.in; sourceTree = "<group>"; };
41FBE824206DA79C000F0741 /* NetworkContentRuleListManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkContentRuleListManager.cpp; sourceTree = "<group>"; };
- 41FCD6AD23CCC26000C62567 /* AudioMediaStreamTrackRenderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AudioMediaStreamTrackRenderer.h; sourceTree = "<group>"; };
- 41FCD6AE23CCC26100C62567 /* AudioMediaStreamTrackRenderer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AudioMediaStreamTrackRenderer.cpp; sourceTree = "<group>"; };
- 41FCD6AF23CCC26100C62567 /* AudioMediaStreamTrackRendererIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AudioMediaStreamTrackRendererIdentifier.h; sourceTree = "<group>"; };
4450AEBF1DC3FAE5009943F2 /* SharedMemoryCocoa.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SharedMemoryCocoa.cpp; sourceTree = "<group>"; };
4459984122833E6000E61373 /* SyntheticEditingCommandType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SyntheticEditingCommandType.h; sourceTree = "<group>"; };
449D90D821FD63FE00F677C0 /* LocalAuthenticationSoftLink.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = LocalAuthenticationSoftLink.mm; sourceTree = "<group>"; };
@@ -7185,9 +7176,6 @@
4172198823B6126100AE5686 /* webrtc */ = {
isa = PBXGroup;
children = (
- 41FCD6AE23CCC26100C62567 /* AudioMediaStreamTrackRenderer.cpp */,
- 41FCD6AD23CCC26000C62567 /* AudioMediaStreamTrackRenderer.h */,
- 41FCD6AF23CCC26100C62567 /* AudioMediaStreamTrackRendererIdentifier.h */,
4172198A23B6128200AE5686 /* LibWebRTCCodecs.cpp */,
4172198923B6128200AE5686 /* LibWebRTCCodecs.h */,
4172198D23B62C7C00AE5686 /* LibWebRTCCodecs.messages.in */,
@@ -7208,12 +7196,6 @@
41E0A7C623B6397800561060 /* LibWebRTCCodecsProxy.h */,
41E0A7C723B6397900561060 /* LibWebRTCCodecsProxy.messages.in */,
41E0A7C823B6397900561060 /* LibWebRTCCodecsProxy.mm */,
- 41D6455423CCB92200486E0E /* RemoteAudioMediaStreamTrackRenderer.cpp */,
- 41D6455323CCB92100486E0E /* RemoteAudioMediaStreamTrackRenderer.h */,
- 41D6455223CCB92100486E0E /* RemoteAudioMediaStreamTrackRenderer.messages.in */,
- 41D6455623CCB96900486E0E /* RemoteAudioMediaStreamTrackRendererManager.cpp */,
- 41D6455723CCB96900486E0E /* RemoteAudioMediaStreamTrackRendererManager.h */,
- 41D6455523CCB96900486E0E /* RemoteAudioMediaStreamTrackRendererManager.messages.in */,
4176E89D23C376D5003E83FE /* RemoteMediaRecorder.cpp */,
4176E89823C36677003E83FE /* RemoteMediaRecorder.h */,
4176E89C23C37479003E83FE /* RemoteMediaRecorder.messages.in */,
Modified: trunk/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.cpp (254515 => 254516)
--- trunk/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.cpp 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebKit/WebProcess/GPU/media/RemoteMediaPlayerManager.cpp 2020-01-14 17:48:50 UTC (rev 254516)
@@ -28,9 +28,7 @@
#if ENABLE(GPU_PROCESS)
-#include "AudioMediaStreamTrackRenderer.h"
#include "MediaPlayerPrivateRemote.h"
-#include "RemoteAudioMediaStreamTrackRenderer.h"
#include "RemoteMediaPlayerConfiguration.h"
#include "RemoteMediaPlayerMIMETypeCache.h"
#include "RemoteMediaPlayerManagerMessages.h"
@@ -362,9 +360,6 @@
};
RemoteMediaPlayerSupport::setRegisterRemotePlayerCallback(settings.useGPUProcessForMedia() ? WTFMove(registerEngine) : RemoteMediaPlayerSupport::RegisterRemotePlayerCallback());
-
- if (settings.useGPUProcessForMedia())
- WebCore::AudioMediaStreamTrackRenderer::setCreator(WebKit::AudioMediaStreamTrackRenderer::create);
}
void RemoteMediaPlayerManager::updateCachedState(MediaPlayerPrivateRemoteIdentifier id, RemoteMediaPlayerState&& state)
Deleted: trunk/Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp (254515 => 254516)
--- trunk/Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp 2020-01-14 17:48:50 UTC (rev 254516)
@@ -1,123 +0,0 @@
-/*
- * Copyright (C) 2020 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "AudioMediaStreamTrackRenderer.h"
-
-#if ENABLE(GPU_PROCESS)
-
-#if ENABLE(VIDEO_TRACK) && ENABLE(MEDIA_STREAM)
-
-#include "GPUProcessConnection.h"
-#include "RemoteAudioMediaStreamTrackRendererManagerMessages.h"
-#include "RemoteAudioMediaStreamTrackRendererMessages.h"
-#include "WebProcess.h"
-#include <WebCore/AudioMediaStreamTrackRenderer.h>
-#include <WebCore/CARingBuffer.h>
-#include <WebCore/WebAudioBufferList.h>
-
-namespace WebKit {
-
-std::unique_ptr<WebCore::AudioMediaStreamTrackRenderer> AudioMediaStreamTrackRenderer::create()
-{
- return std::unique_ptr<AudioMediaStreamTrackRenderer>(new AudioMediaStreamTrackRenderer { WebProcess::singleton().ensureGPUProcessConnection().connection() });
-}
-
-AudioMediaStreamTrackRenderer::AudioMediaStreamTrackRenderer(Ref<IPC::Connection>&& connection)
- : m_connection(WTFMove(connection))
- , m_identifier(AudioMediaStreamTrackRendererIdentifier::generate())
- , m_ringBuffer(makeUnique<WebCore::CARingBuffer>(makeUniqueRef<SharedRingBufferStorage>(this)))
-{
- m_connection->send(Messages::RemoteAudioMediaStreamTrackRendererManager::CreateRenderer { m_identifier }, 0);
-}
-
-AudioMediaStreamTrackRenderer::~AudioMediaStreamTrackRenderer()
-{
- m_connection->send(Messages::RemoteAudioMediaStreamTrackRendererManager::ReleaseRenderer { m_identifier }, 0);
-}
-
-void AudioMediaStreamTrackRenderer::start()
-{
- m_isPlaying = true;
- m_connection->send(Messages::RemoteAudioMediaStreamTrackRenderer::Start { }, m_identifier);
-}
-
-void AudioMediaStreamTrackRenderer::stop()
-{
- m_isPlaying = false;
- m_connection->send(Messages::RemoteAudioMediaStreamTrackRenderer::Stop { }, m_identifier);
-}
-
-void AudioMediaStreamTrackRenderer::clear()
-{
- m_connection->send(Messages::RemoteAudioMediaStreamTrackRenderer::Clear { }, m_identifier);
-}
-
-void AudioMediaStreamTrackRenderer::setMuted(bool value)
-{
- WebCore::AudioMediaStreamTrackRenderer::setMuted(value);
- m_connection->send(Messages::RemoteAudioMediaStreamTrackRenderer::SetMuted { value }, m_identifier);
-}
-
-void AudioMediaStreamTrackRenderer::setVolume(float value)
-{
- WebCore::AudioMediaStreamTrackRenderer::setVolume(value);
- m_connection->send(Messages::RemoteAudioMediaStreamTrackRenderer::SetVolume { value }, m_identifier);
-}
-
-void AudioMediaStreamTrackRenderer::pushSamples(const MediaTime& time, const WebCore::PlatformAudioData& audioData, const WebCore::AudioStreamDescription& description, size_t numberOfFrames)
-{
- if (!m_isPlaying)
- return;
-
- if (m_description != description) {
- ASSERT(description.platformDescription().type == WebCore::PlatformDescription::CAAudioStreamBasicType);
- m_description = *WTF::get<const AudioStreamBasicDescription*>(description.platformDescription().description);
-
- // Allocate a ring buffer large enough to contain 2 seconds of audio.
- m_numberOfFrames = m_description.sampleRate() * 2;
- m_ringBuffer->allocate(m_description.streamDescription(), m_numberOfFrames);
- }
-
- ASSERT(is<WebCore::WebAudioBufferList>(audioData));
- m_ringBuffer->store(downcast<WebCore::WebAudioBufferList>(audioData).list(), numberOfFrames, time.timeValue());
- uint64_t startFrame;
- uint64_t endFrame;
- m_ringBuffer->getCurrentFrameBounds(startFrame, endFrame);
- m_connection->send(Messages::RemoteAudioMediaStreamTrackRenderer::AudioSamplesAvailable { time, numberOfFrames, startFrame, endFrame }, m_identifier);
-}
-
-void AudioMediaStreamTrackRenderer::storageChanged(SharedMemory* storage)
-{
- SharedMemory::Handle handle;
- if (storage)
- storage->createHandle(handle, SharedMemory::Protection::ReadOnly);
- m_connection->send(Messages::RemoteAudioMediaStreamTrackRenderer::AudioSamplesStorageChanged { handle, m_description, static_cast<uint64_t>(m_numberOfFrames) }, m_identifier);
-}
-
-}
-#endif // ENABLE(VIDEO_TRACK) && ENABLE(MEDIA_STREAM)
-
-#endif // ENABLE(GPU_PROCESS)
Deleted: trunk/Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.h (254515 => 254516)
--- trunk/Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.h 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.h 2020-01-14 17:48:50 UTC (rev 254516)
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2020 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#if ENABLE(GPU_PROCESS)
-#if ENABLE(VIDEO_TRACK) && ENABLE(MEDIA_STREAM)
-
-#include "AudioMediaStreamTrackRendererIdentifier.h"
-#include "SharedRingBufferStorage.h"
-#include <WebCore/AudioMediaStreamTrackRenderer.h>
-#include <wtf/MediaTime.h>
-
-namespace IPC {
-class Connection;
-}
-
-namespace WebKit {
-
-class AudioMediaStreamTrackRenderer final : public WebCore::AudioMediaStreamTrackRenderer, public SharedRingBufferStorage::Client {
- WTF_MAKE_FAST_ALLOCATED;
-public:
- static std::unique_ptr<WebCore::AudioMediaStreamTrackRenderer> create();
- ~AudioMediaStreamTrackRenderer();
-
- AudioMediaStreamTrackRendererIdentifier identifier() const { return m_identifier; }
-
-private:
- explicit AudioMediaStreamTrackRenderer(Ref<IPC::Connection>&&);
-
- // SharedRingBufferStorage::Client
- void storageChanged(SharedMemory*);
-
- // WebCore::AudioMediaStreamTrackRenderer
- void start() final;
- void stop() final;
- void clear() final;
- void setMuted(bool) final;
- void setVolume(float) final;
- void pushSamples(const MediaTime&, const WebCore::PlatformAudioData&, const WebCore::AudioStreamDescription&, size_t) final;
-
- Ref<IPC::Connection> m_connection;
- AudioMediaStreamTrackRendererIdentifier m_identifier;
-
- std::unique_ptr<WebCore::CARingBuffer> m_ringBuffer;
- WebCore::CAAudioStreamDescription m_description { };
- int64_t m_numberOfFrames { 0 };
- bool m_isPlaying { false };
-};
-
-}
-
-#endif // ENABLE(VIDEO_TRACK) && ENABLE(MEDIA_STREAM)
-#endif // ENABLE(GPU_PROCESS)
Deleted: trunk/Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererIdentifier.h (254515 => 254516)
--- trunk/Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererIdentifier.h 2020-01-14 17:26:11 UTC (rev 254515)
+++ trunk/Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererIdentifier.h 2020-01-14 17:48:50 UTC (rev 254516)
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2019 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice , this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#if ENABLE(GPU_PROCESS)
-
-#include <wtf/ObjectIdentifier.h>
-
-namespace WebKit {
-
-enum AudioMediaStreamTrackRendererIdentifierType { };
-using AudioMediaStreamTrackRendererIdentifier = ObjectIdentifier<AudioMediaStreamTrackRendererIdentifierType>;
-
-} // namespace WebKit
-
-#endif