Changeset 246436 in webkit
- Timestamp:
- Jun 14, 2019 10:14:47 AM (5 years ago)
- Location:
- trunk
- Files:
-
- 21 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r246435 r246436 1 2019-06-14 Youenn Fablet <youenn@apple.com> 2 3 Cloning a MediaStreamTrack does not clone the logger 4 https://bugs.webkit.org/show_bug.cgi?id=198844 5 6 Reviewed by Eric Carlson. 7 8 * fast/mediastream/MediaStreamTrack-clone-expected.txt: 9 * fast/mediastream/MediaStreamTrack-clone.html: 10 1 11 2019-06-14 Shawn Roberts <sroberts@apple.com> 2 12 -
trunk/LayoutTests/fast/mediastream/MediaStreamTrack-clone-expected.txt
r186081 r246436 21 21 PASS videoTrack.onoverconstrained is not videoTrack2.onoverconstrained 22 22 PASS videoTrack.readyState is not videoTrack2.readyState 23 PASS videoTrack.readyState is videoTrack3.readyState 23 24 PASS successfullyParsed is true 24 25 -
trunk/LayoutTests/fast/mediastream/MediaStreamTrack-clone.html
r186081 r246436 8 8 var videoTrack; 9 9 var videoTrack2; 10 var videoTrack3; 10 11 var audioTrack; 11 12 … … 41 42 shouldNotBe('videoTrack.readyState', 'videoTrack2.readyState'); 42 43 44 videoTrack3 = videoTrack.clone(); 45 shouldBe('videoTrack.readyState', 'videoTrack3.readyState'); 46 43 47 finishJSTest(); 44 48 } -
trunk/Source/WebCore/ChangeLog
r246432 r246436 1 2019-06-14 Youenn Fablet <youenn@apple.com> 2 3 Cloning a MediaStreamTrack does not clone the logger 4 https://bugs.webkit.org/show_bug.cgi?id=198844 5 6 Reviewed by Eric Carlson. 7 8 Make MediaStream and MediaStreamTrack rely on their private versions for logging. 9 Move from a RefPtr version to a Ref so as to forbid nullptr crashes. 10 Make sure that RealtimeIncomingAudioSource and RealtimeIncomingVideoSource check for their logger before logging. 11 Covered by existing tests and updated test. 12 13 * Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp: 14 (WebCore::loggerFromContext): 15 (WebCore::CanvasCaptureMediaStreamTrack::CanvasCaptureMediaStreamTrack): 16 * Modules/mediastream/MediaStream.cpp: 17 (WebCore::loggerFromContext): 18 (WebCore::MediaStream::create): 19 (WebCore::MediaStream::MediaStream): 20 * Modules/mediastream/MediaStream.h: 21 * Modules/mediastream/MediaStreamTrack.cpp: 22 (WebCore::MediaStreamTrack::MediaStreamTrack): 23 * Modules/mediastream/MediaStreamTrack.h: 24 * Modules/mediastream/UserMediaRequest.cpp: 25 (WebCore::UserMediaRequest::allow): 26 * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp: 27 (WebCore::LibWebRTCMediaEndpoint::mediaStreamFromRTCStream): 28 * Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp: 29 (WebCore::LibWebRTCPeerConnectionBackend::createReceiverForSource): 30 * Modules/webaudio/MediaStreamAudioDestinationNode.cpp: 31 (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode): 32 * platform/mediastream/MediaStreamPrivate.cpp: 33 (WebCore::MediaStreamPrivate::create): 34 (WebCore::MediaStreamPrivate::MediaStreamPrivate): 35 (WebCore::MediaStreamPrivate::setLogger): Deleted. 36 * platform/mediastream/MediaStreamPrivate.h: 37 * platform/mediastream/MediaStreamTrackPrivate.cpp: 38 (WebCore::MediaStreamTrackPrivate::create): 39 (WebCore::MediaStreamTrackPrivate::MediaStreamTrackPrivate): 40 (WebCore::MediaStreamTrackPrivate::clone): 41 (WebCore::MediaStreamTrackPrivate::setLogger): Deleted. 42 * platform/mediastream/MediaStreamTrackPrivate.h: 43 * platform/mediastream/RealtimeMediaSourceCenter.cpp: 44 (WebCore::RealtimeMediaSourceCenter::createMediaStream): 45 * platform/mediastream/RealtimeMediaSourceCenter.h: 46 * platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.cpp: 47 (WebCore::RealtimeIncomingAudioSourceCocoa::OnData): 48 * platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm: 49 (WebCore::RealtimeIncomingVideoSourceCocoa::pixelBufferPool): 50 (WebCore::RealtimeIncomingVideoSourceCocoa::pixelBufferFromVideoFrame): 51 (WebCore::RealtimeIncomingVideoSourceCocoa::OnFrame): 52 1 53 2019-06-14 Ali Juma <ajuma@chromium.org> 2 54 -
trunk/Source/WebCore/Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp
r243887 r246436 43 43 } 44 44 45 static inline Ref<const Logger> loggerFromContext(ScriptExecutionContext& context) 46 { 47 return downcast<Document>(context).logger(); 48 } 49 45 50 CanvasCaptureMediaStreamTrack::CanvasCaptureMediaStreamTrack(ScriptExecutionContext& context, Ref<HTMLCanvasElement>&& canvas, Ref<CanvasCaptureMediaStreamTrack::Source>&& source) 46 : MediaStreamTrack(context, MediaStreamTrackPrivate::create( source.copyRef()))51 : MediaStreamTrack(context, MediaStreamTrackPrivate::create(loggerFromContext(context), source.copyRef())) 47 52 , m_canvas(WTFMove(canvas)) 48 53 { -
trunk/Source/WebCore/Modules/mediastream/MediaStream.cpp
r243899 r246436 49 49 WTF_MAKE_ISO_ALLOCATED_IMPL(MediaStream); 50 50 51 static inline Ref<const Logger> loggerFromContext(ScriptExecutionContext& context) 52 { 53 return downcast<Document>(context).logger(); 54 } 55 51 56 Ref<MediaStream> MediaStream::create(ScriptExecutionContext& context) 52 57 { 53 return MediaStream::create(context, MediaStreamPrivate::create( { }));58 return MediaStream::create(context, MediaStreamPrivate::create(loggerFromContext(context), { })); 54 59 } 55 60 … … 80 85 MediaStream::MediaStream(ScriptExecutionContext& context, const MediaStreamTrackVector& tracks) 81 86 : ActiveDOMObject(&context) 82 , m_private(MediaStreamPrivate::create( createTrackPrivateVector(tracks)))87 , m_private(MediaStreamPrivate::create(document()->logger(), createTrackPrivateVector(tracks))) 83 88 , m_mediaSession(PlatformMediaSession::create(*this)) 84 #if !RELEASE_LOG_DISABLED85 , m_logger(document()->logger())86 , m_logIdentifier(uniqueLogIdentifier())87 #endif88 89 { 89 90 // This constructor preserves MediaStreamTrack instances and must be used by calls originating 90 91 // from the JavaScript MediaStream constructor. 91 92 #if !RELEASE_LOG_DISABLED93 ALWAYS_LOG(LOGIDENTIFIER);94 m_private->setLogger(logger(), logIdentifier());95 #endif96 92 97 93 for (auto& track : tracks) { … … 110 106 , m_private(WTFMove(streamPrivate)) 111 107 , m_mediaSession(PlatformMediaSession::create(*this)) 112 #if !RELEASE_LOG_DISABLED 113 , m_logger(document()->logger()) 114 , m_logIdentifier(uniqueLogIdentifier()) 115 #endif 116 { 117 #if !RELEASE_LOG_DISABLED 108 { 118 109 ALWAYS_LOG(LOGIDENTIFIER); 119 m_private->setLogger(logger(), logIdentifier()); 120 #endif 110 121 111 setIsActive(m_private->active()); 122 112 m_private->addObserver(*this); -
trunk/Source/WebCore/Modules/mediastream/MediaStream.h
r243887 r246436 126 126 127 127 #if !RELEASE_LOG_DISABLED 128 const Logger& logger() const final { return m_ logger.get(); }129 const void* logIdentifier() const final { return m_ logIdentifier; }128 const Logger& logger() const final { return m_private->logger(); } 129 const void* logIdentifier() const final { return m_private->logIdentifier(); } 130 130 WTFLogChannel& logChannel() const final; 131 131 const char* logClassName() const final { return "MediaStream"; } … … 188 188 MediaProducer::MediaStateFlags m_state { MediaProducer::IsNotPlaying }; 189 189 190 #if !RELEASE_LOG_DISABLED191 Ref<Logger> m_logger;192 const void* m_logIdentifier;193 #endif194 195 190 bool m_isActive { false }; 196 191 bool m_isProducingData { false }; -
trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp
r246212 r246436 59 59 : ActiveDOMObject(&context) 60 60 , m_private(WTFMove(privateTrack)) 61 #if !RELEASE_LOG_DISABLED62 , m_logger(document()->logger())63 , m_logIdentifier(uniqueLogIdentifier())64 #endif65 61 , m_taskQueue(context) 66 62 , m_isCaptureTrack(m_private->isCaptureTrack()) … … 69 65 suspendIfNeeded(); 70 66 71 #if !RELEASE_LOG_DISABLED72 m_private->setLogger(logger(), logIdentifier());73 #endif74 67 m_private->addObserver(*this); 75 68 -
trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.h
r246212 r246436 152 152 153 153 #if !RELEASE_LOG_DISABLED 154 const Logger& logger() const final { return m_ logger.get(); }155 const void* logIdentifier() const final { return m_ logIdentifier; }154 const Logger& logger() const final { return m_private->logger(); } 155 const void* logIdentifier() const final { return m_private->logIdentifier(); } 156 156 #endif 157 157 … … 190 190 const char* logClassName() const final { return "MediaStreamTrack"; } 191 191 WTFLogChannel& logChannel() const final; 192 193 Ref<const Logger> m_logger;194 const void* m_logIdentifier;195 192 #endif 196 193 -
trunk/Source/WebCore/Modules/mediastream/UserMediaRequest.cpp
r245335 r246436 247 247 document.setDeviceIDHashSalt(deviceIdentifierHashSalt); 248 248 249 RealtimeMediaSourceCenter::singleton().createMediaStream( WTFMove(callback), WTFMove(deviceIdentifierHashSalt), WTFMove(audioDevice), WTFMove(videoDevice), m_request);249 RealtimeMediaSourceCenter::singleton().createMediaStream(document.logger(), WTFMove(callback), WTFMove(deviceIdentifierHashSalt), WTFMove(audioDevice), WTFMove(videoDevice), m_request); 250 250 251 251 if (!m_scriptExecutionContext) -
trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp
r244736 r246436 355 355 auto label = fromStdString(rtcStream.id()); 356 356 auto mediaStream = m_remoteStreamsById.ensure(label, [label, this]() mutable { 357 return MediaStream::create(*m_peerConnectionBackend.connection().scriptExecutionContext(), MediaStreamPrivate::create({ }, WTFMove(label))); 357 auto& document = downcast<Document>(*m_peerConnectionBackend.connection().scriptExecutionContext()); 358 return MediaStream::create(document, MediaStreamPrivate::create(document.logger(), { }, WTFMove(label))); 358 359 }); 359 360 return *mediaStream.iterator->value; -
trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp
r243163 r246436 270 270 Ref<RTCRtpReceiver> LibWebRTCPeerConnectionBackend::createReceiverForSource(Ref<RealtimeMediaSource>&& source, std::unique_ptr<RTCRtpReceiverBackend>&& backend) 271 271 { 272 String trackID = source->persistentID(); 273 auto remoteTrackPrivate = MediaStreamTrackPrivate::create(WTFMove(source), WTFMove(trackID)); 274 auto remoteTrack = MediaStreamTrack::create(*m_peerConnection.scriptExecutionContext(), WTFMove(remoteTrackPrivate)); 272 auto& document = downcast<Document>(*m_peerConnection.scriptExecutionContext()); 273 auto trackID = source->persistentID(); 274 auto remoteTrackPrivate = MediaStreamTrackPrivate::create(document.logger(), WTFMove(source), WTFMove(trackID)); 275 auto remoteTrack = MediaStreamTrack::create(document, WTFMove(remoteTrackPrivate)); 275 276 276 277 return RTCRtpReceiver::create(*this, WTFMove(remoteTrack), WTFMove(backend)); -
trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioDestinationNode.cpp
r244899 r246436 48 48 : AudioBasicInspectorNode(context, context.sampleRate(), numberOfChannels) 49 49 , m_source(MediaStreamAudioSource::create(context.sampleRate())) 50 , m_stream(MediaStream::create(*context.document(), MediaStreamPrivate::create( m_source.copyRef())))50 , m_stream(MediaStream::create(*context.document(), MediaStreamPrivate::create(context.document()->logger(), m_source.copyRef()))) 51 51 { 52 52 setNodeType(NodeTypeMediaStreamAudioDestination); -
trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.cpp
r243899 r246436 46 46 namespace WebCore { 47 47 48 Ref<MediaStreamPrivate> MediaStreamPrivate::create(Ref<RealtimeMediaSource>&& source) 49 { 50 return MediaStreamPrivate::create(MediaStreamTrackPrivateVector::from(MediaStreamTrackPrivate::create(WTFMove(source)))); 51 } 52 53 Ref<MediaStreamPrivate> MediaStreamPrivate::create(const Vector<Ref<RealtimeMediaSource>>& audioSources, const Vector<Ref<RealtimeMediaSource>>& videoSources) 48 Ref<MediaStreamPrivate> MediaStreamPrivate::create(Ref<const Logger>&& logger, Ref<RealtimeMediaSource>&& source) 49 { 50 auto loggerCopy = logger.copyRef(); 51 return MediaStreamPrivate::create(WTFMove(logger), MediaStreamTrackPrivateVector::from(MediaStreamTrackPrivate::create(WTFMove(loggerCopy), WTFMove(source)))); 52 } 53 54 Ref<MediaStreamPrivate> MediaStreamPrivate::create(Ref<const Logger>&& logger, const Vector<Ref<RealtimeMediaSource>>& audioSources, const Vector<Ref<RealtimeMediaSource>>& videoSources) 54 55 { 55 56 MediaStreamTrackPrivateVector tracks; … … 57 58 58 59 for (auto& source : audioSources) 59 tracks.uncheckedAppend(MediaStreamTrackPrivate::create( source.copyRef()));60 tracks.uncheckedAppend(MediaStreamTrackPrivate::create(logger.copyRef(), source.copyRef())); 60 61 61 62 for (auto& source : videoSources) 62 tracks.uncheckedAppend(MediaStreamTrackPrivate::create( source.copyRef()));63 64 return MediaStreamPrivate::create( tracks);65 } 66 67 MediaStreamPrivate::MediaStreamPrivate( const MediaStreamTrackPrivateVector& tracks, String&& id)63 tracks.uncheckedAppend(MediaStreamTrackPrivate::create(logger.copyRef(), source.copyRef())); 64 65 return MediaStreamPrivate::create(WTFMove(logger), tracks); 66 } 67 68 MediaStreamPrivate::MediaStreamPrivate(Ref<const Logger>&& logger, const MediaStreamTrackPrivateVector& tracks, String&& id) 68 69 : m_id(WTFMove(id)) 69 { 70 #if !RELEASE_LOG_DISABLED 71 , m_logger(WTFMove(logger)) 72 , m_logIdentifier(uniqueLogIdentifier()) 73 #endif 74 { 75 UNUSED_PARAM(logger); 70 76 ASSERT(!m_id.isEmpty()); 71 77 … … 346 352 347 353 #if !RELEASE_LOG_DISABLED 348 void MediaStreamPrivate::setLogger(const Logger& newLogger, const void* newLogIdentifier)349 {350 m_logger = &newLogger;351 m_logIdentifier = newLogIdentifier;352 ALWAYS_LOG(LOGIDENTIFIER);353 }354 355 354 WTFLogChannel& MediaStreamPrivate::logChannel() const 356 355 { -
trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.h
r243899 r246436 74 74 }; 75 75 76 static Ref<MediaStreamPrivate> create(Ref< RealtimeMediaSource>&&);77 static Ref<MediaStreamPrivate> create( const Vector<Ref<RealtimeMediaSource>>& audioSources, const Vector<Ref<RealtimeMediaSource>>& videoSources);78 static Ref<MediaStreamPrivate> create( const MediaStreamTrackPrivateVector& tracks, String&& id = createCanonicalUUIDString()) { return adoptRef(*new MediaStreamPrivate(tracks, WTFMove(id))); }76 static Ref<MediaStreamPrivate> create(Ref<const Logger>&&, Ref<RealtimeMediaSource>&&); 77 static Ref<MediaStreamPrivate> create(Ref<const Logger>&&, const Vector<Ref<RealtimeMediaSource>>& audioSources, const Vector<Ref<RealtimeMediaSource>>& videoSources); 78 static Ref<MediaStreamPrivate> create(Ref<const Logger>&& logger, const MediaStreamTrackPrivateVector& tracks, String&& id = createCanonicalUUIDString()) { return adoptRef(*new MediaStreamPrivate(WTFMove(logger), tracks, WTFMove(id))); } 79 79 80 80 virtual ~MediaStreamPrivate(); … … 112 112 113 113 #if !RELEASE_LOG_DISABLED 114 void setLogger(const Logger&, const void*); 114 const Logger& logger() const final { return m_logger; } 115 const void* logIdentifier() const final { return m_logIdentifier; } 115 116 #endif 116 117 117 118 private: 118 MediaStreamPrivate( const MediaStreamTrackPrivateVector&, String&&);119 MediaStreamPrivate(Ref<const Logger>&&, const MediaStreamTrackPrivateVector&, String&&); 119 120 120 121 // MediaStreamTrackPrivate::Observer … … 132 133 133 134 #if !RELEASE_LOG_DISABLED 134 const Logger& logger() const final { ASSERT(m_logger); return *m_logger.get(); }135 const void* logIdentifier() const final { return m_logIdentifier; }136 135 const char* logClassName() const final { return "MediaStreamPrivate"; } 137 136 WTFLogChannel& logChannel() const final; 138 139 RefPtr<const Logger> m_logger;140 const void* m_logIdentifier;141 137 #endif 142 138 … … 146 142 HashMap<String, RefPtr<MediaStreamTrackPrivate>> m_trackSet; 147 143 bool m_isActive { false }; 144 #if !RELEASE_LOG_DISABLED 145 Ref<const Logger> m_logger; 146 const void* m_logIdentifier; 147 #endif 148 148 }; 149 149 -
trunk/Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.cpp
r243033 r246436 45 45 namespace WebCore { 46 46 47 Ref<MediaStreamTrackPrivate> MediaStreamTrackPrivate::create(Ref< RealtimeMediaSource>&& source)48 { 49 return create(WTFMove( source), createCanonicalUUIDString());50 } 51 52 Ref<MediaStreamTrackPrivate> MediaStreamTrackPrivate::create(Ref< RealtimeMediaSource>&& source, String&& id)53 { 54 return adoptRef(*new MediaStreamTrackPrivate(WTFMove( source), WTFMove(id)));55 } 56 57 MediaStreamTrackPrivate::MediaStreamTrackPrivate(Ref< RealtimeMediaSource>&& source, String&& id)47 Ref<MediaStreamTrackPrivate> MediaStreamTrackPrivate::create(Ref<const Logger>&& logger, Ref<RealtimeMediaSource>&& source) 48 { 49 return create(WTFMove(logger), WTFMove(source), createCanonicalUUIDString()); 50 } 51 52 Ref<MediaStreamTrackPrivate> MediaStreamTrackPrivate::create(Ref<const Logger>&& logger, Ref<RealtimeMediaSource>&& source, String&& id) 53 { 54 return adoptRef(*new MediaStreamTrackPrivate(WTFMove(logger), WTFMove(source), WTFMove(id))); 55 } 56 57 MediaStreamTrackPrivate::MediaStreamTrackPrivate(Ref<const Logger>&& logger, Ref<RealtimeMediaSource>&& source, String&& id) 58 58 : m_source(WTFMove(source)) 59 59 , m_id(WTFMove(id)) 60 { 60 , m_logger(WTFMove(logger)) 61 #if !RELEASE_LOG_DISABLED 62 , m_logIdentifier(uniqueLogIdentifier()) 63 #endif 64 { 65 UNUSED_PARAM(logger); 66 #if !RELEASE_LOG_DISABLED 67 m_source->setLogger(m_logger.copyRef(), m_logIdentifier); 68 #endif 61 69 m_source->addObserver(*this); 62 70 } … … 148 156 Ref<MediaStreamTrackPrivate> MediaStreamTrackPrivate::clone() 149 157 { 150 auto clonedMediaStreamTrackPrivate = create(m_source.copyRef()); 158 auto clonedMediaStreamTrackPrivate = create(m_logger.copyRef(), m_source.copyRef()); 159 151 160 clonedMediaStreamTrackPrivate->m_isEnabled = this->m_isEnabled; 152 161 clonedMediaStreamTrackPrivate->m_isEnded = this->m_isEnded; … … 280 289 281 290 #if !RELEASE_LOG_DISABLED 282 void MediaStreamTrackPrivate::setLogger(const Logger& newLogger, const void* newLogIdentifier)283 {284 m_logger = &newLogger;285 m_logIdentifier = newLogIdentifier;286 ALWAYS_LOG(LOGIDENTIFIER);287 m_source->setLogger(newLogger, newLogIdentifier);288 }289 290 291 WTFLogChannel& MediaStreamTrackPrivate::logChannel() const 291 292 { -
trunk/Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.h
r243033 r246436 65 65 }; 66 66 67 static Ref<MediaStreamTrackPrivate> create(Ref< RealtimeMediaSource>&&);68 static Ref<MediaStreamTrackPrivate> create(Ref< RealtimeMediaSource>&&, String&& id);67 static Ref<MediaStreamTrackPrivate> create(Ref<const Logger>&&, Ref<RealtimeMediaSource>&&); 68 static Ref<MediaStreamTrackPrivate> create(Ref<const Logger>&&, Ref<RealtimeMediaSource>&&, String&& id); 69 69 70 70 virtual ~MediaStreamTrackPrivate(); … … 118 118 119 119 #if !RELEASE_LOG_DISABLED 120 void setLogger(const Logger&, const void*); 121 const Logger& logger() const final { ASSERT(m_logger); return *m_logger.get(); } 120 const Logger& logger() const final { return m_logger; } 122 121 const void* logIdentifier() const final { return m_logIdentifier; } 123 122 #endif 124 123 125 124 private: 126 MediaStreamTrackPrivate(Ref< RealtimeMediaSource>&&, String&& id);125 MediaStreamTrackPrivate(Ref<const Logger>&&, Ref<RealtimeMediaSource>&&, String&& id); 127 126 128 127 // RealtimeMediaSourceObserver … … 142 141 const char* logClassName() const final { return "MediaStreamTrackPrivate"; } 143 142 WTFLogChannel& logChannel() const final; 144 145 RefPtr<const Logger> m_logger;146 const void* m_logIdentifier;147 143 #endif 148 144 … … 158 154 HintValue m_contentHint { HintValue::Empty }; 159 155 RefPtr<WebAudioSourceProvider> m_audioSourceProvider; 156 Ref<const Logger> m_logger; 157 #if !RELEASE_LOG_DISABLED 158 const void* m_logIdentifier; 159 #endif 160 160 }; 161 161 -
trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.cpp
r246002 r246436 64 64 RealtimeMediaSourceCenter::~RealtimeMediaSourceCenter() = default; 65 65 66 void RealtimeMediaSourceCenter::createMediaStream( NewMediaStreamHandler&& completionHandler, String&& hashSalt, CaptureDevice&& audioDevice, CaptureDevice&& videoDevice, const MediaStreamRequest& request)66 void RealtimeMediaSourceCenter::createMediaStream(Ref<const Logger>&& logger, NewMediaStreamHandler&& completionHandler, String&& hashSalt, CaptureDevice&& audioDevice, CaptureDevice&& videoDevice, const MediaStreamRequest& request) 67 67 { 68 68 Vector<Ref<RealtimeMediaSource>> audioSources; … … 103 103 } 104 104 105 completionHandler(MediaStreamPrivate::create( audioSources, videoSources));105 completionHandler(MediaStreamPrivate::create(WTFMove(logger), audioSources, videoSources)); 106 106 } 107 107 -
trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h
r246002 r246436 60 60 WEBCORE_EXPORT static RealtimeMediaSourceCenter& singleton(); 61 61 62 using ValidConstraintsHandler = WTF::Function<void(Vector<CaptureDevice>&& audioDeviceUIDs, Vector<CaptureDevice>&& videoDeviceUIDs, String&&)>;63 using InvalidConstraintsHandler = WTF::Function<void(const String& invalidConstraint)>;62 using ValidConstraintsHandler = Function<void(Vector<CaptureDevice>&& audioDeviceUIDs, Vector<CaptureDevice>&& videoDeviceUIDs, String&&)>; 63 using InvalidConstraintsHandler = Function<void(const String& invalidConstraint)>; 64 64 WEBCORE_EXPORT void validateRequestConstraints(ValidConstraintsHandler&&, InvalidConstraintsHandler&&, const MediaStreamRequest&, String&&); 65 65 66 using NewMediaStreamHandler = WTF::Function<void(RefPtr<MediaStreamPrivate>&&)>;67 void createMediaStream( NewMediaStreamHandler&&, String&&, CaptureDevice&& audioDevice, CaptureDevice&& videoDevice, const MediaStreamRequest&);66 using NewMediaStreamHandler = Function<void(RefPtr<MediaStreamPrivate>&&)>; 67 void createMediaStream(Ref<const Logger>&&, NewMediaStreamHandler&&, String&&, CaptureDevice&& audioDevice, CaptureDevice&& videoDevice, const MediaStreamRequest&); 68 68 69 69 WEBCORE_EXPORT Vector<CaptureDevice> getMediaStreamDevices(); -
trunk/Source/WebCore/platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.cpp
r240120 r246436 89 89 #if !RELEASE_LOG_DISABLED 90 90 if (!(++m_chunksReceived % 200)) 91 ALWAYS_LOG (LOGIDENTIFIER, "chunk ", m_chunksReceived);91 ALWAYS_LOG_IF(loggerPtr(), LOGIDENTIFIER, "chunk ", m_chunksReceived); 92 92 #endif 93 93 -
trunk/Source/WebCore/platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm
r240120 r246436 114 114 115 115 if (status != kCVReturnSuccess) { 116 ERROR_LOG (LOGIDENTIFIER, "Failed creating a pixel buffer pool with error ", status);116 ERROR_LOG_IF(loggerPtr(), LOGIDENTIFIER, "Failed creating a pixel buffer pool with error ", status); 117 117 return nullptr; 118 118 } … … 145 145 146 146 if (status != kCVReturnSuccess) { 147 ERROR_LOG (LOGIDENTIFIER, "Failed creating a pixel buffer with error ", status);147 ERROR_LOG_IF(loggerPtr(), LOGIDENTIFIER, "Failed creating a pixel buffer with error ", status); 148 148 return nullptr; 149 149 } … … 160 160 #if !RELEASE_LOG_DISABLED 161 161 if (!(++m_numberOfFrames % 60)) 162 ALWAYS_LOG (LOGIDENTIFIER, "frame ", m_numberOfFrames);162 ALWAYS_LOG_IF(loggerPtr(), LOGIDENTIFIER, "frame ", m_numberOfFrames); 163 163 #endif 164 164 165 165 auto pixelBuffer = pixelBufferFromVideoFrame(frame); 166 166 if (!pixelBuffer) { 167 ERROR_LOG (LOGIDENTIFIER, "Failed to get a pixel buffer from a frame");167 ERROR_LOG_IF(loggerPtr(), LOGIDENTIFIER, "Failed to get a pixel buffer from a frame"); 168 168 return; 169 169 } … … 179 179 OSStatus ostatus = CMVideoFormatDescriptionCreateForImageBuffer(kCFAllocatorDefault, (CVImageBufferRef)pixelBuffer, &formatDescription); 180 180 if (ostatus != noErr) { 181 ERROR_LOG (LOGIDENTIFIER, "Failed to initialize CMVideoFormatDescription with error ", static_cast<int>(ostatus));181 ERROR_LOG_IF(loggerPtr(), LOGIDENTIFIER, "Failed to initialize CMVideoFormatDescription with error ", static_cast<int>(ostatus)); 182 182 return; 183 183 } … … 187 187 CFRelease(formatDescription); 188 188 if (ostatus != noErr) { 189 ERROR_LOG (LOGIDENTIFIER, "Failed to create the sample buffer with error ", static_cast<int>(ostatus));189 ERROR_LOG_IF(loggerPtr(), LOGIDENTIFIER, "Failed to create the sample buffer with error ", static_cast<int>(ostatus)); 190 190 return; 191 191 }
Note: See TracChangeset
for help on using the changeset viewer.