Title: [208687] trunk/Source/WebCore
Revision
208687
Author
[email protected]
Date
2016-11-14 09:46:10 -0800 (Mon, 14 Nov 2016)

Log Message

MediaStreamPrivate::create should take vectors of Ref
https://bugs.webkit.org/show_bug.cgi?id=164670

Patch by Youenn Fablet <[email protected]> on 2016-11-14
Reviewed by Sam Weinig.

No change of behavior.

* Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
(WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
* platform/mediastream/MediaStreamPrivate.cpp:
(WebCore::MediaStreamPrivate::create):
* platform/mediastream/MediaStreamPrivate.h:
* platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
(WebCore::RealtimeMediaSourceCenterMac::createMediaStream):
* platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:
(WebCore::RealtimeMediaSourceCenterOwr::mediaSourcesAvailable):
* platform/mock/MockRealtimeMediaSourceCenter.cpp:
(WebCore::MockRealtimeMediaSourceCenter::createMediaStream):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (208686 => 208687)


--- trunk/Source/WebCore/ChangeLog	2016-11-14 17:40:41 UTC (rev 208686)
+++ trunk/Source/WebCore/ChangeLog	2016-11-14 17:46:10 UTC (rev 208687)
@@ -1,3 +1,24 @@
+2016-11-14  Youenn Fablet  <[email protected]>
+
+        MediaStreamPrivate::create should take vectors of Ref
+        https://bugs.webkit.org/show_bug.cgi?id=164670
+
+        Reviewed by Sam Weinig.
+
+        No change of behavior.
+
+        * Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
+        (WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
+        * platform/mediastream/MediaStreamPrivate.cpp:
+        (WebCore::MediaStreamPrivate::create):
+        * platform/mediastream/MediaStreamPrivate.h:
+        * platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
+        (WebCore::RealtimeMediaSourceCenterMac::createMediaStream):
+        * platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:
+        (WebCore::RealtimeMediaSourceCenterOwr::mediaSourcesAvailable):
+        * platform/mock/MockRealtimeMediaSourceCenter.cpp:
+        (WebCore::MockRealtimeMediaSourceCenter::createMediaStream):
+
 2016-11-14  Joanmarie Diggs  <[email protected]>
 
         AX: [ATK] Expose STATE_SINGLE_LINE and STATE_MULTI_LINE for ARIA searchbox role

Modified: trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioDestinationNode.cpp (208686 => 208687)


--- trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioDestinationNode.cpp	2016-11-14 17:40:41 UTC (rev 208686)
+++ trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioDestinationNode.cpp	2016-11-14 17:46:10 UTC (rev 208687)
@@ -49,8 +49,9 @@
     setNodeType(NodeTypeMediaStreamAudioDestination);
 
     m_source = MediaStreamAudioSource::create();
-    Vector<RefPtr<RealtimeMediaSource>> audioSources(1, m_source);
-    m_stream = MediaStream::create(*context.scriptExecutionContext(), MediaStreamPrivate::create(WTFMove(audioSources), Vector<RefPtr<RealtimeMediaSource>>()));
+    Vector<Ref<RealtimeMediaSource>> audioSources;
+    audioSources.append(*m_source);
+    m_stream = MediaStream::create(*context.scriptExecutionContext(), MediaStreamPrivate::create(audioSources, { }));
 
     m_source->setAudioFormat(numberOfChannels, context.sampleRate());
 

Modified: trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.cpp (208686 => 208687)


--- trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.cpp	2016-11-14 17:40:41 UTC (rev 208686)
+++ trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.cpp	2016-11-14 17:46:10 UTC (rev 208687)
@@ -45,27 +45,23 @@
 
 namespace WebCore {
 
-RefPtr<MediaStreamPrivate> MediaStreamPrivate::create(const Vector<RefPtr<RealtimeMediaSource>>& audioSources, const Vector<RefPtr<RealtimeMediaSource>>& videoSources)
+Ref<MediaStreamPrivate> MediaStreamPrivate::create(const Vector<Ref<RealtimeMediaSource>>& audioSources, const Vector<Ref<RealtimeMediaSource>>& videoSources)
 {
     MediaStreamTrackPrivateVector tracks;
-    tracks.reserveCapacity(audioSources.size() + videoSources.size());
+    tracks.reserveInitialCapacity(audioSources.size() + videoSources.size());
 
-    for (auto source : audioSources) {
-        ASSERT(source);
-        tracks.append(MediaStreamTrackPrivate::create(source.releaseNonNull()));
-    }
+    for (auto& source : audioSources)
+        tracks.uncheckedAppend(MediaStreamTrackPrivate::create(source.copyRef()));
 
-    for (auto source : videoSources) {
-        ASSERT(source);
-        tracks.append(MediaStreamTrackPrivate::create(source.releaseNonNull()));
-    }
+    for (auto& source : videoSources)
+        tracks.uncheckedAppend(MediaStreamTrackPrivate::create(source.copyRef()));
 
     return MediaStreamPrivate::create(tracks);
 }
 
-RefPtr<MediaStreamPrivate> MediaStreamPrivate::create(const MediaStreamTrackPrivateVector& tracks)
+Ref<MediaStreamPrivate> MediaStreamPrivate::create(const MediaStreamTrackPrivateVector& tracks)
 {
-    return adoptRef(new MediaStreamPrivate(createCanonicalUUIDString(), tracks));
+    return adoptRef(*new MediaStreamPrivate(createCanonicalUUIDString(), tracks));
 }
 
 MediaStreamPrivate::MediaStreamPrivate(const String& id, const MediaStreamTrackPrivateVector& tracks)

Modified: trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.h (208686 => 208687)


--- trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.h	2016-11-14 17:40:41 UTC (rev 208686)
+++ trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.h	2016-11-14 17:46:10 UTC (rev 208687)
@@ -68,8 +68,8 @@
         virtual void didRemoveTrack(MediaStreamTrackPrivate&) { }
     };
 
-    static RefPtr<MediaStreamPrivate> create(const Vector<RefPtr<RealtimeMediaSource>>& audioSources, const Vector<RefPtr<RealtimeMediaSource>>& videoSources);
-    static RefPtr<MediaStreamPrivate> create(const MediaStreamTrackPrivateVector&);
+    static Ref<MediaStreamPrivate> create(const Vector<Ref<RealtimeMediaSource>>& audioSources, const Vector<Ref<RealtimeMediaSource>>& videoSources);
+    static Ref<MediaStreamPrivate> create(const MediaStreamTrackPrivateVector&);
 
     virtual ~MediaStreamPrivate();
 

Modified: trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp (208686 => 208687)


--- trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp	2016-11-14 17:40:41 UTC (rev 208686)
+++ trunk/Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp	2016-11-14 17:46:10 UTC (rev 208687)
@@ -93,8 +93,8 @@
 
 void RealtimeMediaSourceCenterMac::createMediaStream(NewMediaStreamHandler completionHandler, const String& audioDeviceID, const String& videoDeviceID, const MediaConstraints* audioConstraints, const MediaConstraints* videoConstraints)
 {
-    Vector<RefPtr<RealtimeMediaSource>> audioSources;
-    Vector<RefPtr<RealtimeMediaSource>> videoSources;
+    Vector<Ref<RealtimeMediaSource>> audioSources;
+    Vector<Ref<RealtimeMediaSource>> videoSources;
     String invalidConstraint;
 
     if (!audioDeviceID.isEmpty()) {
@@ -105,7 +105,7 @@
 #endif
 
         if (audioSource)
-            audioSources.append(WTFMove(audioSource));
+            audioSources.append(audioSource.releaseNonNull());
     }
     if (!videoDeviceID.isEmpty()) {
         auto videoSource = AVCaptureDeviceManager::singleton().sourceWithUID(videoDeviceID, RealtimeMediaSource::Video, videoConstraints, invalidConstraint);
@@ -114,7 +114,7 @@
             LOG(Media, "RealtimeMediaSourceCenterMac::createMediaStream(%p), video constraints failed to apply: %s", this, invalidConstraint.utf8().data());
 #endif
         if (videoSource)
-            videoSources.append(WTFMove(videoSource));
+            videoSources.append(videoSource.releaseNonNull());
     }
 
     if (videoSources.isEmpty() && audioSources.isEmpty())

Modified: trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp (208686 => 208687)


--- trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp	2016-11-14 17:40:41 UTC (rev 208686)
+++ trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp	2016-11-14 17:46:10 UTC (rev 208687)
@@ -120,8 +120,8 @@
 
 void RealtimeMediaSourceCenterOwr::mediaSourcesAvailable(GList* sources)
 {
-    Vector<RefPtr<RealtimeMediaSource>> audioSources;
-    Vector<RefPtr<RealtimeMediaSource>> videoSources;
+    Vector<Ref<RealtimeMediaSource>> audioSources;
+    Vector<Ref<RealtimeMediaSource>> videoSources;
 
     for (auto item = sources; item; item = item->next) {
         OwrMediaSource* source = OWR_MEDIA_SOURCE(item->data);
@@ -149,16 +149,16 @@
             ASSERT_NOT_REACHED();
         }
 
-        RefPtr<RealtimeMediaSourceOwr> mediaSource = adoptRef(new RealtimeMediaSourceOwr(source, id, mediaSourceType, sourceName));
+        auto mediaSource = adoptRef(*new RealtimeMediaSourceOwr(source, id, mediaSourceType, sourceName));
 
         RealtimeMediaSourceOwrMap::iterator sourceIterator = m_sourceMap.find(id);
         if (sourceIterator == m_sourceMap.end())
-            m_sourceMap.add(id, mediaSource);
+            m_sourceMap.add(id, mediaSource.copyRef());
 
         if (mediaType & OWR_MEDIA_TYPE_AUDIO)
-            audioSources.append(mediaSource);
+            audioSources.append(WTFMove(mediaSource));
         else if (mediaType & OWR_MEDIA_TYPE_VIDEO)
-            videoSources.append(mediaSource);
+            videoSources.append(WTFMove(mediaSource));
     }
 
     if (videoSources.isEmpty() && audioSources.isEmpty())

Modified: trunk/Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp (208686 => 208687)


--- trunk/Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp	2016-11-14 17:40:41 UTC (rev 208686)
+++ trunk/Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp	2016-11-14 17:46:10 UTC (rev 208687)
@@ -100,19 +100,19 @@
 
 void MockRealtimeMediaSourceCenter::createMediaStream(NewMediaStreamHandler completionHandler, const String& audioDeviceID, const String& videoDeviceID, const MediaConstraints* audioConstraints, const MediaConstraints* videoConstraints)
 {
-    Vector<RefPtr<RealtimeMediaSource>> audioSources;
-    Vector<RefPtr<RealtimeMediaSource>> videoSources;
+    Vector<Ref<RealtimeMediaSource>> audioSources;
+    Vector<Ref<RealtimeMediaSource>> videoSources;
 
     if (audioDeviceID == MockRealtimeMediaSource::mockAudioSourcePersistentID()) {
         auto source = MockRealtimeAudioSource::create(MockRealtimeMediaSource::mockAudioSourceName(), audioConstraints);
         if (source)
-            audioSources.append(source.leakRef());
+            audioSources.append(source.releaseNonNull());
     }
 
     if (videoDeviceID == MockRealtimeMediaSource::mockVideoSourcePersistentID()) {
         auto source = MockRealtimeVideoSource::create(MockRealtimeMediaSource::mockVideoSourceName(), videoConstraints);
         if (source)
-            videoSources.append(source.leakRef());
+            videoSources.append(source.releaseNonNull());
     }
 
     if (videoSources.isEmpty() && audioSources.isEmpty())
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to