Title: [155362] trunk/Source/WebCore
Revision
155362
Author
[email protected]
Date
2013-09-09 10:48:51 -0700 (Mon, 09 Sep 2013)

Log Message

MediaStream API: Moving Add/Remove track from WebMediaStreamCenterClient to WebMediaStream
https://bugs.webkit.org/show_bug.cgi?id=120872

Reviewed by Jer Noble.

Merge https://chromium.googlesource.com/chromium/blink/+/7d740fd27c1f345b59c846df01c3adce53c18e6e
Simple cleanup that makes the API cleaner.

* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::removeTrack):
(WebCore::MediaStream::addRemoteTrack):
(WebCore::MediaStream::removeRemoteTrack):
* platform/mediastream/MediaStreamCenter.cpp:
* platform/mediastream/MediaStreamCenter.h:
* platform/mediastream/MediaStreamDescriptor.h:
(WebCore::MediaStreamDescriptor::removeAudioComponent):
(WebCore::MediaStreamDescriptor::addRemoteTrack):
(WebCore::MediaStreamDescriptor::removeRemoteTrack):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (155361 => 155362)


--- trunk/Source/WebCore/ChangeLog	2013-09-09 17:41:15 UTC (rev 155361)
+++ trunk/Source/WebCore/ChangeLog	2013-09-09 17:48:51 UTC (rev 155362)
@@ -1,3 +1,24 @@
+2013-09-09  Eric Carlson  <[email protected]>
+
+        MediaStream API: Moving Add/Remove track from WebMediaStreamCenterClient to WebMediaStream
+        https://bugs.webkit.org/show_bug.cgi?id=120872
+
+        Reviewed by Jer Noble.
+
+        Merge https://chromium.googlesource.com/chromium/blink/+/7d740fd27c1f345b59c846df01c3adce53c18e6e
+        Simple cleanup that makes the API cleaner.
+
+        * Modules/mediastream/MediaStream.cpp:
+        (WebCore::MediaStream::removeTrack):
+        (WebCore::MediaStream::addRemoteTrack):
+        (WebCore::MediaStream::removeRemoteTrack):
+        * platform/mediastream/MediaStreamCenter.cpp:
+        * platform/mediastream/MediaStreamCenter.h:
+        * platform/mediastream/MediaStreamDescriptor.h:
+        (WebCore::MediaStreamDescriptor::removeAudioComponent):
+        (WebCore::MediaStreamDescriptor::addRemoteTrack):
+        (WebCore::MediaStreamDescriptor::removeRemoteTrack):
+
 2013-09-09  ChangSeok Oh  <[email protected]>
 
         [WK2] Assertion failure in WebCore::Page::checkSubframeCountConsistency when going back

Modified: trunk/Source/WebCore/Modules/mediastream/MediaStream.cpp (155361 => 155362)


--- trunk/Source/WebCore/Modules/mediastream/MediaStream.cpp	2013-09-09 17:41:15 UTC (rev 155361)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStream.cpp	2013-09-09 17:48:51 UTC (rev 155362)
@@ -167,7 +167,7 @@
     MediaStreamCenter::instance().didAddMediaStreamTrack(m_descriptor.get(), newTrack->component());
 }
 
-void MediaStream::removeTrack(PassRefPtr<MediaStreamTrack> prpTrack , ExceptionCode& ec)
+void MediaStream::removeTrack(PassRefPtr<MediaStreamTrack> prpTrack, ExceptionCode& ec)
 {
     if (ended()) {
         ec = INVALID_STATE_ERR;
@@ -280,9 +280,11 @@
     RefPtr<MediaStreamTrack> track = MediaStreamTrack::create(scriptExecutionContext(), component);
     switch (component->source()->type()) {
     case MediaStreamSource::TypeAudio:
+        m_descriptor->addAudioComponent(component);
         m_audioTracks.append(track);
         break;
     case MediaStreamSource::TypeVideo:
+        m_descriptor->addVideoComponent(component);
         m_videoTracks.append(track);
         break;
     }
@@ -315,6 +317,15 @@
     if (index == notFound)
         return;
 
+    switch (component->source()->type()) {
+    case MediaStreamSource::TypeAudio:
+        m_descriptor->removeAudioComponent(component);
+        break;
+    case MediaStreamSource::TypeVideo:
+        m_descriptor->removeAudioComponent(component);
+        break;
+    }
+
     RefPtr<MediaStreamTrack> track = (*tracks)[index];
     tracks->remove(index);
     scheduleDispatchEvent(MediaStreamTrackEvent::create(eventNames().removetrackEvent, false, false, track));

Modified: trunk/Source/WebCore/platform/mediastream/MediaStreamCenter.cpp (155361 => 155362)


--- trunk/Source/WebCore/platform/mediastream/MediaStreamCenter.cpp	2013-09-09 17:41:15 UTC (rev 155361)
+++ trunk/Source/WebCore/platform/mediastream/MediaStreamCenter.cpp	2013-09-09 17:48:51 UTC (rev 155362)
@@ -56,20 +56,6 @@
         streamDescriptor->setEnded();
 }
 
-void MediaStreamCenter::addMediaStreamTrack(MediaStreamDescriptor* streamDescriptor, MediaStreamComponent* component)
-{
-    MediaStreamDescriptorClient* client = streamDescriptor->client();
-    if (client)
-        client->addRemoteTrack(component);
-}
-
-void MediaStreamCenter::removeMediaStreamTrack(MediaStreamDescriptor* streamDescriptor, MediaStreamComponent* component)
-{
-    MediaStreamDescriptorClient* client = streamDescriptor->client();
-    if (client)
-        client->removeRemoteTrack(component);
-}
-
 } // namespace WebCore
 
 #endif // ENABLE(MEDIA_STREAM)

Modified: trunk/Source/WebCore/platform/mediastream/MediaStreamCenter.h (155361 => 155362)


--- trunk/Source/WebCore/platform/mediastream/MediaStreamCenter.h	2013-09-09 17:41:15 UTC (rev 155361)
+++ trunk/Source/WebCore/platform/mediastream/MediaStreamCenter.h	2013-09-09 17:48:51 UTC (rev 155362)
@@ -51,8 +51,6 @@
 
     virtual void queryMediaStreamSources(PassRefPtr<MediaStreamSourcesQueryClient>) = 0;
 
-    // FIXME: add a way to mute a MediaStreamSource from the WebKit API layer
-
     // Calls from the DOM objects to notify the platform
     virtual void didSetMediaStreamTrackEnabled(MediaStreamDescriptor*, MediaStreamComponent*) = 0;
     virtual bool didAddMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) = 0;
@@ -64,8 +62,6 @@
     MediaStreamCenter();
 
     void endLocalMediaStream(MediaStreamDescriptor*);
-    void addMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*);
-    void removeMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*);
 };
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/platform/mediastream/MediaStreamDescriptor.h (155361 => 155362)


--- trunk/Source/WebCore/platform/mediastream/MediaStreamDescriptor.h	2013-09-09 17:41:15 UTC (rev 155361)
+++ trunk/Source/WebCore/platform/mediastream/MediaStreamDescriptor.h	2013-09-09 17:48:51 UTC (rev 155362)
@@ -77,11 +77,23 @@
     void addAudioComponent(PassRefPtr<MediaStreamComponent> component) { m_audioComponents.append(component); }
     void removeAudioComponent(MediaStreamComponent* component)
     {
-        size_t pos = m_audioComponents.find(component);
+        size_t pos = m_videoComponents.find(component);
         if (pos != notFound)
-            m_audioComponents.remove(pos);
+            m_videoComponents.remove(pos);
     }
 
+    void addRemoteTrack(MediaStreamComponent* component)
+    {
+        if (m_client)
+            m_client->addRemoteTrack(component);
+    }
+
+    void removeRemoteTrack(MediaStreamComponent* component)
+    {
+        if (m_client)
+            m_client->removeRemoteTrack(component);
+    }
+
     unsigned numberOfVideoComponents() const { return m_videoComponents.size(); }
     MediaStreamComponent* videoComponent(unsigned index) const { return m_videoComponents[index].get(); }
     void addVideoComponent(PassRefPtr<MediaStreamComponent> component) { m_videoComponents.append(component); }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to