Changeset 142773 in webkit
- Timestamp:
- Feb 13, 2013 12:32:38 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/Platform/ChangeLog
r142581 r142773 1 2013-02-13 Tommy Widenflycht <tommyw@google.com> 2 3 MediaStream API: Use the source id when creating new tracks 4 https://bugs.webkit.org/show_bug.cgi?id=109688 5 6 Reviewed by Adam Barth. 7 8 Added id to initialize and renamed audio/videoSources to audio/videoTracks. 9 10 * chromium/public/WebMediaStream.h: 11 (WebKit): 12 (WebMediaStream): 13 (WebKit::WebMediaStream::audioSources): 14 (WebKit::WebMediaStream::videoSources): 15 * chromium/public/WebMediaStreamTrack.h: 16 (WebMediaStreamTrack): 17 1 18 2013-02-11 James Robinson <jamesr@chromium.org> 2 19 -
trunk/Source/Platform/chromium/public/WebMediaStream.h
r141444 r142773 37 37 namespace WebKit { 38 38 39 class WebMediaStreamSource; 39 40 class WebMediaStreamTrack; 40 class WebMediaStreamSource;41 41 class WebString; 42 42 … … 60 60 WEBKIT_EXPORT void assign(const WebMediaStream&); 61 61 62 // DEPRECATED 62 63 WEBKIT_EXPORT void initialize(const WebString& label, const WebVector<WebMediaStreamSource>& audioSources, const WebVector<WebMediaStreamSource>& videoSources); 64 65 WEBKIT_EXPORT void initialize(const WebString& label, const WebVector<WebMediaStreamTrack>& audioTracks, const WebVector<WebMediaStreamTrack>& videoTracks); 66 63 67 WEBKIT_EXPORT void reset(); 64 68 bool isNull() const { return m_private.isNull(); } … … 69 73 WEBKIT_EXPORT WebString id() const; 70 74 71 WEBKIT_EXPORT void audioSources(WebVector<WebMediaStreamTrack>&) const; 72 WEBKIT_EXPORT void videoSources(WebVector<WebMediaStreamTrack>&) const; 75 WEBKIT_EXPORT void audioTracks(WebVector<WebMediaStreamTrack>&) const; 76 WEBKIT_EXPORT void videoTracks(WebVector<WebMediaStreamTrack>&) const; 77 78 // DEPRECATED 79 void audioSources(WebVector<WebMediaStreamTrack>& tracks) const { audioTracks(tracks); } 80 void videoSources(WebVector<WebMediaStreamTrack>& tracks) const { videoTracks(tracks); } 73 81 74 82 // Extra data associated with this WebMediaStream. -
trunk/Source/Platform/chromium/public/WebMediaStreamTrack.h
r141984 r142773 51 51 } 52 52 WEBKIT_EXPORT void assign(const WebMediaStreamTrack&); 53 53 54 WEBKIT_EXPORT void initialize(const WebMediaStreamSource&); 55 WEBKIT_EXPORT void initialize(const WebString& id, const WebMediaStreamSource&); 56 54 57 WEBKIT_EXPORT void reset(); 55 58 bool isNull() const { return m_private.isNull(); } -
trunk/Source/WebCore/ChangeLog
r142772 r142773 1 2013-02-13 Tommy Widenflycht <tommyw@google.com> 2 3 MediaStream API: Use the source id when creating new tracks 4 https://bugs.webkit.org/show_bug.cgi?id=109688 5 6 Reviewed by Adam Barth. 7 8 This patch reuses the ids from the source when creating tracks instead of creating a new one. 9 This was requested by the chromium port to greatly simplify their implementation. 10 In the longer run the API should be rewritten to only use tracks instead of sources. 11 12 Covered by existing tests. 13 14 * platform/chromium/support/WebMediaStream.cpp: 15 (WebKit::WebMediaStream::audioTracks): 16 (WebKit::WebMediaStream::videoTracks): 17 (WebKit::WebMediaStream::initialize): 18 (WebKit): 19 * platform/chromium/support/WebMediaStreamTrack.cpp: 20 (WebKit::WebMediaStreamTrack::initialize): 21 (WebKit): 22 * platform/mediastream/MediaStreamComponent.h: 23 (WebCore::MediaStreamComponent::create): 24 (MediaStreamComponent): 25 (WebCore::MediaStreamComponent::MediaStreamComponent): 26 (WebCore): 27 * platform/mediastream/MediaStreamDescriptor.h: 28 (WebCore::MediaStreamDescriptor::create): 29 (MediaStreamDescriptor): 30 (WebCore::MediaStreamDescriptor::MediaStreamDescriptor): 31 1 32 2013-02-13 Eric Seidel <eric@webkit.org> 2 33 -
trunk/Source/WebCore/platform/chromium/support/WebMediaStream.cpp
r141444 r142773 95 95 } 96 96 97 void WebMediaStream::audio Sources(WebVector<WebMediaStreamTrack>& webSources) const97 void WebMediaStream::audioTracks(WebVector<WebMediaStreamTrack>& webTracks) const 98 98 { 99 size_t numberOf Sources = m_private->numberOfAudioComponents();100 WebVector<WebMediaStreamTrack> result(numberOf Sources);101 for (size_t i = 0; i < numberOf Sources; ++i)99 size_t numberOfTracks = m_private->numberOfAudioComponents(); 100 WebVector<WebMediaStreamTrack> result(numberOfTracks); 101 for (size_t i = 0; i < numberOfTracks; ++i) 102 102 result[i] = m_private->audioComponent(i); 103 web Sources.swap(result);103 webTracks.swap(result); 104 104 } 105 105 106 void WebMediaStream::video Sources(WebVector<WebMediaStreamTrack>& webSources) const106 void WebMediaStream::videoTracks(WebVector<WebMediaStreamTrack>& webTracks) const 107 107 { 108 size_t numberOf Sources = m_private->numberOfVideoComponents();109 WebVector<WebMediaStreamTrack> result(numberOf Sources);110 for (size_t i = 0; i < numberOf Sources; ++i)108 size_t numberOfTracks = m_private->numberOfVideoComponents(); 109 WebVector<WebMediaStreamTrack> result(numberOfTracks); 110 for (size_t i = 0; i < numberOfTracks; ++i) 111 111 result[i] = m_private->videoComponent(i); 112 web Sources.swap(result);112 webTracks.swap(result); 113 113 } 114 114 … … 131 131 void WebMediaStream::initialize(const WebString& label, const WebVector<WebMediaStreamSource>& audioSources, const WebVector<WebMediaStreamSource>& videoSources) 132 132 { 133 MediaStream SourceVector audio, video;133 MediaStreamComponentVector audio, video; 134 134 for (size_t i = 0; i < audioSources.size(); ++i) { 135 MediaStreamSource* curr= audioSources[i];136 audio.append( curr);135 MediaStreamSource* source = audioSources[i]; 136 audio.append(MediaStreamComponent::create(source->id(), source)); 137 137 } 138 138 for (size_t i = 0; i < videoSources.size(); ++i) { 139 MediaStreamSource* curr = videoSources[i]; 140 video.append(curr); 139 MediaStreamSource* source = videoSources[i]; 140 video.append(MediaStreamComponent::create(source->id(), source)); 141 } 142 m_private = MediaStreamDescriptor::create(label, audio, video); 143 } 144 145 void WebMediaStream::initialize(const WebString& label, const WebVector<WebMediaStreamTrack>& audioTracks, const WebVector<WebMediaStreamTrack>& videoTracks) 146 { 147 MediaStreamComponentVector audio, video; 148 for (size_t i = 0; i < audioTracks.size(); ++i) { 149 MediaStreamComponent* component = audioTracks[i]; 150 audio.append(component); 151 } 152 for (size_t i = 0; i < videoTracks.size(); ++i) { 153 MediaStreamComponent* component = videoTracks[i]; 154 video.append(component); 141 155 } 142 156 m_private = MediaStreamDescriptor::create(label, audio, video); -
trunk/Source/WebCore/platform/chromium/support/WebMediaStreamTrack.cpp
r141984 r142773 60 60 } 61 61 62 void WebMediaStreamTrack::initialize(const WebString& id, const WebMediaStreamSource& source) 63 { 64 m_private = MediaStreamComponent::create(id, source); 65 } 66 62 67 void WebMediaStreamTrack::reset() 63 68 { -
trunk/Source/WebCore/platform/mediastream/MediaStreamComponent.h
r141151 r142773 45 45 static PassRefPtr<MediaStreamComponent> create(PassRefPtr<MediaStreamSource> source) 46 46 { 47 return adoptRef(new MediaStreamComponent(0, source)); 47 return adoptRef(new MediaStreamComponent(createCanonicalUUIDString(), 0, source)); 48 } 49 50 static PassRefPtr<MediaStreamComponent> create(const String& id, PassRefPtr<MediaStreamSource> source) 51 { 52 return adoptRef(new MediaStreamComponent(id, 0, source)); 48 53 } 49 54 50 55 static PassRefPtr<MediaStreamComponent> create(MediaStreamDescriptor* stream, PassRefPtr<MediaStreamSource> source) 51 56 { 52 return adoptRef(new MediaStreamComponent( stream, source));57 return adoptRef(new MediaStreamComponent(createCanonicalUUIDString(), stream, source)); 53 58 } 54 59 … … 63 68 64 69 private: 65 MediaStreamComponent( MediaStreamDescriptor* stream, PassRefPtr<MediaStreamSource> source)70 MediaStreamComponent(const String& id, MediaStreamDescriptor* stream, PassRefPtr<MediaStreamSource> source) 66 71 : m_stream(stream) 67 72 , m_source(source) 68 , m_id( createCanonicalUUIDString())73 , m_id(id) 69 74 , m_enabled(true) 70 75 { 76 ASSERT(m_id.length()); 71 77 } 72 78 … … 77 83 }; 78 84 85 typedef Vector<RefPtr<MediaStreamComponent> > MediaStreamComponentVector; 86 79 87 } // namespace WebCore 80 88 -
trunk/Source/WebCore/platform/mediastream/MediaStreamDescriptor.h
r141151 r142773 62 62 } 63 63 64 static PassRefPtr<MediaStreamDescriptor> create(const String& id, const MediaStreamComponentVector& audioComponents, const MediaStreamComponentVector& videoComponents) 65 { 66 return adoptRef(new MediaStreamDescriptor(id, audioComponents, videoComponents)); 67 } 68 64 69 MediaStreamDescriptorClient* client() const { return m_client; } 65 70 void setClient(MediaStreamDescriptorClient* client) { m_client = client; } … … 99 104 , m_ended(false) 100 105 { 106 ASSERT(m_id.length()); 101 107 for (size_t i = 0; i < audioSources.size(); i++) 102 108 m_audioComponents.append(MediaStreamComponent::create(this, audioSources[i])); … … 104 110 for (size_t i = 0; i < videoSources.size(); i++) 105 111 m_videoComponents.append(MediaStreamComponent::create(this, videoSources[i])); 112 } 113 114 MediaStreamDescriptor(const String& id, const MediaStreamComponentVector& audioComponents, const MediaStreamComponentVector& videoComponents) 115 : m_client(0) 116 , m_id(id) 117 , m_ended(false) 118 { 119 ASSERT(m_id.length()); 120 for (MediaStreamComponentVector::const_iterator iter = audioComponents.begin(); iter != audioComponents.end(); ++iter) { 121 (*iter)->setStream(this); 122 m_audioComponents.append((*iter)); 123 } 124 for (MediaStreamComponentVector::const_iterator iter = videoComponents.begin(); iter != videoComponents.end(); ++iter) { 125 (*iter)->setStream(this); 126 m_videoComponents.append((*iter)); 127 } 106 128 } 107 129 -
trunk/Tools/ChangeLog
r142771 r142773 1 2013-02-13 Tommy Widenflycht <tommyw@google.com> 2 3 MediaStream API: Use the source id when creating new tracks 4 https://bugs.webkit.org/show_bug.cgi?id=109688 5 6 Reviewed by Adam Barth. 7 8 Switching mock to new API. 9 10 * DumpRenderTree/chromium/TestRunner/src/WebUserMediaClientMock.cpp: 11 (WebTestRunner::WebUserMediaClientMock::requestUserMedia): 12 1 13 2013-02-13 Brent Fulgham <bfulgham@webkit.org> 2 14 -
trunk/Tools/DumpRenderTree/chromium/TestRunner/src/WebUserMediaClientMock.cpp
r142593 r142773 40 40 #include <public/WebMediaStream.h> 41 41 #include <public/WebMediaStreamSource.h> 42 #include <public/WebMediaStreamTrack.h> 42 43 #include <public/WebVector.h> 43 44 … … 103 104 const size_t zero = 0; 104 105 const size_t one = 1; 105 WebVector<WebMediaStream Source> audioSources(request.audio() ? one : zero);106 WebVector<WebMediaStream Source> videoSources(request.video() ? one : zero);106 WebVector<WebMediaStreamTrack> audioTracks(request.audio() ? one : zero); 107 WebVector<WebMediaStreamTrack> videoTracks(request.video() ? one : zero); 107 108 108 if (request.audio()) 109 audioSources[0].initialize("MockAudioDevice#1", WebMediaStreamSource::TypeAudio, "Mock audio device"); 109 if (request.audio()) { 110 WebMediaStreamSource source; 111 source.initialize("MockAudioDevice#1", WebMediaStreamSource::TypeAudio, "Mock audio device"); 112 audioTracks[0].initialize(source); 113 } 110 114 111 if (request.video()) 112 videoSources[0].initialize("MockVideoDevice#1", WebMediaStreamSource::TypeVideo, "Mock video device"); 115 if (request.video()) { 116 WebMediaStreamSource source; 117 source.initialize("MockVideoDevice#1", WebMediaStreamSource::TypeVideo, "Mock video device"); 118 videoTracks[0].initialize(source); 119 } 113 120 114 121 WebMediaStream stream; 115 stream.initialize("foobar", audio Sources, videoSources);122 stream.initialize("foobar", audioTracks, videoTracks); 116 123 117 124 stream.setExtraData(new MockExtraData());
Note: See TracChangeset
for help on using the changeset viewer.