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