Diff
Modified: branches/chromium/1410/Source/Platform/chromium/public/WebMediaStream.h (143918 => 143919)
--- branches/chromium/1410/Source/Platform/chromium/public/WebMediaStream.h 2013-02-25 14:14:40 UTC (rev 143918)
+++ branches/chromium/1410/Source/Platform/chromium/public/WebMediaStream.h 2013-02-25 14:38:20 UTC (rev 143919)
@@ -36,8 +36,8 @@
namespace WebKit {
+class WebMediaStreamSource;
class WebMediaStreamTrack;
-class WebMediaStreamSource;
class WebString;
class WebMediaStream {
@@ -59,7 +59,11 @@
WEBKIT_EXPORT void assign(const WebMediaStream&);
+ // DEPRECATED
WEBKIT_EXPORT void initialize(const WebString& label, const WebVector<WebMediaStreamSource>& audioSources, const WebVector<WebMediaStreamSource>& videoSources);
+
+ WEBKIT_EXPORT void initialize(const WebString& label, const WebVector<WebMediaStreamTrack>& audioTracks, const WebVector<WebMediaStreamTrack>& videoTracks);
+
WEBKIT_EXPORT void reset();
bool isNull() const { return m_private.isNull(); }
@@ -68,9 +72,13 @@
WEBKIT_EXPORT WebString id() const;
- WEBKIT_EXPORT void audioSources(WebVector<WebMediaStreamTrack>&) const;
- WEBKIT_EXPORT void videoSources(WebVector<WebMediaStreamTrack>&) const;
+ WEBKIT_EXPORT void audioTracks(WebVector<WebMediaStreamTrack>&) const;
+ WEBKIT_EXPORT void videoTracks(WebVector<WebMediaStreamTrack>&) const;
+ // DEPRECATED
+ void audioSources(WebVector<WebMediaStreamTrack>& tracks) const { audioTracks(tracks); }
+ void videoSources(WebVector<WebMediaStreamTrack>& tracks) const { videoTracks(tracks); }
+
// Extra data associated with this WebMediaStream.
// If non-null, the extra data pointer will be deleted when the object is destroyed.
// Setting the extra data pointer will cause any existing non-null
Modified: branches/chromium/1410/Source/Platform/chromium/public/WebMediaStreamTrack.h (143918 => 143919)
--- branches/chromium/1410/Source/Platform/chromium/public/WebMediaStreamTrack.h 2013-02-25 14:14:40 UTC (rev 143918)
+++ branches/chromium/1410/Source/Platform/chromium/public/WebMediaStreamTrack.h 2013-02-25 14:38:20 UTC (rev 143919)
@@ -50,7 +50,10 @@
return *this;
}
WEBKIT_EXPORT void assign(const WebMediaStreamTrack&);
+
WEBKIT_EXPORT void initialize(const WebMediaStreamSource&);
+ WEBKIT_EXPORT void initialize(const WebString& id, const WebMediaStreamSource&);
+
WEBKIT_EXPORT void reset();
bool isNull() const { return m_private.isNull(); }
Modified: branches/chromium/1410/Source/WebCore/platform/chromium/support/WebMediaStream.cpp (143918 => 143919)
--- branches/chromium/1410/Source/WebCore/platform/chromium/support/WebMediaStream.cpp 2013-02-25 14:14:40 UTC (rev 143918)
+++ branches/chromium/1410/Source/WebCore/platform/chromium/support/WebMediaStream.cpp 2013-02-25 14:38:20 UTC (rev 143919)
@@ -94,22 +94,22 @@
m_private->setExtraData(adoptRef(new ExtraDataContainer(extraData)));
}
-void WebMediaStream::audioSources(WebVector<WebMediaStreamTrack>& webSources) const
+void WebMediaStream::audioTracks(WebVector<WebMediaStreamTrack>& webTracks) const
{
- size_t numberOfSources = m_private->numberOfAudioComponents();
- WebVector<WebMediaStreamTrack> result(numberOfSources);
- for (size_t i = 0; i < numberOfSources; ++i)
+ size_t numberOfTracks = m_private->numberOfAudioComponents();
+ WebVector<WebMediaStreamTrack> result(numberOfTracks);
+ for (size_t i = 0; i < numberOfTracks; ++i)
result[i] = m_private->audioComponent(i);
- webSources.swap(result);
+ webTracks.swap(result);
}
-void WebMediaStream::videoSources(WebVector<WebMediaStreamTrack>& webSources) const
+void WebMediaStream::videoTracks(WebVector<WebMediaStreamTrack>& webTracks) const
{
- size_t numberOfSources = m_private->numberOfVideoComponents();
- WebVector<WebMediaStreamTrack> result(numberOfSources);
- for (size_t i = 0; i < numberOfSources; ++i)
+ size_t numberOfTracks = m_private->numberOfVideoComponents();
+ WebVector<WebMediaStreamTrack> result(numberOfTracks);
+ for (size_t i = 0; i < numberOfTracks; ++i)
result[i] = m_private->videoComponent(i);
- webSources.swap(result);
+ webTracks.swap(result);
}
WebMediaStream& WebMediaStream::operator=(const PassRefPtr<WebCore::MediaStreamDescriptor>& mediaStreamDescriptor)
@@ -130,18 +130,32 @@
void WebMediaStream::initialize(const WebString& label, const WebVector<WebMediaStreamSource>& audioSources, const WebVector<WebMediaStreamSource>& videoSources)
{
- MediaStreamSourceVector audio, video;
+ MediaStreamComponentVector audio, video;
for (size_t i = 0; i < audioSources.size(); ++i) {
- MediaStreamSource* curr = audioSources[i];
- audio.append(curr);
+ MediaStreamSource* source = audioSources[i];
+ audio.append(MediaStreamComponent::create(source->id(), source));
}
for (size_t i = 0; i < videoSources.size(); ++i) {
- MediaStreamSource* curr = videoSources[i];
- video.append(curr);
+ MediaStreamSource* source = videoSources[i];
+ video.append(MediaStreamComponent::create(source->id(), source));
}
m_private = MediaStreamDescriptor::create(label, audio, video);
}
+void WebMediaStream::initialize(const WebString& label, const WebVector<WebMediaStreamTrack>& audioTracks, const WebVector<WebMediaStreamTrack>& videoTracks)
+{
+ MediaStreamComponentVector audio, video;
+ for (size_t i = 0; i < audioTracks.size(); ++i) {
+ MediaStreamComponent* component = audioTracks[i];
+ audio.append(component);
+ }
+ for (size_t i = 0; i < videoTracks.size(); ++i) {
+ MediaStreamComponent* component = videoTracks[i];
+ video.append(component);
+ }
+ m_private = MediaStreamDescriptor::create(label, audio, video);
+}
+
void WebMediaStream::assign(const WebMediaStream& other)
{
m_private = other.m_private;
Modified: branches/chromium/1410/Source/WebCore/platform/chromium/support/WebMediaStreamTrack.cpp (143918 => 143919)
--- branches/chromium/1410/Source/WebCore/platform/chromium/support/WebMediaStreamTrack.cpp 2013-02-25 14:14:40 UTC (rev 143918)
+++ branches/chromium/1410/Source/WebCore/platform/chromium/support/WebMediaStreamTrack.cpp 2013-02-25 14:38:20 UTC (rev 143919)
@@ -59,6 +59,11 @@
m_private = MediaStreamComponent::create(source);
}
+void WebMediaStreamTrack::initialize(const WebString& id, const WebMediaStreamSource& source)
+{
+ m_private = MediaStreamComponent::create(id, source);
+}
+
void WebMediaStreamTrack::reset()
{
m_private.reset();
Modified: branches/chromium/1410/Source/WebCore/platform/mediastream/MediaStreamComponent.h (143918 => 143919)
--- branches/chromium/1410/Source/WebCore/platform/mediastream/MediaStreamComponent.h 2013-02-25 14:14:40 UTC (rev 143918)
+++ branches/chromium/1410/Source/WebCore/platform/mediastream/MediaStreamComponent.h 2013-02-25 14:38:20 UTC (rev 143919)
@@ -44,12 +44,17 @@
public:
static PassRefPtr<MediaStreamComponent> create(PassRefPtr<MediaStreamSource> source)
{
- return adoptRef(new MediaStreamComponent(0, source));
+ return adoptRef(new MediaStreamComponent(createCanonicalUUIDString(), 0, source));
}
+ static PassRefPtr<MediaStreamComponent> create(const String& id, PassRefPtr<MediaStreamSource> source)
+ {
+ return adoptRef(new MediaStreamComponent(id, 0, source));
+ }
+
static PassRefPtr<MediaStreamComponent> create(MediaStreamDescriptor* stream, PassRefPtr<MediaStreamSource> source)
{
- return adoptRef(new MediaStreamComponent(stream, source));
+ return adoptRef(new MediaStreamComponent(createCanonicalUUIDString(), stream, source));
}
MediaStreamDescriptor* stream() const { return m_stream; }
@@ -62,12 +67,13 @@
void setEnabled(bool enabled) { m_enabled = enabled; }
private:
- MediaStreamComponent(MediaStreamDescriptor* stream, PassRefPtr<MediaStreamSource> source)
+ MediaStreamComponent(const String& id, MediaStreamDescriptor* stream, PassRefPtr<MediaStreamSource> source)
: m_stream(stream)
, m_source(source)
- , m_id(createCanonicalUUIDString())
+ , m_id(id)
, m_enabled(true)
{
+ ASSERT(m_id.length());
}
MediaStreamDescriptor* m_stream;
@@ -76,6 +82,8 @@
bool m_enabled;
};
+typedef Vector<RefPtr<MediaStreamComponent> > MediaStreamComponentVector;
+
} // namespace WebCore
#endif // ENABLE(MEDIA_STREAM)
Modified: branches/chromium/1410/Source/WebCore/platform/mediastream/MediaStreamDescriptor.h (143918 => 143919)
--- branches/chromium/1410/Source/WebCore/platform/mediastream/MediaStreamDescriptor.h 2013-02-25 14:14:40 UTC (rev 143918)
+++ branches/chromium/1410/Source/WebCore/platform/mediastream/MediaStreamDescriptor.h 2013-02-25 14:38:20 UTC (rev 143919)
@@ -61,6 +61,11 @@
return adoptRef(new MediaStreamDescriptor(id, audioSources, videoSources));
}
+ static PassRefPtr<MediaStreamDescriptor> create(const String& id, const MediaStreamComponentVector& audioComponents, const MediaStreamComponentVector& videoComponents)
+ {
+ return adoptRef(new MediaStreamDescriptor(id, audioComponents, videoComponents));
+ }
+
MediaStreamDescriptorClient* client() const { return m_client; }
void setClient(MediaStreamDescriptorClient* client) { m_client = client; }
@@ -98,6 +103,7 @@
, m_id(id)
, m_ended(false)
{
+ ASSERT(m_id.length());
for (size_t i = 0; i < audioSources.size(); i++)
m_audioComponents.append(MediaStreamComponent::create(this, audioSources[i]));
@@ -105,6 +111,22 @@
m_videoComponents.append(MediaStreamComponent::create(this, videoSources[i]));
}
+ MediaStreamDescriptor(const String& id, const MediaStreamComponentVector& audioComponents, const MediaStreamComponentVector& videoComponents)
+ : m_client(0)
+ , m_id(id)
+ , m_ended(false)
+ {
+ ASSERT(m_id.length());
+ for (MediaStreamComponentVector::const_iterator iter = audioComponents.begin(); iter != audioComponents.end(); ++iter) {
+ (*iter)->setStream(this);
+ m_audioComponents.append((*iter));
+ }
+ for (MediaStreamComponentVector::const_iterator iter = videoComponents.begin(); iter != videoComponents.end(); ++iter) {
+ (*iter)->setStream(this);
+ m_videoComponents.append((*iter));
+ }
+ }
+
MediaStreamDescriptorClient* m_client;
String m_id;
Vector<RefPtr<MediaStreamComponent> > m_audioComponents;