Diff
Modified: trunk/Source/WebCore/ChangeLog (275457 => 275458)
--- trunk/Source/WebCore/ChangeLog 2021-04-06 00:09:31 UTC (rev 275457)
+++ trunk/Source/WebCore/ChangeLog 2021-04-06 00:11:27 UTC (rev 275458)
@@ -1,3 +1,28 @@
+2021-04-05 Jer Noble <jer.no...@apple.com>
+
+ [MediaSession] Small refactoring of MediaSession implementation classes
+ https://bugs.webkit.org/show_bug.cgi?id=224141
+
+ Reviewed by Eric Carlson.
+
+ A smorgasboard of small refactoring changes:
+
+ - Don't call action handlers by default in response to coordinator requests.
+ - Since we don't call the action handlers, we don't need the internal methods.
+ - Simplify the call site by defining the action details inline.
+
+ * Modules/mediasession/MediaSessionCoordinator.cpp:
+ (WebCore::MediaSessionCoordinator::seekSessionToTime):
+ (WebCore::MediaSessionCoordinator::playSession):
+ (WebCore::MediaSessionCoordinator::pauseSession):
+ (WebCore::MediaSessionCoordinator::setSessionTrack):
+ (WebCore::MediaSessionCoordinator::internalSeekTo): Deleted.
+ (WebCore::MediaSessionCoordinator::internalPlay): Deleted.
+ (WebCore::MediaSessionCoordinator::internalPause): Deleted.
+ (WebCore::MediaSessionCoordinator::internalSetTrack): Deleted.
+ * Modules/mediasession/MediaSessionCoordinator.h:
+ * Modules/mediasession/MediaSessionCoordinatorPrivate.h:
+
2021-04-05 Yusuke Suzuki <ysuz...@apple.com>
Define AtomString(ASCIILiteral) and use ASCIILiteral more to avoid memory allocation
Modified: trunk/Source/WebCore/Modules/mediasession/MediaSessionCoordinator.cpp (275457 => 275458)
--- trunk/Source/WebCore/Modules/mediasession/MediaSessionCoordinator.cpp 2021-04-06 00:09:31 UTC (rev 275457)
+++ trunk/Source/WebCore/Modules/mediasession/MediaSessionCoordinator.cpp 2021-04-06 00:11:27 UTC (rev 275458)
@@ -292,7 +292,8 @@
return;
}
- completionHandler(internalSeekTo(time));
+ m_session->callActionHandler({ .action = "" .seekTime = time });
+ completionHandler(true);
}
void MediaSessionCoordinator::playSession(CompletionHandler<void(bool)>&& completionHandler)
@@ -304,10 +305,11 @@
return;
}
- completionHandler(internalPlay());
+ m_session->callActionHandler({ .action = "" });
+ completionHandler(true);
}
-void MediaSessionCoordinator::pauseSession(CompletionHandler<void(bool)> completionHandler)
+void MediaSessionCoordinator::pauseSession(CompletionHandler<void(bool)>&& completionHandler)
{
ALWAYS_LOG(LOGIDENTIFIER, m_state);
@@ -316,10 +318,11 @@
return;
}
- completionHandler(internalPause());
+ m_session->callActionHandler({ .action = "" });
+ completionHandler(true);
}
-void MediaSessionCoordinator::setSessionTrack(const String& track, CompletionHandler<void(bool)> completionHandler)
+void MediaSessionCoordinator::setSessionTrack(const String& track, CompletionHandler<void(bool)>&& completionHandler)
{
ALWAYS_LOG(LOGIDENTIFIER, m_state, ", ", track);
@@ -328,63 +331,10 @@
return;
}
- completionHandler(internalSetTrack(track));
+ m_session->callActionHandler({ .action = "" .trackIdentifier = track });
+ completionHandler(true);
}
-bool MediaSessionCoordinator::internalSeekTo(double time)
-{
- if (!m_session)
- return false;
-
- MediaSessionActionDetails details {
- .action = ""
- .seekTime = time,
- };
- m_session->callActionHandler(details);
-
- return true;
-}
-
-bool MediaSessionCoordinator::internalPlay()
-{
- if (!m_session)
- return false;
-
- MediaSessionActionDetails details {
- .action = ""
- };
- m_session->callActionHandler(details);
-
- return true;
-}
-
-bool MediaSessionCoordinator::internalPause()
-{
- if (!m_session)
- return false;
-
- MediaSessionActionDetails details {
- .action = ""
- };
- m_session->callActionHandler(details);
-
- return true;
-}
-
-bool MediaSessionCoordinator::internalSetTrack(const String& track)
-{
- if (!m_session)
- return false;
-
- MediaSessionActionDetails details {
- .action = ""
- .trackIdentifier = track,
- };
- m_session->callActionHandler(details);
-
- return true;
-}
-
WTFLogChannel& MediaSessionCoordinator::logChannel()
{
return LogMedia;
Modified: trunk/Source/WebCore/Modules/mediasession/MediaSessionCoordinator.h (275457 => 275458)
--- trunk/Source/WebCore/Modules/mediasession/MediaSessionCoordinator.h 2021-04-06 00:09:31 UTC (rev 275457)
+++ trunk/Source/WebCore/Modules/mediasession/MediaSessionCoordinator.h 2021-04-06 00:11:27 UTC (rev 275458)
@@ -73,14 +73,9 @@
// MediaSessionCoordinatorClient
void seekSessionToTime(double, CompletionHandler<void(bool)>&&) final;
void playSession(CompletionHandler<void(bool)>&&) final;
- void pauseSession(CompletionHandler<void(bool)>) final;
- void setSessionTrack(const String&, CompletionHandler<void(bool)>) final;
+ void pauseSession(CompletionHandler<void(bool)>&&) final;
+ void setSessionTrack(const String&, CompletionHandler<void(bool)>&&) final;
- bool internalSeekTo(double);
- bool internalPlay();
- bool internalPause();
- bool internalSetTrack(const String&);
-
const Logger& logger() const { return m_logger; }
const void* logIdentifier() const { return m_logIdentifier; }
static WTFLogChannel& logChannel();
Modified: trunk/Source/WebCore/Modules/mediasession/MediaSessionCoordinatorPrivate.h (275457 => 275458)
--- trunk/Source/WebCore/Modules/mediasession/MediaSessionCoordinatorPrivate.h 2021-04-06 00:09:31 UTC (rev 275457)
+++ trunk/Source/WebCore/Modules/mediasession/MediaSessionCoordinatorPrivate.h 2021-04-06 00:11:27 UTC (rev 275458)
@@ -33,6 +33,7 @@
#include "MediaSessionPlaybackState.h"
#include "MediaSessionReadyState.h"
#include <wtf/Optional.h>
+#include <wtf/WeakPtr.h>
namespace WTF {
class Logger;
@@ -46,8 +47,8 @@
virtual void seekSessionToTime(double, CompletionHandler<void(bool)>&&) = 0;
virtual void playSession(CompletionHandler<void(bool)>&&) = 0;
- virtual void pauseSession(CompletionHandler<void(bool)>) = 0;
- virtual void setSessionTrack(const String&, CompletionHandler<void(bool)>) = 0;
+ virtual void pauseSession(CompletionHandler<void(bool)>&&) = 0;
+ virtual void setSessionTrack(const String&, CompletionHandler<void(bool)>&&) = 0;
};
class MediaSessionCoordinatorPrivate : public RefCounted<MediaSessionCoordinatorPrivate> {
Modified: trunk/Source/WebKit/ChangeLog (275457 => 275458)
--- trunk/Source/WebKit/ChangeLog 2021-04-06 00:09:31 UTC (rev 275457)
+++ trunk/Source/WebKit/ChangeLog 2021-04-06 00:11:27 UTC (rev 275458)
@@ -1,5 +1,38 @@
2021-04-05 Jer Noble <jer.no...@apple.com>
+ [MediaSession] Small refactoring of MediaSession implementation classes
+ https://bugs.webkit.org/show_bug.cgi?id=224141
+
+ Reviewed by Eric Carlson.
+
+ A smorgasboard of small refactoring changes:
+
+ - MediaSessionCoordinatorProxyPrivate should use an Optional<ExceptionData> rather than
+ an actual ExceptionData, to handle the case where no exception was encoutered.
+ - RemoteMediaSessionCoordinatorProxy::create() should just return a Ref, not a RefPtr.
+ - Logging inside a completion handler requires access to this.
+ - Add RemoteMediaSessionCoordinatorProxy.cpp to the build.
+
+ * UIProcess/Media/MediaSessionCoordinatorProxyPrivate.h:
+ * UIProcess/Media/RemoteMediaSessionCoordinatorProxy.cpp:
+ (WebKit::RemoteMediaSessionCoordinatorProxy::create):
+ (WebKit::RemoteMediaSessionCoordinatorProxy::RemoteMediaSessionCoordinatorProxy):
+ (WebKit::RemoteMediaSessionCoordinatorProxy::join):
+ (WebKit::RemoteMediaSessionCoordinatorProxy::coordinateSeekTo):
+ (WebKit::RemoteMediaSessionCoordinatorProxy::coordinatePlay):
+ (WebKit::RemoteMediaSessionCoordinatorProxy::coordinatePause):
+ (WebKit::RemoteMediaSessionCoordinatorProxy::coordinateSetTrack):
+ (WebKit::RemoteMediaSessionCoordinatorProxy::pauseSession):
+ (WebKit::RemoteMediaSessionCoordinatorProxy::setSessionTrack):
+ (WebKit::RemoteMediaSessionCoordinatorProxy::logChannel const):
+ (WebKit::RemoteMediaSessionCoordinatorProxy::::coordinateSetTrack): Deleted.
+ * UIProcess/Media/RemoteMediaSessionCoordinatorProxy.h:
+ (WebKit::RemoteMediaSessionCoordinatorProxy::logger const):
+ (WebKit::RemoteMediaSessionCoordinatorProxy::logIdentifier const):
+ (WebKit::RemoteMediaSessionCoordinatorProxy::logClassName const):
+
+2021-04-05 Jer Noble <jer.no...@apple.com>
+
[Cocoa] Calling AudioComponentFetchServerRegistrations on main thread causes launch time regression
https://bugs.webkit.org/show_bug.cgi?id=224137
<rdar://76137483>
Modified: trunk/Source/WebKit/UIProcess/Media/MediaSessionCoordinatorProxyPrivate.h (275457 => 275458)
--- trunk/Source/WebKit/UIProcess/Media/MediaSessionCoordinatorProxyPrivate.h 2021-04-06 00:09:31 UTC (rev 275457)
+++ trunk/Source/WebKit/UIProcess/Media/MediaSessionCoordinatorProxyPrivate.h 2021-04-06 00:11:27 UTC (rev 275458)
@@ -27,6 +27,7 @@
#if ENABLE(MEDIA_SESSION_COORDINATOR)
+#include <WebCore/ExceptionData.h>
#include <WebCore/MediaSessionCoordinatorPrivate.h>
#include <wtf/RefPtr.h>
#include <wtf/WeakPtr.h>
@@ -41,10 +42,12 @@
virtual String identifier() const = 0;
- virtual void seekTo(double, CompletionHandler<void(const WebCore::ExceptionData&)>&&) = 0;
- virtual void play(CompletionHandler<void(const WebCore::ExceptionData&)>&&) = 0;
- virtual void pause(CompletionHandler<void(const WebCore::ExceptionData&)>&&) = 0;
- virtual void setTrack(const String&, CompletionHandler<void(const WebCore::ExceptionData&)>&&) = 0;
+ virtual void join(CompletionHandler<void(Optional<WebCore::ExceptionData>&&)>&&) = 0;
+ virtual void leave() = 0;
+ virtual void seekTo(double, CompletionHandler<void(Optional<WebCore::ExceptionData>&&)>&&) = 0;
+ virtual void play(CompletionHandler<void(Optional<WebCore::ExceptionData>&&)>&&) = 0;
+ virtual void pause(CompletionHandler<void(Optional<WebCore::ExceptionData>&&)>&&) = 0;
+ virtual void setTrack(const String&, CompletionHandler<void(Optional<WebCore::ExceptionData>&&)>&&) = 0;
virtual void positionStateChanged(const Optional<WebCore::MediaPositionState>&) = 0;
virtual void readyStateChanged(WebCore::MediaSessionReadyState) = 0;
Modified: trunk/Source/WebKit/UIProcess/Media/RemoteMediaSessionCoordinatorProxy.cpp (275457 => 275458)
--- trunk/Source/WebKit/UIProcess/Media/RemoteMediaSessionCoordinatorProxy.cpp 2021-04-06 00:09:31 UTC (rev 275457)
+++ trunk/Source/WebKit/UIProcess/Media/RemoteMediaSessionCoordinatorProxy.cpp 2021-04-06 00:11:27 UTC (rev 275458)
@@ -30,16 +30,23 @@
#include "MediaSessionCoordinatorProxyPrivate.h"
#include "RemoteMediaSessionCoordinatorMessages.h"
+#include "RemoteMediaSessionCoordinatorProxyMessages.h"
#include "WebPageProxy.h"
#include "WebProcessProxy.h"
#include <WebCore/ExceptionData.h>
+#include <wtf/Logger.h>
+#include <wtf/LoggerHelper.h>
#include <wtf/MainThread.h>
#include <wtf/RunLoop.h>
+namespace WebCore {
+extern WTFLogChannel LogMedia;
+}
+
namespace WebKit {
using namespace WebCore;
-RefPtr<RemoteMediaSessionCoordinatorProxy> RemoteMediaSessionCoordinatorProxy::create(WebPageProxy& webPageProxy, Ref<MediaSessionCoordinatorProxyPrivate>&& privateCoordinator)
+Ref<RemoteMediaSessionCoordinatorProxy> RemoteMediaSessionCoordinatorProxy::create(WebPageProxy& webPageProxy, Ref<MediaSessionCoordinatorProxyPrivate>&& privateCoordinator)
{
return adoptRef(*new RemoteMediaSessionCoordinatorProxy(webPageProxy, WTFMove(privateCoordinator)));
}
@@ -47,8 +54,10 @@
RemoteMediaSessionCoordinatorProxy::RemoteMediaSessionCoordinatorProxy(WebPageProxy& webPageProxy, Ref<MediaSessionCoordinatorProxyPrivate>&& privateCoordinator)
: m_webPageProxy(webPageProxy)
, m_privateCoordinator(WTFMove(privateCoordinator))
+#if !RELEASE_LOG_DISABLED
, m_logger(m_webPageProxy.logger())
- , m_logIdentifier(uniqueLogIdentifier())
+ , m_logIdentifier(LoggerHelper::uniqueLogIdentifier())
+#endif
{
m_webPageProxy.process().addMessageReceiver(Messages::RemoteMediaSessionCoordinatorProxy::messageReceiverName(), m_webPageProxy.webPageID(), *this);
}
@@ -58,12 +67,12 @@
m_webPageProxy.process().removeMessageReceiver(Messages::RemoteMediaSessionCoordinatorProxy::messageReceiverName(), m_webPageProxy.webPageID());
}
-void RemoteMediaSessionCoordinatorProxy::join(CompletionHandler<void(const WebCore::ExceptionData&)>&&)
+void RemoteMediaSessionCoordinatorProxy::join(CommandCompletionHandler&& completionHandler)
{
auto identifier = LOGIDENTIFIER;
ALWAYS_LOG(identifier);
- m_privateCoordinator->join([identifier] (const WebCore::ExceptionData&& exception) mutable {
+ m_privateCoordinator->join([this, protectedThis = makeRef(*this), identifier, completionHandler = WTFMove(completionHandler)] (Optional<ExceptionData>&& exception) mutable {
ALWAYS_LOG(identifier, "completion");
completionHandler(WTFMove(exception));
});
@@ -76,45 +85,45 @@
m_privateCoordinator->leave();
}
-void RemoteMediaSessionCoordinatorProxy::coordinateSeekTo(double time, CompletionHandler<void(const WebCore::ExceptionData&)>&& completionHandler)
+void RemoteMediaSessionCoordinatorProxy::coordinateSeekTo(double time, CommandCompletionHandler&& completionHandler)
{
auto identifier = LOGIDENTIFIER;
ALWAYS_LOG(identifier, time);
- m_privateCoordinator->seekTo(time, [identifier] (const WebCore::ExceptionData&& exception) mutable {
+ m_privateCoordinator->seekTo(time, [this, protectedThis = makeRef(*this), identifier, completionHandler = WTFMove(completionHandler)] (Optional<ExceptionData>&& exception) mutable {
ALWAYS_LOG(identifier, "completion");
completionHandler(WTFMove(exception));
});
}
-void RemoteMediaSessionCoordinatorProxy::coordinatePlay(CompletionHandler<void(const WebCore::ExceptionData&)>&& completionHandler)
+void RemoteMediaSessionCoordinatorProxy::coordinatePlay(CommandCompletionHandler&& completionHandler)
{
auto identifier = LOGIDENTIFIER;
ALWAYS_LOG(identifier);
- m_privateCoordinator->play([identifier] (const WebCore::ExceptionData&& exception) mutable {
+ m_privateCoordinator->play([this, protectedThis = makeRef(*this), identifier, completionHandler = WTFMove(completionHandler)] (Optional<ExceptionData>&& exception) mutable {
ALWAYS_LOG(identifier, "completion");
completionHandler(WTFMove(exception));
});
}
-void RemoteMediaSessionCoordinatorProxy::coordinatePause(CompletionHandler<void(const WebCore::ExceptionData&)>&& completionHandler)
+void RemoteMediaSessionCoordinatorProxy::coordinatePause(CommandCompletionHandler&& completionHandler)
{
auto identifier = LOGIDENTIFIER;
ALWAYS_LOG(identifier);
- m_privateCoordinator->pause([identifier] (const WebCore::ExceptionData&& exception) mutable {
+ m_privateCoordinator->pause([this, protectedThis = makeRef(*this), identifier, completionHandler = WTFMove(completionHandler)] (Optional<ExceptionData>&& exception) mutable {
ALWAYS_LOG(identifier, "completion");
completionHandler(WTFMove(exception));
});
}
-void RemoteMediaSessionCoordinatorProxy::::coordinateSetTrack(const String& track, CompletionHandler<void(const WebCore::ExceptionData&)>&& completionHandler)
+void RemoteMediaSessionCoordinatorProxy::coordinateSetTrack(const String& track, CommandCompletionHandler&& completionHandler)
{
auto identifier = LOGIDENTIFIER;
ALWAYS_LOG(identifier);
- m_privateCoordinator->setTrack(track, [identifier] (const WebCore::ExceptionData&& exception) mutable {
+ m_privateCoordinator->setTrack(track, [this, protectedThis = makeRef(*this), identifier, completionHandler = WTFMove(completionHandler)] (Optional<ExceptionData>&& exception) mutable {
ALWAYS_LOG(identifier, "completion");
completionHandler(WTFMove(exception));
});
@@ -148,12 +157,12 @@
m_webPageProxy.sendWithAsyncReply(Messages::RemoteMediaSessionCoordinator::PlaySession { }, callback);
}
-void RemoteMediaSessionCoordinatorProxy::pauseSession(CompletionHandler<void(bool)> callback)
+void RemoteMediaSessionCoordinatorProxy::pauseSession(CompletionHandler<void(bool)>&& callback)
{
m_webPageProxy.sendWithAsyncReply(Messages::RemoteMediaSessionCoordinator::PauseSession { }, callback);
}
-void RemoteMediaSessionCoordinatorProxy::setSessionTrack(const String& trackId, CompletionHandler<void(bool)> callback)
+void RemoteMediaSessionCoordinatorProxy::setSessionTrack(const String& trackId, CompletionHandler<void(bool)>&& callback)
{
m_webPageProxy.sendWithAsyncReply(Messages::RemoteMediaSessionCoordinator::SetSessionTrack { trackId }, callback);
}
@@ -164,6 +173,13 @@
m_privateCoordinator->coordinatorStateChanged(state);
}
+#if !RELEASE_LOG_DISABLED
+WTFLogChannel& RemoteMediaSessionCoordinatorProxy::logChannel() const
+{
+ return LogMedia;
+}
+#endif
+
} // namespace WebKit
#endif // ENABLE(MEDIA_SESSION_COORDINATOR)
Modified: trunk/Source/WebKit/UIProcess/Media/RemoteMediaSessionCoordinatorProxy.h (275457 => 275458)
--- trunk/Source/WebKit/UIProcess/Media/RemoteMediaSessionCoordinatorProxy.h 2021-04-06 00:09:31 UTC (rev 275457)
+++ trunk/Source/WebKit/UIProcess/Media/RemoteMediaSessionCoordinatorProxy.h 2021-04-06 00:11:27 UTC (rev 275458)
@@ -66,13 +66,14 @@
void didReceiveMessage(IPC::Connection&, IPC::Decoder&) override;
// Receivers.
- void join(CompletionHandler<void(const WebCore::ExceptionData&)>&&);
+ using CommandCompletionHandler = CompletionHandler<void(Optional<WebCore::ExceptionData>&&)>;
+ void join(CommandCompletionHandler&&);
void leave();
- void coordinateSeekTo(double, CompletionHandler<void(const WebCore::ExceptionData&)>&&);
- void coordinatePlay(CompletionHandler<void(const WebCore::ExceptionData&)>&&);
- void coordinatePause(CompletionHandler<void(const WebCore::ExceptionData&)>&&);
- void coordinateSetTrack(const String&, CompletionHandler<void(const WebCore::ExceptionData&)>&&);
- void positionStateChanged(Optional<WebCore::MediaPositionState>);
+ void coordinateSeekTo(double, CommandCompletionHandler&&);
+ void coordinatePlay(CommandCompletionHandler&&);
+ void coordinatePause(CommandCompletionHandler&&);
+ void coordinateSetTrack(const String&, CommandCompletionHandler&&);
+ void positionStateChanged(const Optional<WebCore::MediaPositionState>&);
void readyStateChanged(WebCore::MediaSessionReadyState);
void playbackStateChanged(WebCore::MediaSessionPlaybackState);
void coordinatorStateChanged(WebCore::MediaSessionCoordinatorState);
@@ -80,13 +81,22 @@
// MediaSessionCoordinatorClient
void seekSessionToTime(double, CompletionHandler<void(bool)>&&) final;
void playSession(CompletionHandler<void(bool)>&&) final;
- void pauseSession(CompletionHandler<void(bool)>) final;
- void setSessionTrack(const String&, CompletionHandler<void(bool)>) final;
+ void pauseSession(CompletionHandler<void(bool)>&&) final;
+ void setSessionTrack(const String&, CompletionHandler<void(bool)>&&) final;
+#if !RELEASE_LOG_DISABLED
+ const WTF::Logger& logger() const { return m_logger; }
+ const void* logIdentifier() const { return m_logIdentifier; }
+ const char* logClassName() const { return "RemoteMediaSessionCoordinatorProxy"; }
+ WTFLogChannel& logChannel() const;
+#endif
+
WebPageProxy& m_webPageProxy;
Ref<MediaSessionCoordinatorProxyPrivate> m_privateCoordinator;
- Ref<const Logger> m_logger;
+#if !RELEASE_LOG_DISABLED
+ Ref<const WTF::Logger> m_logger;
const void* m_logIdentifier;
+#endif
};
} // namespace WebKit
Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (275457 => 275458)
--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2021-04-06 00:09:31 UTC (rev 275457)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2021-04-06 00:11:27 UTC (rev 275458)
@@ -1864,6 +1864,7 @@
CD0C6831201FD10100A59409 /* WKFullScreenViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = CD0C682F201FD10100A59409 /* WKFullScreenViewController.h */; };
CD19A26E1A13E834008D650E /* WebDiagnosticLoggingClient.h in Headers */ = {isa = PBXBuildFile; fileRef = CD19A26A1A13E821008D650E /* WebDiagnosticLoggingClient.h */; };
CD19D2EA2046406F0017074A /* FullscreenTouchSecheuristic.h in Headers */ = {isa = PBXBuildFile; fileRef = CD19D2E82046406F0017074A /* FullscreenTouchSecheuristic.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ CD1FE2D72613E18600ADC29B /* RemoteMediaSessionCoordinatorProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0736B75C260D4A4E00E06994 /* RemoteMediaSessionCoordinatorProxy.cpp */; };
CD3EEF462579C261006563BB /* RemoteMediaEngineConfigurationFactoryProxyMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CD3EEF442579C1D4006563BB /* RemoteMediaEngineConfigurationFactoryProxyMessageReceiver.cpp */; };
CD4570D3244113B500A3DCEB /* AudioSessionRoutingArbitratorProxyMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CD4570D02441014A00A3DCEB /* AudioSessionRoutingArbitratorProxyMessageReceiver.cpp */; };
CD4570D424411D0F00A3DCEB /* AudioSessionRoutingArbitrator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CD4570CB2440FB2A00A3DCEB /* AudioSessionRoutingArbitrator.cpp */; };
@@ -14005,6 +14006,7 @@
071BC58F23CE1EAA00680D7C /* RemoteMediaPlayerProxyMessageReceiver.cpp in Sources */,
1D4D737023A9E54700717A25 /* RemoteMediaResourceManagerMessageReceiver.cpp in Sources */,
077BA56E260E6D1C0072F19F /* RemoteMediaSessionCoordinator.cpp in Sources */,
+ CD1FE2D72613E18600ADC29B /* RemoteMediaSessionCoordinatorProxy.cpp in Sources */,
1DD2A6632561246F00FF7B6F /* RemoteMediaSourceProxyMessageReceiver.cpp in Sources */,
1AC1338518590C4600F3EC05 /* RemoteObjectRegistryMessageReceiver.cpp in Sources */,
CD8252E225D4919100862FD8 /* RemoteRemoteCommandListenerMessageReceiver.cpp in Sources */,