Title: [274789] trunk/Source
- Revision
- 274789
- Author
- [email protected]
- Date
- 2021-03-22 13:30:12 -0700 (Mon, 22 Mar 2021)
Log Message
RealtimeMediaSource does not need to be a WeakPtr
https://bugs.webkit.org/show_bug.cgi?id=223573
<rdar://75583258>
Reviewed by Eric Carlson.
Source/WebCore:
Remove use of WeakPtr and ref the source instead.
Covered by existing tests.
* platform/mediastream/RealtimeIncomingAudioSource.cpp:
(WebCore::RealtimeIncomingAudioSource::OnChanged):
* platform/mediastream/RealtimeIncomingVideoSource.cpp:
(WebCore::RealtimeIncomingVideoSource::OnChanged):
* platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::updateHasStartedProducingData):
* platform/mediastream/RealtimeMediaSource.h:
Source/WebKit:
* UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.h:
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (274788 => 274789)
--- trunk/Source/WebCore/ChangeLog 2021-03-22 20:30:11 UTC (rev 274788)
+++ trunk/Source/WebCore/ChangeLog 2021-03-22 20:30:12 UTC (rev 274789)
@@ -1,3 +1,22 @@
+2021-03-22 Youenn Fablet <[email protected]>
+
+ RealtimeMediaSource does not need to be a WeakPtr
+ https://bugs.webkit.org/show_bug.cgi?id=223573
+ <rdar://75583258>
+
+ Reviewed by Eric Carlson.
+
+ Remove use of WeakPtr and ref the source instead.
+ Covered by existing tests.
+
+ * platform/mediastream/RealtimeIncomingAudioSource.cpp:
+ (WebCore::RealtimeIncomingAudioSource::OnChanged):
+ * platform/mediastream/RealtimeIncomingVideoSource.cpp:
+ (WebCore::RealtimeIncomingVideoSource::OnChanged):
+ * platform/mediastream/RealtimeMediaSource.cpp:
+ (WebCore::RealtimeMediaSource::updateHasStartedProducingData):
+ * platform/mediastream/RealtimeMediaSource.h:
+
2021-03-22 Philippe Normand <[email protected]>
[GStreamer] gst_audio_format_fill_silence() is deprecated in GStreamer 1.20
Modified: trunk/Source/WebCore/platform/mediastream/RealtimeIncomingAudioSource.cpp (274788 => 274789)
--- trunk/Source/WebCore/platform/mediastream/RealtimeIncomingAudioSource.cpp 2021-03-22 20:30:11 UTC (rev 274788)
+++ trunk/Source/WebCore/platform/mediastream/RealtimeIncomingAudioSource.cpp 2021-03-22 20:30:12 UTC (rev 274789)
@@ -64,12 +64,9 @@
void RealtimeIncomingAudioSource::OnChanged()
{
- callOnMainThread([this, weakThis = makeWeakPtr(this)] {
- if (!weakThis)
- return;
-
- if (m_audioTrack->state() == webrtc::MediaStreamTrackInterface::kEnded)
- end();
+ callOnMainThread([protectedThis = makeRef(*this)] {
+ if (protectedThis->m_audioTrack->state() == webrtc::MediaStreamTrackInterface::kEnded)
+ protectedThis->end();
});
}
Modified: trunk/Source/WebCore/platform/mediastream/RealtimeIncomingVideoSource.cpp (274788 => 274789)
--- trunk/Source/WebCore/platform/mediastream/RealtimeIncomingVideoSource.cpp 2021-03-22 20:30:11 UTC (rev 274788)
+++ trunk/Source/WebCore/platform/mediastream/RealtimeIncomingVideoSource.cpp 2021-03-22 20:30:12 UTC (rev 274789)
@@ -68,12 +68,9 @@
void RealtimeIncomingVideoSource::OnChanged()
{
- callOnMainThread([this, weakThis = makeWeakPtr(this)] {
- if (!weakThis)
- return;
-
- if (m_videoTrack->state() == webrtc::MediaStreamTrackInterface::kEnded)
- end();
+ callOnMainThread([protectedThis = makeRef(*this)] {
+ if (protectedThis->m_videoTrack->state() == webrtc::MediaStreamTrackInterface::kEnded)
+ protectedThis->end();
});
}
Modified: trunk/Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp (274788 => 274789)
--- trunk/Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp 2021-03-22 20:30:11 UTC (rev 274788)
+++ trunk/Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp 2021-03-22 20:30:12 UTC (rev 274789)
@@ -175,13 +175,11 @@
if (m_hasStartedProducingData)
return;
- callOnMainThread([this, weakThis = makeWeakPtr(this)] {
- if (!weakThis)
+ callOnMainThread([protectedThis = makeRef(*this)] {
+ if (protectedThis->m_hasStartedProducingData)
return;
- if (m_hasStartedProducingData)
- return;
- m_hasStartedProducingData = true;
- forEachObserver([&](auto& observer) {
+ protectedThis->m_hasStartedProducingData = true;
+ protectedThis->forEachObserver([&](auto& observer) {
observer.hasStartedProducingData();
});
});
Modified: trunk/Source/WebCore/platform/mediastream/RealtimeMediaSource.h (274788 => 274789)
--- trunk/Source/WebCore/platform/mediastream/RealtimeMediaSource.h 2021-03-22 20:30:11 UTC (rev 274788)
+++ trunk/Source/WebCore/platform/mediastream/RealtimeMediaSource.h 2021-03-22 20:30:12 UTC (rev 274789)
@@ -69,7 +69,6 @@
class WEBCORE_EXPORT RealtimeMediaSource
: public ThreadSafeRefCounted<RealtimeMediaSource, WTF::DestructionThread::MainRunLoop>
- , public CanMakeWeakPtr<RealtimeMediaSource, WeakPtrFactoryInitialization::Eager>
#if !RELEASE_LOG_DISABLED
, public LoggerHelper
#endif
Modified: trunk/Source/WebKit/ChangeLog (274788 => 274789)
--- trunk/Source/WebKit/ChangeLog 2021-03-22 20:30:11 UTC (rev 274788)
+++ trunk/Source/WebKit/ChangeLog 2021-03-22 20:30:12 UTC (rev 274789)
@@ -1,3 +1,13 @@
+2021-03-22 Youenn Fablet <[email protected]>
+
+ RealtimeMediaSource does not need to be a WeakPtr
+ https://bugs.webkit.org/show_bug.cgi?id=223573
+ <rdar://75583258>
+
+ Reviewed by Eric Carlson.
+
+ * UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.h:
+
2021-03-22 Chris Dumez <[email protected]>
Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm:2681:9: runtime error: load of value nnn, which is not a valid value for type 'BOOL' (aka 'signed char')
Modified: trunk/Source/WebKit/UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.h (274788 => 274789)
--- trunk/Source/WebKit/UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.h 2021-03-22 20:30:11 UTC (rev 274788)
+++ trunk/Source/WebKit/UIProcess/SpeechRecognitionRemoteRealtimeMediaSource.h 2021-03-22 20:30:12 UTC (rev 274789)
@@ -46,7 +46,7 @@
namespace WebKit {
class SpeechRecognitionRemoteRealtimeMediaSourceManager;
-class SpeechRecognitionRemoteRealtimeMediaSource : public WebCore::RealtimeMediaSource {
+class SpeechRecognitionRemoteRealtimeMediaSource : public WebCore::RealtimeMediaSource, public CanMakeWeakPtr<SpeechRecognitionRemoteRealtimeMediaSource> {
public:
static Ref<WebCore::RealtimeMediaSource> create(SpeechRecognitionRemoteRealtimeMediaSourceManager&, const WebCore::CaptureDevice&);
~SpeechRecognitionRemoteRealtimeMediaSource();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes