Title: [237082] trunk/Source/WebCore
Revision
237082
Author
you...@apple.com
Date
2018-10-12 15:06:07 -0700 (Fri, 12 Oct 2018)

Log Message

Use downcast for use of RealtimeMediaSource in LibWebRTCMediaEndpoint
https://bugs.webkit.org/show_bug.cgi?id=190533

Reviewed by Chris Dumez.

Clean-up work.
No change of behavior.

* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::setExistingReceiverSourceTrack):
* platform/mediastream/RealtimeIncomingAudioSource.h:
(isType):
* platform/mediastream/RealtimeIncomingVideoSource.h:
(isType):
* platform/mediastream/RealtimeMediaSource.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (237081 => 237082)


--- trunk/Source/WebCore/ChangeLog	2018-10-12 21:43:01 UTC (rev 237081)
+++ trunk/Source/WebCore/ChangeLog	2018-10-12 22:06:07 UTC (rev 237082)
@@ -1,3 +1,21 @@
+2018-10-12  Youenn Fablet  <you...@apple.com>
+
+        Use downcast for use of RealtimeMediaSource in LibWebRTCMediaEndpoint
+        https://bugs.webkit.org/show_bug.cgi?id=190533
+
+        Reviewed by Chris Dumez.
+
+        Clean-up work.
+        No change of behavior.
+
+        * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
+        (WebCore::setExistingReceiverSourceTrack):
+        * platform/mediastream/RealtimeIncomingAudioSource.h:
+        (isType):
+        * platform/mediastream/RealtimeIncomingVideoSource.h:
+        (isType):
+        * platform/mediastream/RealtimeMediaSource.h:
+
 2018-10-12  Jer Noble  <jer.no...@apple.com>
 
         WebAVSampleBufferErrorListener's parent should be a WeakPtr.

Modified: trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp (237081 => 237082)


--- trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp	2018-10-12 21:43:01 UTC (rev 237081)
+++ trunk/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp	2018-10-12 22:06:07 UTC (rev 237082)
@@ -415,13 +415,13 @@
     case cricket::MEDIA_TYPE_AUDIO: {
         ASSERT(existingSource.type() == RealtimeMediaSource::Type::Audio);
         rtc::scoped_refptr<webrtc::AudioTrackInterface> audioTrack = static_cast<webrtc::AudioTrackInterface*>(rtcReceiver.track().get());
-        static_cast<RealtimeIncomingAudioSource&>(existingSource).setSourceTrack(WTFMove(audioTrack));
+        downcast<RealtimeIncomingAudioSource>(existingSource).setSourceTrack(WTFMove(audioTrack));
         return;
     }
     case cricket::MEDIA_TYPE_VIDEO: {
         ASSERT(existingSource.type() == RealtimeMediaSource::Type::Video);
         rtc::scoped_refptr<webrtc::VideoTrackInterface> videoTrack = static_cast<webrtc::VideoTrackInterface*>(rtcReceiver.track().get());
-        static_cast<RealtimeIncomingVideoSource&>(existingSource).setSourceTrack(WTFMove(videoTrack));
+        downcast<RealtimeIncomingVideoSource>(existingSource).setSourceTrack(WTFMove(videoTrack));
         return;
     }
     case cricket::MEDIA_TYPE_DATA:

Modified: trunk/Source/WebCore/platform/mediastream/RealtimeIncomingAudioSource.h (237081 => 237082)


--- trunk/Source/WebCore/platform/mediastream/RealtimeIncomingAudioSource.h	2018-10-12 21:43:01 UTC (rev 237081)
+++ trunk/Source/WebCore/platform/mediastream/RealtimeIncomingAudioSource.h	2018-10-12 22:06:07 UTC (rev 237082)
@@ -66,6 +66,8 @@
     const RealtimeMediaSourceCapabilities& capabilities() final;
     const RealtimeMediaSourceSettings& settings() final;
 
+    bool isIncomingAudioSource() const final { return true; }
+
     RealtimeMediaSourceSettings m_currentSettings;
     rtc::scoped_refptr<webrtc::AudioTrackInterface> m_audioTrack;
 };
@@ -72,4 +74,8 @@
 
 } // namespace WebCore
 
+SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::RealtimeIncomingAudioSource)
+    static bool isType(const WebCore::RealtimeMediaSource& source) { return source.isIncomingAudioSource(); }
+SPECIALIZE_TYPE_TRAITS_END()
+
 #endif // USE(LIBWEBRTC)

Modified: trunk/Source/WebCore/platform/mediastream/RealtimeIncomingVideoSource.h (237081 => 237082)


--- trunk/Source/WebCore/platform/mediastream/RealtimeIncomingVideoSource.h	2018-10-12 21:43:01 UTC (rev 237081)
+++ trunk/Source/WebCore/platform/mediastream/RealtimeIncomingVideoSource.h	2018-10-12 22:06:07 UTC (rev 237082)
@@ -69,6 +69,8 @@
     const RealtimeMediaSourceCapabilities& capabilities() final;
     const RealtimeMediaSourceSettings& settings() final;
 
+    bool isIncomingVideoSource() const final { return true; }
+
     std::optional<RealtimeMediaSourceSettings> m_currentSettings;
     rtc::scoped_refptr<webrtc::VideoTrackInterface> m_videoTrack;
 };
@@ -75,4 +77,8 @@
 
 } // namespace WebCore
 
+SPECIALIZE_TYPE_TRAITS_BEGIN(WebCore::RealtimeIncomingVideoSource)
+static bool isType(const WebCore::RealtimeMediaSource& source) { return source.isIncomingVideoSource(); }
+SPECIALIZE_TYPE_TRAITS_END()
+
 #endif // USE(LIBWEBRTC)

Modified: trunk/Source/WebCore/platform/mediastream/RealtimeMediaSource.h (237081 => 237082)


--- trunk/Source/WebCore/platform/mediastream/RealtimeMediaSource.h	2018-10-12 21:43:01 UTC (rev 237081)
+++ trunk/Source/WebCore/platform/mediastream/RealtimeMediaSource.h	2018-10-12 22:06:07 UTC (rev 237082)
@@ -162,6 +162,9 @@
 
     virtual void captureFailed();
 
+    virtual bool isIncomingAudioSource() const { return false; }
+    virtual bool isIncomingVideoSource() const { return false; }
+
     // Testing only
     virtual void delaySamples(Seconds) { };
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to