Changeset 279366 in webkit
- Timestamp:
- Jun 29, 2021, 12:25:11 AM (5 years ago)
- Location:
- trunk/Source
- Files:
-
- 9 deleted
- 15 edited
-
WebCore/ChangeLog (modified) (1 diff)
-
WebCore/platform/mediastream/cocoa/AudioMediaStreamTrackRendererInternalUnit.cpp (modified) (2 diffs)
-
WebKit/CMakeLists.txt (modified) (1 diff)
-
WebKit/ChangeLog (modified) (1 diff)
-
WebKit/DerivedSources.make (modified) (1 diff)
-
WebKit/GPUProcess/GPUConnectionToWebProcess.cpp (modified) (4 diffs)
-
WebKit/GPUProcess/GPUConnectionToWebProcess.h (modified) (2 diffs)
-
WebKit/GPUProcess/GPUProcess.cpp (modified) (1 diff)
-
WebKit/GPUProcess/GPUProcess.h (modified) (2 diffs)
-
WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp (deleted)
-
WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.h (deleted)
-
WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in (deleted)
-
WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp (modified) (4 diffs)
-
WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.h (modified) (1 diff)
-
WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.cpp (deleted)
-
WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.h (deleted)
-
WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.messages.in (deleted)
-
WebKit/Scripts/webkit/messages.py (modified) (1 diff)
-
WebKit/Sources.txt (modified) (2 diffs)
-
WebKit/SourcesCocoa.txt (modified) (1 diff)
-
WebKit/WebKit.xcodeproj/project.pbxproj (modified) (4 diffs)
-
WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp (deleted)
-
WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.h (deleted)
-
WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererIdentifier.h (deleted)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r279365 r279366 1 2021-06-29 Youenn Fablet <youenn@apple.com> 2 3 Remove RemoteAudioMediaStreamTrackRenderer and RemoteAudioMediaStreamTrackRendererManager 4 https://bugs.webkit.org/show_bug.cgi?id=227438 5 6 Reviewed by Eric Carlson. 7 8 * platform/mediastream/cocoa/AudioMediaStreamTrackRendererInternalUnit.cpp: 9 (WebCore::LocalAudioMediaStreamTrackRendererInternalUnit::start): 10 (WebCore::LocalAudioMediaStreamTrackRendererInternalUnit::stop): 11 Add some logging. 12 1 13 2021-06-29 Antti Koivisto <antti@apple.com> 2 14 -
trunk/Source/WebCore/platform/mediastream/cocoa/AudioMediaStreamTrackRendererInternalUnit.cpp
r279335 r279366 118 118 void LocalAudioMediaStreamTrackRendererInternalUnit::start() 119 119 { 120 RELEASE_LOG_INFO(WebRTC, "LocalAudioMediaStreamTrackRendererInternalUnit::start"); 120 121 if (m_isStarted) 121 122 return; … … 137 138 void LocalAudioMediaStreamTrackRendererInternalUnit::stop() 138 139 { 140 RELEASE_LOG_INFO(WebRTC, "LocalAudioMediaStreamTrackRendererInternalUnit::stop"); 139 141 if (!m_remoteIOUnit) 140 142 return; -
trunk/Source/WebKit/CMakeLists.txt
r278374 r279366 144 144 145 145 GPUProcess/webrtc/LibWebRTCCodecsProxy 146 GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer147 146 GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager 148 GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager149 147 GPUProcess/webrtc/RemoteMediaRecorder 150 148 GPUProcess/webrtc/RemoteMediaRecorderManager -
trunk/Source/WebKit/ChangeLog
r279361 r279366 1 2021-06-29 Youenn Fablet <youenn@apple.com> 2 3 Remove RemoteAudioMediaStreamTrackRenderer and RemoteAudioMediaStreamTrackRendererManager 4 https://bugs.webkit.org/show_bug.cgi?id=227438 5 6 Reviewed by Eric Carlson. 7 8 Remove code no longer enabled. 9 This code was obsoleted by RemoteAudioMediaStreamTrackRendererInternalUnitManager and friends. 10 Update GPUProcess to not exit if RemoteAudioMediaStreamTrackRendererInternalUnitManager has some units, 11 like was done by RemoteAudioMediaStreamTrackRendererManager. 12 13 * DerivedSources.make: 14 * GPUProcess/GPUConnectionToWebProcess.cpp: 15 (WebKit::GPUConnectionToWebProcess::GPUConnectionToWebProcess): 16 (WebKit::GPUConnectionToWebProcess::~GPUConnectionToWebProcess): 17 (WebKit::GPUConnectionToWebProcess::allowsExitUnderMemoryPressure const): 18 * GPUProcess/GPUConnectionToWebProcess.h: 19 * GPUProcess/GPUProcess.cpp: 20 (WebKit::GPUProcess::audioMediaStreamTrackRendererQueue): Deleted. 21 * GPUProcess/GPUProcess.h: 22 * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp: Removed. 23 * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.h: Removed. 24 * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in: Removed. 25 * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp: 26 (WebKit::renderCallback): 27 (WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::Unit): 28 (WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit::start): 29 * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.h: 30 (WebKit::RemoteAudioMediaStreamTrackRendererInternalUnitManager::hasUnits): 31 * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.cpp: Removed. 32 * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.h: Removed. 33 * GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.messages.in: Removed. 34 * Scripts/webkit/messages.py: 35 (types_that_cannot_be_forward_declared): 36 * Sources.txt: 37 * SourcesCocoa.txt: 38 * WebKit.xcodeproj/project.pbxproj: 39 * WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp: Removed. 40 * WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.h: Removed. 41 * WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererIdentifier.h: Removed. 42 1 43 2021-06-28 Wenson Hsieh <wenson_hsieh@apple.com> 2 44 -
trunk/Source/WebKit/DerivedSources.make
r278308 r279366 248 248 GPUProcess/webrtc/LibWebRTCCodecsProxy \ 249 249 GPUProcess/webrtc/RemoteSampleBufferDisplayLayerManager \ 250 GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager \251 250 GPUProcess/webrtc/RemoteMediaRecorderManager \ 252 251 GPUProcess/webrtc/RemoteSampleBufferDisplayLayer \ 253 252 GPUProcess/webrtc/RemoteMediaRecorder \ 254 GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer \255 253 GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager \ 256 254 GPUProcess/GPUProcess \ -
trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp
r279017 r279366 44 44 #include "RemoteAudioMediaStreamTrackRendererInternalUnitManager.h" 45 45 #include "RemoteAudioMediaStreamTrackRendererInternalUnitManagerMessages.h" 46 #include "RemoteAudioMediaStreamTrackRendererManager.h"47 46 #include "RemoteGraphicsContextGLMessages.h" 48 47 #include "RemoteMediaPlayerManagerProxy.h" … … 203 202 #endif 204 203 #if PLATFORM(COCOA) && ENABLE(MEDIA_STREAM) 205 , m_audioTrackRendererManager(RemoteAudioMediaStreamTrackRendererManager::create(*this))206 204 , m_sampleBufferDisplayLayerManager(RemoteSampleBufferDisplayLayerManager::create(*this)) 207 205 #endif … … 233 231 234 232 #if PLATFORM(COCOA) && ENABLE(MEDIA_STREAM) 235 m_audioTrackRendererManager->close();236 233 m_sampleBufferDisplayLayerManager->close(); 237 234 #endif … … 326 323 if (m_userMediaCaptureManagerProxy && m_userMediaCaptureManagerProxy->hasSourceProxies()) 327 324 return false; 328 if ( !m_audioTrackRendererManager->allowsExitUnderMemoryPressure())325 if (m_audioMediaStreamTrackRendererInternalUnitManager && m_audioMediaStreamTrackRendererInternalUnitManager->hasUnits()) 329 326 return false; 330 327 if (!m_sampleBufferDisplayLayerManager->allowsExitUnderMemoryPressure()) -
trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h
r279017 r279366 61 61 class RemoteAudioDestinationManager; 62 62 class RemoteAudioHardwareListenerProxy; 63 class RemoteAudioMediaStreamTrackRendererManager;64 63 class RemoteAudioMediaStreamTrackRendererInternalUnitManager; 65 64 class RemoteAudioSessionProxy; … … 244 243 std::unique_ptr<UserMediaCaptureManagerProxy> m_userMediaCaptureManagerProxy; 245 244 std::unique_ptr<RemoteAudioMediaStreamTrackRendererInternalUnitManager> m_audioMediaStreamTrackRendererInternalUnitManager; 246 Ref<RemoteAudioMediaStreamTrackRendererManager> m_audioTrackRendererManager;247 245 Ref<RemoteSampleBufferDisplayLayerManager> m_sampleBufferDisplayLayerManager; 248 246 #endif -
trunk/Source/WebKit/GPUProcess/GPUProcess.cpp
r279096 r279366 401 401 402 402 #if ENABLE(MEDIA_STREAM) && PLATFORM(COCOA) 403 WorkQueue& GPUProcess::audioMediaStreamTrackRendererQueue()404 {405 if (!m_audioMediaStreamTrackRendererQueue)406 m_audioMediaStreamTrackRendererQueue = WorkQueue::create("RemoteAudioMediaStreamTrackRenderer", WorkQueue::Type::Serial, WorkQueue::QOS::UserInteractive);407 return *m_audioMediaStreamTrackRendererQueue;408 }409 403 WorkQueue& GPUProcess::videoMediaStreamTrackRendererQueue() 410 404 { -
trunk/Source/WebKit/GPUProcess/GPUProcess.h
r278913 r279366 85 85 86 86 #if ENABLE(MEDIA_STREAM) && PLATFORM(COCOA) 87 WorkQueue& audioMediaStreamTrackRendererQueue();88 87 WorkQueue& videoMediaStreamTrackRendererQueue(); 89 88 #endif … … 165 164 HashMap<WebCore::ProcessIdentifier, MediaCaptureAccess> m_mediaCaptureAccessMap; 166 165 #if ENABLE(MEDIA_STREAM) && PLATFORM(COCOA) 167 RefPtr<WorkQueue> m_audioMediaStreamTrackRendererQueue;168 166 RefPtr<WorkQueue> m_videoMediaStreamTrackRendererQueue; 169 167 #endif -
trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp
r277852 r279366 33 33 #include "GPUProcessConnectionMessages.h" 34 34 #include "IPCSemaphore.h" 35 #include "Logging.h" 35 36 #include <WebCore/AudioMediaStreamTrackRendererInternalUnit.h> 36 37 #include <WebCore/AudioSession.h> … … 115 116 } 116 117 117 static AudioMediaStreamTrackRendererInternalUnit::RenderCallback renderCallback(RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit& unit)118 static WebCore::AudioMediaStreamTrackRendererInternalUnit::RenderCallback renderCallback(RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit& unit) 118 119 { 119 120 return [&unit](auto sampleCount, auto& list, auto sampleTime, auto hostTime, auto& flags) { … … 129 130 m_localUnit->retrieveFormatDescription([weakThis = makeWeakPtr(this), this, callback = WTFMove(callback)](auto&& description) mutable { 130 131 if (!weakThis || !description) { 132 RELEASE_LOG_IF(!description, WebRTC, "RemoteAudioMediaStreamTrackRendererInternalUnitManager::Unit unable to get format description"); 131 133 callback({ }, 0); 132 134 return; 133 135 } 134 m_frameChunkSize = std::max(WebCore::AudioUtilities::renderQuantumSize, AudioSession::sharedSession().preferredBufferSize());136 m_frameChunkSize = std::max(WebCore::AudioUtilities::renderQuantumSize, WebCore::AudioSession::sharedSession().preferredBufferSize()); 135 137 callback(*description, m_frameChunkSize); 136 138 }); … … 149 151 m_readOffset = 0; 150 152 m_isPlaying = true; 151 m_ringBuffer = CARingBuffer::adoptStorage(makeUniqueRef<ReadOnlySharedRingBufferStorage>(handle), description, numberOfFrames).moveToUniquePtr();153 m_ringBuffer = WebCore::CARingBuffer::adoptStorage(makeUniqueRef<ReadOnlySharedRingBufferStorage>(handle), description, numberOfFrames).moveToUniquePtr(); 152 154 m_renderSemaphore = WTFMove(semaphore); 153 155 m_localUnit->start(); -
trunk/Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.h
r277852 r279366 58 58 void didReceiveMessage(IPC::Connection&, IPC::Decoder&); 59 59 60 bool hasUnits() { return !m_units.isEmpty(); } 60 61 class Unit; 61 62 -
trunk/Source/WebKit/Scripts/webkit/messages.py
r279221 r279366 308 308 'WebCore::WebSocketIdentifier', 309 309 'WebKit::ActivityStateChangeID', 310 'WebKit::AudioMediaStreamTrackRendererIdentifier',311 310 'WebKit::AudioMediaStreamTrackRendererInternalUnitIdentifier', 312 311 'WebKit::ContentWorldIdentifier', -
trunk/Source/WebKit/Sources.txt
r278941 r279366 53 53 GPUProcess/media/RemoteTextTrackProxy.cpp 54 54 GPUProcess/media/RemoteVideoTrackProxy.cpp 55 GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp56 GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererManager.cpp57 55 GPUProcess/webrtc/RemoteMediaRecorder.cpp 58 56 GPUProcess/webrtc/RemoteMediaRecorderManager.cpp … … 614 612 WebProcess/GPU/media/VideoTrackPrivateRemote.cpp 615 613 WebProcess/GPU/media/WebMediaStrategy.cpp 616 WebProcess/GPU/webrtc/AudioMediaStreamTrackRenderer.cpp617 614 WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp 618 615 WebProcess/GPU/webrtc/MediaRecorderPrivate.cpp -
trunk/Source/WebKit/SourcesCocoa.txt
r279312 r279366 720 720 RemoteAudioSessionMessageReceiver.cpp 721 721 RemoteAudioSessionProxyMessageReceiver.cpp 722 RemoteAudioMediaStreamTrackRendererManagerMessageReceiver.cpp723 RemoteAudioMediaStreamTrackRendererMessageReceiver.cpp724 722 RemoteAudioSourceProviderManagerMessageReceiver.cpp 725 723 RemoteImageDecoderAVFProxyMessageReceiver.cpp -
trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj
r279312 r279366 3834 3834 41D5C6D8238EB20D00B9B3CB /* ServiceWorkerSoftUpdateLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ServiceWorkerSoftUpdateLoader.h; sourceTree = "<group>"; }; 3835 3835 41D5C6D9238EB20E00B9B3CB /* ServiceWorkerSoftUpdateLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ServiceWorkerSoftUpdateLoader.cpp; sourceTree = "<group>"; }; 3836 41D6455223CCB92100486E0E /* RemoteAudioMediaStreamTrackRenderer.messages.in */ = {isa = PBXFileReference; lastKnownFileType = text; name = RemoteAudioMediaStreamTrackRenderer.messages.in; path = GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in; sourceTree = SOURCE_ROOT; };3837 41D6455323CCB92100486E0E /* RemoteAudioMediaStreamTrackRenderer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RemoteAudioMediaStreamTrackRenderer.h; path = GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.h; sourceTree = SOURCE_ROOT; };3838 41D6455423CCB92200486E0E /* RemoteAudioMediaStreamTrackRenderer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = RemoteAudioMediaStreamTrackRenderer.cpp; path = GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.cpp; sourceTree = SOURCE_ROOT; };3839 41D6455523CCB96900486E0E /* RemoteAudioMediaStreamTrackRendererManager.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = RemoteAudioMediaStreamTrackRendererManager.messages.in; sourceTree = "<group>"; };3840 41D6455623CCB96900486E0E /* RemoteAudioMediaStreamTrackRendererManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RemoteAudioMediaStreamTrackRendererManager.cpp; sourceTree = "<group>"; };3841 41D6455723CCB96900486E0E /* RemoteAudioMediaStreamTrackRendererManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RemoteAudioMediaStreamTrackRendererManager.h; sourceTree = "<group>"; };3842 3836 41DC45941E3D6E1E00B11F51 /* NetworkRTCProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkRTCProvider.h; sourceTree = "<group>"; }; 3843 3837 41DC45951E3D6E1E00B11F51 /* NetworkRTCProvider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkRTCProvider.cpp; sourceTree = "<group>"; }; … … 3861 3855 41FBE823206DA79C000F0741 /* NetworkContentRuleListManager.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = NetworkContentRuleListManager.messages.in; sourceTree = "<group>"; }; 3862 3856 41FBE824206DA79C000F0741 /* NetworkContentRuleListManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkContentRuleListManager.cpp; sourceTree = "<group>"; }; 3863 41FCD6AD23CCC26000C62567 /* AudioMediaStreamTrackRenderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AudioMediaStreamTrackRenderer.h; sourceTree = "<group>"; };3864 41FCD6AE23CCC26100C62567 /* AudioMediaStreamTrackRenderer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AudioMediaStreamTrackRenderer.cpp; sourceTree = "<group>"; };3865 41FCD6AF23CCC26100C62567 /* AudioMediaStreamTrackRendererIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AudioMediaStreamTrackRendererIdentifier.h; sourceTree = "<group>"; };3866 3857 41FCD6B323CDC60400C62567 /* SampleBufferDisplayLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SampleBufferDisplayLayer.h; sourceTree = "<group>"; }; 3867 3858 41FCD6B423CDCAC200C62567 /* RemoteSampleBufferDisplayLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RemoteSampleBufferDisplayLayer.h; sourceTree = "<group>"; }; … … 8460 8451 isa = PBXGroup; 8461 8452 children = ( 8462 41FCD6AE23CCC26100C62567 /* AudioMediaStreamTrackRenderer.cpp */,8463 41FCD6AD23CCC26000C62567 /* AudioMediaStreamTrackRenderer.h */,8464 41FCD6AF23CCC26100C62567 /* AudioMediaStreamTrackRendererIdentifier.h */,8465 8453 41C3B88726444AD3004ED4DE /* AudioMediaStreamTrackRendererInternalUnitIdentifier.h */, 8466 8454 41C3B88626444AAC004ED4DE /* AudioMediaStreamTrackRendererInternalUnitManager.cpp */, … … 8494 8482 41E0A7C723B6397900561060 /* LibWebRTCCodecsProxy.messages.in */, 8495 8483 41E0A7C823B6397900561060 /* LibWebRTCCodecsProxy.mm */, 8496 41D6455423CCB92200486E0E /* RemoteAudioMediaStreamTrackRenderer.cpp */,8497 41D6455323CCB92100486E0E /* RemoteAudioMediaStreamTrackRenderer.h */,8498 41D6455223CCB92100486E0E /* RemoteAudioMediaStreamTrackRenderer.messages.in */,8499 8484 41C3B89126493B7B004ED4DE /* RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp */, 8500 8485 41C3B89026493B7B004ED4DE /* RemoteAudioMediaStreamTrackRendererInternalUnitManager.h */, 8501 8486 41C3B89426493B7C004ED4DE /* RemoteAudioMediaStreamTrackRendererInternalUnitManager.messages.in */, 8502 41D6455623CCB96900486E0E /* RemoteAudioMediaStreamTrackRendererManager.cpp */,8503 41D6455723CCB96900486E0E /* RemoteAudioMediaStreamTrackRendererManager.h */,8504 41D6455523CCB96900486E0E /* RemoteAudioMediaStreamTrackRendererManager.messages.in */,8505 8487 4176E89D23C376D5003E83FE /* RemoteMediaRecorder.cpp */, 8506 8488 4176E89823C36677003E83FE /* RemoteMediaRecorder.h */,
Note:
See TracChangeset
for help on using the changeset viewer.