Title: [279366] trunk/Source
Revision
279366
Author
[email protected]
Date
2021-06-29 00:25:11 -0700 (Tue, 29 Jun 2021)

Log Message

Remove RemoteAudioMediaStreamTrackRenderer and RemoteAudioMediaStreamTrackRendererManager
https://bugs.webkit.org/show_bug.cgi?id=227438

Reviewed by Eric Carlson.

Source/WebCore:

* platform/mediastream/cocoa/AudioMediaStreamTrackRendererInternalUnit.cpp:
(WebCore::LocalAudioMediaStreamTrackRendererInternalUnit::start):
(WebCore::LocalAudioMediaStreamTrackRendererInternalUnit::stop):
Add some logging.

Source/WebKit:

Remove code no longer enabled.
This code was obsoleted by RemoteAudioMediaStreamTrackRendererInternalUnitManager and friends.
Update GPUProcess to not exit if RemoteAudioMediaStreamTrackRendererInternalUnitManager has some units,
like was done by RemoteAudioMediaStreamTrackRendererManager.

* DerivedSources.make:
* GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::GPUConnectionToWebProcess):
(WebKit::GPUConnectionToWebProcess::~GPUConnectionToWebProcess):
(WebKit::GPUConnectionToWebProcess::allowsExitUnderMemoryPressure const):
* GPUProcess/GPUConnectionToWebProcess.h:
* GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::audioMediaStreamTrackRendererQueue): Deleted.
* GPUProcess/GPUProcess.h:
* GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp: Removed.
* GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.h: Removed.
* GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in: Removed.
* GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp:
(WebKit::renderCallback):
(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::Unit):
(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::start):
* GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.h:
(WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::hasUnits):
* GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.cpp: Removed.
* GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.h: Removed.
* GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.messages.in: Removed.
* Scripts/webkit/messages.py:
(types_that_cannot_be_forward_declared):
* Sources.txt:
* SourcesCocoa.txt:
* WebKit.xcodeproj/project.pbxproj:
* WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp: Removed.
* WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.h: Removed.
* WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererIdentifier.h: Removed.

Modified Paths

Removed Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (279365 => 279366)


--- trunk/Source/WebCore/ChangeLog	2021-06-29 07:19:27 UTC (rev 279365)
+++ trunk/Source/WebCore/ChangeLog	2021-06-29 07:25:11 UTC (rev 279366)
@@ -1,3 +1,15 @@
+2021-06-29  Youenn Fablet  <[email protected]>
+
+        Remove RemoteAudioMediaStreamTrackRenderer and RemoteAudioMediaStreamTrackRendererManager
+        https://bugs.webkit.org/show_bug.cgi?id=227438
+
+        Reviewed by Eric Carlson.
+
+        * platform/mediastream/cocoa/AudioMediaStreamTrackRendererInternalUnit.cpp:
+        (WebCore::LocalAudioMediaStreamTrackRendererInternalUnit::start):
+        (WebCore::LocalAudioMediaStreamTrackRendererInternalUnit::stop):
+        Add some logging.
+
 2021-06-29  Antti Koivisto  <[email protected]>
 
         Enable Probabilistic Guard Malloc for RuleData and RuleFeature vectors

Modified: trunk/Source/WebCore/platform/mediastream/cocoa/AudioMediaStreamTrackRendererInternalUnit.cpp (279365 => 279366)


--- trunk/Source/WebCore/platform/mediastream/cocoa/AudioMediaStreamTrackRendererInternalUnit.cpp	2021-06-29 07:19:27 UTC (rev 279365)
+++ trunk/Source/WebCore/platform/mediastream/cocoa/AudioMediaStreamTrackRendererInternalUnit.cpp	2021-06-29 07:25:11 UTC (rev 279366)
@@ -117,6 +117,7 @@
 
 void LocalAudioMediaStreamTrackRendererInternalUnit::start()
 {
+    RELEASE_LOG_INFO(WebRTC, "LocalAudioMediaStreamTrackRendererInternalUnit::start");
     if (m_isStarted)
         return;
 
@@ -136,6 +137,7 @@
 
 void LocalAudioMediaStreamTrackRendererInternalUnit::stop()
 {
+    RELEASE_LOG_INFO(WebRTC, "LocalAudioMediaStreamTrackRendererInternalUnit::stop");
     if (!m_remoteIOUnit)
         return;
 

Modified: trunk/Source/WebKit/CMakeLists.txt (279365 => 279366)


--- trunk/Source/WebKit/CMakeLists.txt	2021-06-29 07:19:27 UTC (rev 279365)
+++ trunk/Source/WebKit/CMakeLists.txt	2021-06-29 07:25:11 UTC (rev 279366)
@@ -143,9 +143,7 @@
     GPUProcess/media/RemoteSourceBufferProxy
 
     GPUProcess/webrtc/LibWebRTCCodecsProxy
-    GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer
     GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager
-    GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager
     GPUProcess/webrtc/RemoteMediaRecorder
     GPUProcess/webrtc/RemoteMediaRecorderManager
     GPUProcess/webrtc/RemoteSampleBufferDisplayLayer

Modified: trunk/Source/WebKit/ChangeLog (279365 => 279366)


--- trunk/Source/WebKit/ChangeLog	2021-06-29 07:19:27 UTC (rev 279365)
+++ trunk/Source/WebKit/ChangeLog	2021-06-29 07:25:11 UTC (rev 279366)
@@ -1,3 +1,45 @@
+2021-06-29  Youenn Fablet  <[email protected]>
+
+        Remove RemoteAudioMediaStreamTrackRenderer and RemoteAudioMediaStreamTrackRendererManager
+        https://bugs.webkit.org/show_bug.cgi?id=227438
+
+        Reviewed by Eric Carlson.
+
+        Remove code no longer enabled.
+        This code was obsoleted by RemoteAudioMediaStreamTrackRendererInternalUnitManager and friends.
+        Update GPUProcess to not exit if RemoteAudioMediaStreamTrackRendererInternalUnitManager has some units,
+        like was done by RemoteAudioMediaStreamTrackRendererManager.
+
+        * DerivedSources.make:
+        * GPUProcess/GPUConnectionToWebProcess.cpp:
+        (WebKit::GPUConnectionToWebProcess::GPUConnectionToWebProcess):
+        (WebKit::GPUConnectionToWebProcess::~GPUConnectionToWebProcess):
+        (WebKit::GPUConnectionToWebProcess::allowsExitUnderMemoryPressure const):
+        * GPUProcess/GPUConnectionToWebProcess.h:
+        * GPUProcess/GPUProcess.cpp:
+        (WebKit::GPUProcess::audioMediaStreamTrackRendererQueue): Deleted.
+        * GPUProcess/GPUProcess.h:
+        * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp: Removed.
+        * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.h: Removed.
+        * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in: Removed.
+        * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp:
+        (WebKit::renderCallback):
+        (WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::Unit):
+        (WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::start):
+        * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.h:
+        (WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::hasUnits):
+        * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.cpp: Removed.
+        * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.h: Removed.
+        * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.messages.in: Removed.
+        * Scripts/webkit/messages.py:
+        (types_that_cannot_be_forward_declared):
+        * Sources.txt:
+        * SourcesCocoa.txt:
+        * WebKit.xcodeproj/project.pbxproj:
+        * WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp: Removed.
+        * WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.h: Removed.
+        * WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererIdentifier.h: Removed.
+
 2021-06-28  Wenson Hsieh  <[email protected]>
 
         REGRESSION (r279310): Occasional crash when focusing login fields on iPad with a software keyboard

Modified: trunk/Source/WebKit/DerivedSources.make (279365 => 279366)


--- trunk/Source/WebKit/DerivedSources.make	2021-06-29 07:19:27 UTC (rev 279365)
+++ trunk/Source/WebKit/DerivedSources.make	2021-06-29 07:25:11 UTC (rev 279366)
@@ -247,11 +247,9 @@
 	GPUProcess/graphics/RemoteGraphicsContextGL \
 	GPUProcess/webrtc/LibWebRTCCodecsProxy \
 	GPUProcess/webrtc/RemoteSampleBufferDisplayLayerManager \
-	GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager \
 	GPUProcess/webrtc/RemoteMediaRecorderManager \
 	GPUProcess/webrtc/RemoteSampleBufferDisplayLayer \
 	GPUProcess/webrtc/RemoteMediaRecorder \
-	GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer \
 	GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager \
 	GPUProcess/GPUProcess \
 	GPUProcess/media/RemoteImageDecoderAVFProxy \

Modified: trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp (279365 => 279366)


--- trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp	2021-06-29 07:19:27 UTC (rev 279365)
+++ trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp	2021-06-29 07:25:11 UTC (rev 279366)
@@ -43,7 +43,6 @@
 #include "RemoteAudioHardwareListenerProxy.h"
 #include "RemoteAudioMediaStreamTrackRendererInternalUnitManager.h"
 #include "RemoteAudioMediaStreamTrackRendererInternalUnitManagerMessages.h"
-#include "RemoteAudioMediaStreamTrackRendererManager.h"
 #include "RemoteGraphicsContextGLMessages.h"
 #include "RemoteMediaPlayerManagerProxy.h"
 #include "RemoteMediaPlayerManagerProxyMessages.h"
@@ -202,7 +201,6 @@
     , m_libWebRTCCodecsProxy(LibWebRTCCodecsProxy::create(*this))
 #endif
 #if PLATFORM(COCOA) && ENABLE(MEDIA_STREAM)
-    , m_audioTrackRendererManager(RemoteAudioMediaStreamTrackRendererManager::create(*this))
     , m_sampleBufferDisplayLayerManager(RemoteSampleBufferDisplayLayerManager::create(*this))
 #endif
 #if ENABLE(ROUTING_ARBITRATION) && HAVE(AVAUDIO_ROUTING_ARBITER)
@@ -232,7 +230,6 @@
     m_connection->invalidate();
 
 #if PLATFORM(COCOA) && ENABLE(MEDIA_STREAM)
-    m_audioTrackRendererManager->close();
     m_sampleBufferDisplayLayerManager->close();
 #endif
 #if PLATFORM(COCOA) && USE(LIBWEBRTC)
@@ -325,7 +322,7 @@
 #if PLATFORM(COCOA) && ENABLE(MEDIA_STREAM)
     if (m_userMediaCaptureManagerProxy && m_userMediaCaptureManagerProxy->hasSourceProxies())
         return false;
-    if (!m_audioTrackRendererManager->allowsExitUnderMemoryPressure())
+    if (m_audioMediaStreamTrackRendererInternalUnitManager && m_audioMediaStreamTrackRendererInternalUnitManager->hasUnits())
         return false;
     if (!m_sampleBufferDisplayLayerManager->allowsExitUnderMemoryPressure())
         return false;

Modified: trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h (279365 => 279366)


--- trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h	2021-06-29 07:19:27 UTC (rev 279365)
+++ trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h	2021-06-29 07:25:11 UTC (rev 279366)
@@ -60,7 +60,6 @@
 class LocalAudioSessionRoutingArbitrator;
 class RemoteAudioDestinationManager;
 class RemoteAudioHardwareListenerProxy;
-class RemoteAudioMediaStreamTrackRendererManager;
 class RemoteAudioMediaStreamTrackRendererInternalUnitManager;
 class RemoteAudioSessionProxy;
 class RemoteAudioSessionProxyManager;
@@ -243,7 +242,6 @@
 #if PLATFORM(COCOA) && ENABLE(MEDIA_STREAM)
     std::unique_ptr<UserMediaCaptureManagerProxy> m_userMediaCaptureManagerProxy;
     std::unique_ptr<RemoteAudioMediaStreamTrackRendererInternalUnitManager> m_audioMediaStreamTrackRendererInternalUnitManager;
-    Ref<RemoteAudioMediaStreamTrackRendererManager> m_audioTrackRendererManager;
     Ref<RemoteSampleBufferDisplayLayerManager> m_sampleBufferDisplayLayerManager;
 #endif
 #if PLATFORM(COCOA) && ENABLE(MEDIA_STREAM) && HAVE(AVASSETWRITERDELEGATE)

Modified: trunk/Source/WebKit/GPUProcess/GPUProcess.cpp (279365 => 279366)


--- trunk/Source/WebKit/GPUProcess/GPUProcess.cpp	2021-06-29 07:19:27 UTC (rev 279365)
+++ trunk/Source/WebKit/GPUProcess/GPUProcess.cpp	2021-06-29 07:25:11 UTC (rev 279366)
@@ -400,12 +400,6 @@
 #endif
 
 #if ENABLE(MEDIA_STREAM) && PLATFORM(COCOA)
-WorkQueue& GPUProcess::audioMediaStreamTrackRendererQueue()
-{
-    if (!m_audioMediaStreamTrackRendererQueue)
-        m_audioMediaStreamTrackRendererQueue = WorkQueue::create("RemoteAudioMediaStreamTrackRenderer", WorkQueue::Type::Serial, WorkQueue::QOS::UserInteractive);
-    return *m_audioMediaStreamTrackRendererQueue;
-}
 WorkQueue& GPUProcess::videoMediaStreamTrackRendererQueue()
 {
     if (!m_videoMediaStreamTrackRendererQueue)

Modified: trunk/Source/WebKit/GPUProcess/GPUProcess.h (279365 => 279366)


--- trunk/Source/WebKit/GPUProcess/GPUProcess.h	2021-06-29 07:19:27 UTC (rev 279365)
+++ trunk/Source/WebKit/GPUProcess/GPUProcess.h	2021-06-29 07:25:11 UTC (rev 279366)
@@ -84,7 +84,6 @@
     WebCore::NowPlayingManager& nowPlayingManager();
 
 #if ENABLE(MEDIA_STREAM) && PLATFORM(COCOA)
-    WorkQueue& audioMediaStreamTrackRendererQueue();
     WorkQueue& videoMediaStreamTrackRendererQueue();
 #endif
 #if USE(LIBWEBRTC) && PLATFORM(COCOA)
@@ -164,7 +163,6 @@
     };
     HashMap<WebCore::ProcessIdentifier, MediaCaptureAccess> m_mediaCaptureAccessMap;
 #if ENABLE(MEDIA_STREAM) && PLATFORM(COCOA)
-    RefPtr<WorkQueue> m_audioMediaStreamTrackRendererQueue;
     RefPtr<WorkQueue> m_videoMediaStreamTrackRendererQueue;
 #endif
     uint64_t m_orientation { 0 };

Deleted: trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp (279365 => 279366)


--- trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp	2021-06-29 07:19:27 UTC (rev 279365)
+++ trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp	2021-06-29 07:25:11 UTC (rev 279366)
@@ -1,122 +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(MEDIA_STREAM)
-
-#include "Connection.h"
-#include "RemoteAudioMediaStreamTrackRendererManager.h"
-#include "SharedRingBufferStorage.h"
-#include <WebCore/AudioMediaStreamTrackRenderer.h>
-#include <WebCore/CARingBuffer.h>
-#include <WebCore/WebAudioBufferList.h>
-
-#define MESSAGE_CHECK(assertion) MESSAGE_CHECK_BASE(assertion, (&m_manager.connection()))
-
-namespace WebKit {
-using namespace WebCore;
-
-#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(RemoteAudioMediaStreamTrackRendererManager& manager)
-    : m_manager(manager)
-    , m_renderer(WebCore::AudioMediaStreamTrackRenderer::create())
-    , m_ringBuffer(makeUniqueRef<CARingBuffer>())
-{
-    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();
-}
-
-void RemoteAudioMediaStreamTrackRenderer::start()
-{
-    m_renderer->start([] { });
-}
-
-void RemoteAudioMediaStreamTrackRenderer::stop()
-{
-    m_renderer->stop();
-}
-
-void RemoteAudioMediaStreamTrackRenderer::clear()
-{
-    m_renderer->clear();
-}
-
-void RemoteAudioMediaStreamTrackRenderer::setVolume(float value)
-{
-    m_renderer->setVolume(value);
-}
-
-void RemoteAudioMediaStreamTrackRenderer::audioSamplesStorageChanged(const SharedMemory::IPCHandle& ipcHandle, const WebCore::CAAudioStreamDescription& description, uint64_t numberOfFrames)
-{
-    MESSAGE_CHECK(WebAudioBufferList::isSupportedDescription(description, numberOfFrames));
-    m_description = description;
-
-    m_ringBuffer = CARingBuffer::adoptStorage(makeUniqueRef<ReadOnlySharedRingBufferStorage>(ipcHandle.handle), description, numberOfFrames);
-    m_audioBufferList = makeUnique<WebAudioBufferList>(m_description);
-}
-
-void RemoteAudioMediaStreamTrackRenderer::audioSamplesAvailable(MediaTime time, uint64_t numberOfFrames)
-{
-    MESSAGE_CHECK(m_audioBufferList);
-    MESSAGE_CHECK(WebAudioBufferList::isSupportedDescription(m_description, numberOfFrames));
-
-    m_audioBufferList->setSampleCount(numberOfFrames);
-    m_ringBuffer->fetch(m_audioBufferList->list(), numberOfFrames, time.timeValue());
-
-    m_renderer->pushSamples(time, *m_audioBufferList, m_description, numberOfFrames);
-}
-
-}
-
-#undef MESSAGE_CHECK
-
-#endif // PLATFORM(COCOA) && ENABLE(GPU_PROCESS) && ENABLE(MEDIA_STREAM)

Deleted: trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.h (279365 => 279366)


--- trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.h	2021-06-29 07:19:27 UTC (rev 279365)
+++ trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.h	2021-06-29 07:25:11 UTC (rev 279366)
@@ -1,73 +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(MEDIA_STREAM)
-
-#include "MessageReceiver.h"
-#include "SharedMemory.h"
-#include <WebCore/CAAudioStreamDescription.h>
-#include <wtf/MediaTime.h>
-#include <wtf/UniqueRef.h>
-
-namespace WebCore {
-class AudioMediaStreamTrackRenderer;
-class CARingBuffer;
-class WebAudioBufferList;
-}
-
-namespace WebKit {
-
-class RemoteAudioMediaStreamTrackRendererManager;
-class SharedRingBufferStorage;
-
-class RemoteAudioMediaStreamTrackRenderer {
-    WTF_MAKE_FAST_ALLOCATED;
-public:
-    explicit RemoteAudioMediaStreamTrackRenderer(RemoteAudioMediaStreamTrackRendererManager&);
-    ~RemoteAudioMediaStreamTrackRenderer();
-
-    void didReceiveMessage(IPC::Connection&, IPC::Decoder&);
-
-private:
-    // IPC::MessageReceiver
-    void start();
-    void stop();
-    void clear();
-    void setVolume(float);
-    void audioSamplesStorageChanged(const SharedMemory::IPCHandle&, const WebCore::CAAudioStreamDescription&, uint64_t numberOfFrames);
-    void audioSamplesAvailable(MediaTime, uint64_t numberOfFrames);
-
-    RemoteAudioMediaStreamTrackRendererManager& m_manager;
-    std::unique_ptr<WebCore::AudioMediaStreamTrackRenderer> m_renderer;
-    WebCore::CAAudioStreamDescription m_description;
-    UniqueRef<WebCore::CARingBuffer> m_ringBuffer;
-    std::unique_ptr<WebCore::WebAudioBufferList> m_audioBufferList;
-};
-
-}
-
-#endif // PLATFORM(COCOA) && ENABLE(GPU_PROCESS) && ENABLE(MEDIA_STREAM)

Deleted: trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in (279365 => 279366)


--- trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in	2021-06-29 07:19:27 UTC (rev 279365)
+++ trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in	2021-06-29 07:25:11 UTC (rev 279366)
@@ -1,37 +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(MEDIA_STREAM)
-
-messages -> RemoteAudioMediaStreamTrackRenderer NotRefCounted {
-    Start()
-    Stop()
-    Clear()
-
-    SetVolume(float value)
-
-    AudioSamplesStorageChanged(WebKit::SharedMemory::IPCHandle storageHandle, WebCore::CAAudioStreamDescription description, uint64_t numberOfFrames)
-    AudioSamplesAvailable(MediaTime time, uint64_t numberOfFrames)
-}
-
-#endif

Modified: trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp (279365 => 279366)


--- trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp	2021-06-29 07:19:27 UTC (rev 279365)
+++ trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp	2021-06-29 07:25:11 UTC (rev 279366)
@@ -32,6 +32,7 @@
 #include "GPUProcess.h"
 #include "GPUProcessConnectionMessages.h"
 #include "IPCSemaphore.h"
+#include "Logging.h"
 #include <WebCore/AudioMediaStreamTrackRendererInternalUnit.h>
 #include <WebCore/AudioSession.h>
 #include <WebCore/AudioUtilities.h>
@@ -114,7 +115,7 @@
         unit->setAudioOutputDevice(deviceId);
 }
 
-static AudioMediaStreamTrackRendererInternalUnit::RenderCallback renderCallback(RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit& unit)
+static WebCore::AudioMediaStreamTrackRendererInternalUnit::RenderCallback renderCallback(RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit& unit)
 {
     return [&unit](auto sampleCount, auto& list, auto sampleTime, auto hostTime, auto& flags) {
         return unit.render(sampleCount, list, sampleTime, hostTime, flags);
@@ -128,10 +129,11 @@
 {
     m_localUnit->retrieveFormatDescription([weakThis = makeWeakPtr(this), this, callback = WTFMove(callback)](auto&& description) mutable {
         if (!weakThis || !description) {
+            RELEASE_LOG_IF(!description, WebRTC, "RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit unable to get format description");
             callback({ }, 0);
             return;
         }
-        m_frameChunkSize = std::max(WebCore::AudioUtilities::renderQuantumSize, AudioSession::sharedSession().preferredBufferSize());
+        m_frameChunkSize = std::max(WebCore::AudioUtilities::renderQuantumSize, WebCore::AudioSession::sharedSession().preferredBufferSize());
         callback(*description, m_frameChunkSize);
     });
 }
@@ -148,7 +150,7 @@
 
     m_readOffset = 0;
     m_isPlaying = true;
-    m_ringBuffer = CARingBuffer::adoptStorage(makeUniqueRef<ReadOnlySharedRingBufferStorage>(handle), description, numberOfFrames).moveToUniquePtr();
+    m_ringBuffer = WebCore::CARingBuffer::adoptStorage(makeUniqueRef<ReadOnlySharedRingBufferStorage>(handle), description, numberOfFrames).moveToUniquePtr();
     m_renderSemaphore = WTFMove(semaphore);
     m_localUnit->start();
 }

Modified: trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.h (279365 => 279366)


--- trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.h	2021-06-29 07:19:27 UTC (rev 279365)
+++ trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.h	2021-06-29 07:25:11 UTC (rev 279366)
@@ -57,6 +57,7 @@
 
     void didReceiveMessage(IPC::Connection&, IPC::Decoder&);
 
+    bool hasUnits() { return !m_units.isEmpty(); }
     class Unit;
 
 private:

Deleted: trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.cpp (279365 => 279366)


--- trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.cpp	2021-06-29 07:19:27 UTC (rev 279365)
+++ trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.cpp	2021-06-29 07:25:11 UTC (rev 279366)
@@ -1,98 +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(MEDIA_STREAM)
-
-#include "Decoder.h"
-#include "GPUProcess.h"
-#include "RemoteAudioMediaStreamTrackRenderer.h"
-#include "RemoteAudioMediaStreamTrackRendererManagerMessages.h"
-#include "RemoteAudioMediaStreamTrackRendererMessages.h"
-
-namespace WebKit {
-
-
-RemoteAudioMediaStreamTrackRendererManager::RemoteAudioMediaStreamTrackRendererManager(GPUConnectionToWebProcess& connectionToWebProcess)
-    : m_connectionToWebProcess(connectionToWebProcess)
-    , m_queue(connectionToWebProcess.gpuProcess().audioMediaStreamTrackRendererQueue())
-{
-}
-
-void RemoteAudioMediaStreamTrackRendererManager::startListeningForIPC()
-{
-    m_connectionToWebProcess.connection().addThreadMessageReceiver(Messages::RemoteAudioMediaStreamTrackRenderer::messageReceiverName(), this);
-    m_connectionToWebProcess.connection().addThreadMessageReceiver(Messages::RemoteAudioMediaStreamTrackRendererManager::messageReceiverName(), this);
-}
-
-RemoteAudioMediaStreamTrackRendererManager::~RemoteAudioMediaStreamTrackRendererManager() = default;
-
-void RemoteAudioMediaStreamTrackRendererManager::close()
-{
-    m_connectionToWebProcess.connection().removeThreadMessageReceiver(Messages::RemoteAudioMediaStreamTrackRenderer::messageReceiverName());
-    m_connectionToWebProcess.connection().removeThreadMessageReceiver(Messages::RemoteAudioMediaStreamTrackRendererManager::messageReceiverName());
-    dispatchToThread([this, protectedThis = makeRef(*this)] {
-        m_renderers.clear();
-    });
-}
-
-void RemoteAudioMediaStreamTrackRendererManager::dispatchToThread(Function<void()>&& callback)
-{
-    m_queue->dispatch(WTFMove(callback));
-}
-
-bool RemoteAudioMediaStreamTrackRendererManager::dispatchMessage(IPC::Connection& connection, IPC::Decoder& decoder)
-{
-    if (!decoder.destinationID())
-        return false;
-
-    auto identifier = makeObjectIdentifier<AudioMediaStreamTrackRendererIdentifierType>(decoder.destinationID());
-    if (auto* renderer = m_renderers.get(identifier))
-        renderer->didReceiveMessage(connection, decoder);
-    return true;
-}
-
-void RemoteAudioMediaStreamTrackRendererManager::createRenderer(AudioMediaStreamTrackRendererIdentifier identifier)
-{
-    ASSERT(!m_renderers.contains(identifier));
-    m_renderers.add(identifier, makeUnique<RemoteAudioMediaStreamTrackRenderer>(*this));
-}
-
-void RemoteAudioMediaStreamTrackRendererManager::releaseRenderer(AudioMediaStreamTrackRendererIdentifier identifier)
-{
-    ASSERT(m_renderers.contains(identifier));
-    m_renderers.remove(identifier);
-}
-
-bool RemoteAudioMediaStreamTrackRendererManager::allowsExitUnderMemoryPressure() const
-{
-    return m_renderers.isEmpty();
-}
-
-}
-
-#endif // PLATFORM(COCOA) && ENABLE(GPU_PROCESS) && ENABLE(MEDIA_STREAM)

Deleted: trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.h (279365 => 279366)


--- trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.h	2021-06-29 07:19:27 UTC (rev 279365)
+++ trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.h	2021-06-29 07:25:11 UTC (rev 279366)
@@ -1,85 +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(MEDIA_STREAM)
-
-#include "AudioMediaStreamTrackRendererIdentifier.h"
-#include "Connection.h"
-#include "GPUConnectionToWebProcess.h"
-#include <wtf/Forward.h>
-#include <wtf/HashMap.h>
-
-namespace IPC {
-class Connection;
-class Decoder;
-}
-
-namespace WebKit {
-
-class RemoteAudioMediaStreamTrackRenderer;
-
-class RemoteAudioMediaStreamTrackRendererManager final : public IPC::Connection::ThreadMessageReceiverRefCounted {
-    WTF_MAKE_FAST_ALLOCATED;
-public:
-    static Ref<RemoteAudioMediaStreamTrackRendererManager> create(GPUConnectionToWebProcess& process)
-    {
-        auto instance = adoptRef(*new RemoteAudioMediaStreamTrackRendererManager(process));
-        instance->startListeningForIPC();
-        return instance;
-    }
-    ~RemoteAudioMediaStreamTrackRendererManager();
-
-    void didReceiveRendererMessage(IPC::Connection&, IPC::Decoder&);
-    void didReceiveMessageFromWebProcess(IPC::Connection& connection, IPC::Decoder& decoder) { didReceiveMessage(connection, decoder); }
-
-    IPC::Connection& connection() const { return m_connectionToWebProcess.connection(); }
-
-    void close();
-
-    bool allowsExitUnderMemoryPressure() const;
-
-private:
-    explicit RemoteAudioMediaStreamTrackRendererManager(GPUConnectionToWebProcess&);
-    void startListeningForIPC();
-
-    // IPC::Connection::ThreadMessageReceiver
-    void dispatchToThread(Function<void()>&&) final;
-
-    // IPC::MessageReceiver
-    void didReceiveMessage(IPC::Connection&, IPC::Decoder&) final;
-    bool dispatchMessage(IPC::Connection&, IPC::Decoder&);
-    void createRenderer(AudioMediaStreamTrackRendererIdentifier);
-    void releaseRenderer(AudioMediaStreamTrackRendererIdentifier);
-
-    GPUConnectionToWebProcess& m_connectionToWebProcess;
-    Ref<WorkQueue> m_queue;
-    HashMap<AudioMediaStreamTrackRendererIdentifier, std::unique_ptr<RemoteAudioMediaStreamTrackRenderer>> m_renderers;
-};
-
-}
-
-#endif // PLATFORM(COCOA) && ENABLE(GPU_PROCESS) && ENABLE(MEDIA_STREAM)

Deleted: trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.messages.in (279365 => 279366)


--- trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.messages.in	2021-06-29 07:19:27 UTC (rev 279365)
+++ trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.messages.in	2021-06-29 07:25:11 UTC (rev 279366)
@@ -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(MEDIA_STREAM)
-
-messages -> RemoteAudioMediaStreamTrackRendererManager WantsAsyncDispatchMessage {
-    CreateRenderer(WebKit::AudioMediaStreamTrackRendererIdentifier id)
-    ReleaseRenderer(WebKit::AudioMediaStreamTrackRendererIdentifier id)
-}
-
-#endif

Modified: trunk/Source/WebKit/Scripts/webkit/messages.py (279365 => 279366)


--- trunk/Source/WebKit/Scripts/webkit/messages.py	2021-06-29 07:19:27 UTC (rev 279365)
+++ trunk/Source/WebKit/Scripts/webkit/messages.py	2021-06-29 07:25:11 UTC (rev 279366)
@@ -307,7 +307,6 @@
         'WebCore::SWServerConnectionIdentifier',
         'WebCore::WebSocketIdentifier',
         'WebKit::ActivityStateChangeID',
-        'WebKit::AudioMediaStreamTrackRendererIdentifier',
         'WebKit::AudioMediaStreamTrackRendererInternalUnitIdentifier',
         'WebKit::ContentWorldIdentifier',
         'WebKit::DisplayLinkObserverID',

Modified: trunk/Source/WebKit/Sources.txt (279365 => 279366)


--- trunk/Source/WebKit/Sources.txt	2021-06-29 07:19:27 UTC (rev 279365)
+++ trunk/Source/WebKit/Sources.txt	2021-06-29 07:25:11 UTC (rev 279366)
@@ -52,8 +52,6 @@
 GPUProcess/media/RemoteSourceBufferProxy.cpp
 GPUProcess/media/RemoteTextTrackProxy.cpp
 GPUProcess/media/RemoteVideoTrackProxy.cpp
-GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp
-GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.cpp
 GPUProcess/webrtc/RemoteMediaRecorder.cpp
 GPUProcess/webrtc/RemoteMediaRecorderManager.cpp
 GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp
@@ -613,7 +611,6 @@
 WebProcess/GPU/media/TextTrackPrivateRemote.cpp
 WebProcess/GPU/media/VideoTrackPrivateRemote.cpp
 WebProcess/GPU/media/WebMediaStrategy.cpp
-WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp
 WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp
 WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp
 WebProcess/GPU/webrtc/MediaRecorderProvider.cpp

Modified: trunk/Source/WebKit/SourcesCocoa.txt (279365 => 279366)


--- trunk/Source/WebKit/SourcesCocoa.txt	2021-06-29 07:19:27 UTC (rev 279365)
+++ trunk/Source/WebKit/SourcesCocoa.txt	2021-06-29 07:25:11 UTC (rev 279366)
@@ -719,8 +719,6 @@
 RemoteAudioHardwareListenerMessageReceiver.cpp
 RemoteAudioSessionMessageReceiver.cpp
 RemoteAudioSessionProxyMessageReceiver.cpp
-RemoteAudioMediaStreamTrackRendererManagerMessageReceiver.cpp
-RemoteAudioMediaStreamTrackRendererMessageReceiver.cpp
 RemoteAudioSourceProviderManagerMessageReceiver.cpp
 RemoteImageDecoderAVFProxyMessageReceiver.cpp
 RemoteImageDecoderAVFManagerMessageReceiver.cpp

Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (279365 => 279366)


--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2021-06-29 07:19:27 UTC (rev 279365)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2021-06-29 07:25:11 UTC (rev 279366)
@@ -3833,12 +3833,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>"; };
@@ -3860,9 +3854,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>"; };
 		41FCD6B323CDC60400C62567 /* SampleBufferDisplayLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SampleBufferDisplayLayer.h; sourceTree = "<group>"; };
 		41FCD6B423CDCAC200C62567 /* RemoteSampleBufferDisplayLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RemoteSampleBufferDisplayLayer.h; sourceTree = "<group>"; };
 		41FCD6B523CDE1C600C62567 /* RemoteSampleBufferDisplayLayer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RemoteSampleBufferDisplayLayer.cpp; sourceTree = "<group>"; };
@@ -8459,9 +8450,6 @@
 		4172198823B6126100AE5686 /* webrtc */ = {
 			isa = PBXGroup;
 			children = (
-				41FCD6AE23CCC26100C62567 /* AudioMediaStreamTrackRenderer.cpp */,
-				41FCD6AD23CCC26000C62567 /* AudioMediaStreamTrackRenderer.h */,
-				41FCD6AF23CCC26100C62567 /* AudioMediaStreamTrackRendererIdentifier.h */,
 				41C3B88726444AD3004ED4DE /* AudioMediaStreamTrackRendererInternalUnitIdentifier.h */,
 				41C3B88626444AAC004ED4DE /* AudioMediaStreamTrackRendererInternalUnitManager.cpp */,
 				41C3B88526444AAB004ED4DE /* AudioMediaStreamTrackRendererInternalUnitManager.h */,
@@ -8493,15 +8481,9 @@
 				41E0A7C623B6397800561060 /* LibWebRTCCodecsProxy.h */,
 				41E0A7C723B6397900561060 /* LibWebRTCCodecsProxy.messages.in */,
 				41E0A7C823B6397900561060 /* LibWebRTCCodecsProxy.mm */,
-				41D6455423CCB92200486E0E /* RemoteAudioMediaStreamTrackRenderer.cpp */,
-				41D6455323CCB92100486E0E /* RemoteAudioMediaStreamTrackRenderer.h */,
-				41D6455223CCB92100486E0E /* RemoteAudioMediaStreamTrackRenderer.messages.in */,
 				41C3B89126493B7B004ED4DE /* RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp */,
 				41C3B89026493B7B004ED4DE /* RemoteAudioMediaStreamTrackRendererInternalUnitManager.h */,
 				41C3B89426493B7C004ED4DE /* RemoteAudioMediaStreamTrackRendererInternalUnitManager.messages.in */,
-				41D6455623CCB96900486E0E /* RemoteAudioMediaStreamTrackRendererManager.cpp */,
-				41D6455723CCB96900486E0E /* RemoteAudioMediaStreamTrackRendererManager.h */,
-				41D6455523CCB96900486E0E /* RemoteAudioMediaStreamTrackRendererManager.messages.in */,
 				4176E89D23C376D5003E83FE /* RemoteMediaRecorder.cpp */,
 				4176E89823C36677003E83FE /* RemoteMediaRecorder.h */,
 				4176E89C23C37479003E83FE /* RemoteMediaRecorder.messages.in */,

Deleted: trunk/Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp (279365 => 279366)


--- trunk/Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp	2021-06-29 07:19:27 UTC (rev 279365)
+++ trunk/Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp	2021-06-29 07:25:11 UTC (rev 279366)
@@ -1,136 +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 PLATFORM(COCOA) && ENABLE(GPU_PROCESS) && 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>(std::bind(&AudioMediaStreamTrackRenderer::storageChanged, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3))))
-{
-    initialize();
-}
-
-AudioMediaStreamTrackRenderer::~AudioMediaStreamTrackRenderer()
-{
-    if (auto* connection = WebProcess::singleton().existingGPUProcessConnection())
-        connection->removeClient(*this);
-    m_connection->send(Messages::RemoteAudioMediaStreamTrackRendererManager::ReleaseRenderer { m_identifier }, 0);
-}
-
-void AudioMediaStreamTrackRenderer::initialize()
-{
-    WebProcess::singleton().ensureGPUProcessConnection().addClient(*this);
-    m_connection->send(Messages::RemoteAudioMediaStreamTrackRendererManager::CreateRenderer { m_identifier }, 0);
-}
-
-void AudioMediaStreamTrackRenderer::start(CompletionHandler<void()>&& callback)
-{
-    m_isPlaying = true;
-    m_connection->send(Messages::RemoteAudioMediaStreamTrackRenderer::Start { }, m_identifier);
-    callback();
-}
-
-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::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) {
-        DisableMallocRestrictionsForCurrentThreadScope scope;
-        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, m_numberOfFrames);
-    }
-
-    ASSERT(is<WebCore::WebAudioBufferList>(audioData));
-    m_ringBuffer->store(downcast<WebCore::WebAudioBufferList>(audioData).list(), numberOfFrames, time.timeValue());
-
-    DisableMallocRestrictionsForCurrentThreadScope scope;
-    m_connection->send(Messages::RemoteAudioMediaStreamTrackRenderer::AudioSamplesAvailable { time, numberOfFrames }, m_identifier);
-}
-
-void AudioMediaStreamTrackRenderer::storageChanged(SharedMemory* storage, const WebCore::CAAudioStreamDescription& format, size_t frameCount)
-{
-    SharedMemory::Handle handle;
-    if (storage)
-        storage->createHandle(handle, SharedMemory::Protection::ReadOnly);
-    
-    // FIXME: Send the actual data size with IPCHandle.
-#if OS(DARWIN) || OS(WINDOWS)
-    uint64_t dataSize = handle.size();
-#else
-    uint64_t dataSize = 0;
-#endif
-    DisableMallocRestrictionsForCurrentThreadScope scope;
-    m_connection->send(Messages::RemoteAudioMediaStreamTrackRenderer::AudioSamplesStorageChanged { SharedMemory::IPCHandle { WTFMove(handle), dataSize }, format, frameCount }, m_identifier);
-}
-
-void AudioMediaStreamTrackRenderer::gpuProcessConnectionDidClose(GPUProcessConnection&)
-{
-    crashed();
-}
-
-}
-
-#endif // PLATFORM(COCOA) && ENABLE(GPU_PROCESS) && ENABLE(MEDIA_STREAM)

Deleted: trunk/Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.h (279365 => 279366)


--- trunk/Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.h	2021-06-29 07:19:27 UTC (rev 279365)
+++ trunk/Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.h	2021-06-29 07:25:11 UTC (rev 279366)
@@ -1,77 +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(MEDIA_STREAM)
-
-#include "AudioMediaStreamTrackRendererIdentifier.h"
-#include "GPUProcessConnection.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 GPUProcessConnection::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>&&);
-
-    void initialize();
-    void storageChanged(SharedMemory*, const WebCore::CAAudioStreamDescription& format, size_t frameCount);
-
-    // WebCore::AudioMediaStreamTrackRenderer
-    void start(CompletionHandler<void()>&&) final;
-    void stop() final;
-    void clear() final;
-    void setVolume(float) final;
-    void pushSamples(const MediaTime&, const WebCore::PlatformAudioData&, const WebCore::AudioStreamDescription&, size_t) final;
-
-    // GPUProcessConnection::Client
-    void gpuProcessConnectionDidClose(GPUProcessConnection&) 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 // PLATFORM(COCOA) && ENABLE(GPU_PROCESS) && ENABLE(MEDIA_STREAM)

Deleted: trunk/Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererIdentifier.h (279365 => 279366)


--- trunk/Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererIdentifier.h	2021-06-29 07:19:27 UTC (rev 279365)
+++ trunk/Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererIdentifier.h	2021-06-29 07:25:11 UTC (rev 279366)
@@ -1,35 +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
-
-#include <wtf/ObjectIdentifier.h>
-
-namespace WebKit {
-
-enum AudioMediaStreamTrackRendererIdentifierType { };
-using AudioMediaStreamTrackRendererIdentifier = ObjectIdentifier<AudioMediaStreamTrackRendererIdentifierType>;
-
-} // namespace WebKit
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to