Changeset 141151 in webkit
- Timestamp:
- Jan 29, 2013 12:59:32 PM (11 years ago)
- Location:
- trunk/Source
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/Platform/ChangeLog
r141053 r141151 1 2013-01-29 Tommy Widenflycht <tommyw@google.com> 2 3 MediaStream API: A MediaStreamComponent should be able to return the MediaStreamDescriptor it belongs to 4 https://bugs.webkit.org/show_bug.cgi?id=108173 5 6 Reviewed by Adam Barth. 7 8 * chromium/public/WebMediaStreamComponent.h: 9 (WebKit): 10 (WebMediaStreamComponent): 11 1 12 2013-01-28 Alexandre Elias <aelias@chromium.org> 2 13 -
trunk/Source/Platform/chromium/public/WebMediaStreamComponent.h
r139352 r141151 41 41 42 42 namespace WebKit { 43 43 class WebMediaStreamDescriptor; 44 44 class WebMediaStreamSource; 45 45 class WebString; … … 63 63 WEBKIT_EXPORT WebString id() const; 64 64 65 WEBKIT_EXPORT WebMediaStreamDescriptor stream() const; 65 66 WEBKIT_EXPORT WebMediaStreamSource source() const; 66 67 WEBKIT_EXPORT bool isEnabled() const; -
trunk/Source/WebCore/ChangeLog
r141142 r141151 1 2013-01-29 Tommy Widenflycht <tommyw@google.com> 2 3 MediaStream API: A MediaStreamComponent should be able to return the MediaStreamDescriptor it belongs to 4 https://bugs.webkit.org/show_bug.cgi?id=108173 5 6 Reviewed by Adam Barth. 7 8 To be able to return the MediaStreamDescriptor a MediaStreamComponent belongs to the "ownership" 9 of the MediaStreamDescriptor needed to move from a MediaStreamTrack to the MediaStreamComponent. 10 This is also better from an architectonic view as well. 11 12 Patch covered by existing tests. 13 14 * Modules/mediastream/MediaStream.cpp: 15 (WebCore::MediaStream::MediaStream): 16 (WebCore::MediaStream::addTrack): 17 (WebCore::MediaStream::addRemoteTrack): 18 * Modules/mediastream/MediaStreamTrack.cpp: 19 (WebCore::MediaStreamTrack::create): 20 (WebCore::MediaStreamTrack::MediaStreamTrack): 21 (WebCore::MediaStreamTrack::setEnabled): 22 * Modules/mediastream/MediaStreamTrack.h: 23 (MediaStreamTrack): 24 * Modules/mediastream/RTCStatsRequestImpl.cpp: 25 (WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl): 26 * platform/chromium/support/WebMediaStreamComponent.cpp: 27 (WebKit::WebMediaStreamComponent::stream): 28 (WebKit): 29 * platform/mediastream/MediaStreamComponent.h: 30 (WebCore): 31 (WebCore::MediaStreamComponent::create): 32 (MediaStreamComponent): 33 (WebCore::MediaStreamComponent::stream): 34 (WebCore::MediaStreamComponent::setStream): 35 (WebCore::MediaStreamComponent::MediaStreamComponent): 36 * platform/mediastream/MediaStreamDescriptor.h: 37 (WebCore::MediaStreamDescriptor::MediaStreamDescriptor): 38 1 39 2013-01-29 Alec Flett <alecflett@chromium.org> 2 40 -
trunk/Source/WebCore/Modules/mediastream/MediaStream.cpp
r139849 r141151 116 116 m_audioTracks.reserveCapacity(numberOfAudioTracks); 117 117 for (size_t i = 0; i < numberOfAudioTracks; i++) 118 m_audioTracks.append(MediaStreamTrack::create(context, m_descriptor , m_descriptor->audioComponent(i)));118 m_audioTracks.append(MediaStreamTrack::create(context, m_descriptor->audioComponent(i))); 119 119 120 120 size_t numberOfVideoTracks = m_descriptor->numberOfVideoComponents(); 121 121 m_videoTracks.reserveCapacity(numberOfVideoTracks); 122 122 for (size_t i = 0; i < numberOfVideoTracks; i++) 123 m_videoTracks.append(MediaStreamTrack::create(context, m_descriptor , m_descriptor->videoComponent(i)));123 m_videoTracks.append(MediaStreamTrack::create(context, m_descriptor->videoComponent(i))); 124 124 } 125 125 … … 151 151 return; 152 152 153 RefPtr<MediaStreamComponent> component = MediaStreamComponent::create( track->component()->source());154 RefPtr<MediaStreamTrack> newTrack = MediaStreamTrack::create(scriptExecutionContext(), m_descriptor,component.get());153 RefPtr<MediaStreamComponent> component = MediaStreamComponent::create(m_descriptor.get(), track->component()->source()); 154 RefPtr<MediaStreamTrack> newTrack = MediaStreamTrack::create(scriptExecutionContext(), component.get()); 155 155 156 156 switch (component->source()->type()) { … … 258 258 void MediaStream::addRemoteTrack(MediaStreamComponent* component) 259 259 { 260 ASSERT(component && !component->stream()); 260 261 if (ended()) 261 262 return; 262 263 263 RefPtr<MediaStreamTrack> track = MediaStreamTrack::create(scriptExecutionContext(), m_descriptor, component); 264 component->setStream(descriptor()); 265 266 RefPtr<MediaStreamTrack> track = MediaStreamTrack::create(scriptExecutionContext(), component); 264 267 switch (component->source()->type()) { 265 268 case MediaStreamSource::TypeAudio: -
trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp
r139849 r141151 35 35 namespace WebCore { 36 36 37 PassRefPtr<MediaStreamTrack> MediaStreamTrack::create(ScriptExecutionContext* context, PassRefPtr<MediaStreamDescriptor> streamDescriptor,MediaStreamComponent* component)37 PassRefPtr<MediaStreamTrack> MediaStreamTrack::create(ScriptExecutionContext* context, MediaStreamComponent* component) 38 38 { 39 RefPtr<MediaStreamTrack> track = adoptRef(new MediaStreamTrack(context, streamDescriptor,component));39 RefPtr<MediaStreamTrack> track = adoptRef(new MediaStreamTrack(context, component)); 40 40 track->suspendIfNeeded(); 41 41 return track.release(); 42 42 } 43 43 44 MediaStreamTrack::MediaStreamTrack(ScriptExecutionContext* context, PassRefPtr<MediaStreamDescriptor> streamDescriptor,MediaStreamComponent* component)44 MediaStreamTrack::MediaStreamTrack(ScriptExecutionContext* context, MediaStreamComponent* component) 45 45 : ActiveDOMObject(context, this) 46 46 , m_stopped(false) 47 , m_streamDescriptor(streamDescriptor)48 47 , m_component(component) 49 48 { … … 94 93 m_component->setEnabled(enabled); 95 94 96 if (m_ streamDescriptor->ended())95 if (m_component->stream()->ended()) 97 96 return; 98 97 99 MediaStreamCenter::instance().didSetMediaStreamTrackEnabled(m_ streamDescriptor.get(), m_component.get());98 MediaStreamCenter::instance().didSetMediaStreamTrackEnabled(m_component->stream(), m_component.get()); 100 99 } 101 100 … … 141 140 } 142 141 143 MediaStreamDescriptor* MediaStreamTrack::streamDescriptor()144 {145 return m_streamDescriptor.get();146 }147 148 142 MediaStreamComponent* MediaStreamTrack::component() 149 143 { -
trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.h
r139849 r141151 44 44 class MediaStreamTrack : public RefCounted<MediaStreamTrack>, public ActiveDOMObject, public EventTarget, public MediaStreamSource::Observer { 45 45 public: 46 static PassRefPtr<MediaStreamTrack> create(ScriptExecutionContext*, PassRefPtr<MediaStreamDescriptor>,MediaStreamComponent*);46 static PassRefPtr<MediaStreamTrack> create(ScriptExecutionContext*, MediaStreamComponent*); 47 47 virtual ~MediaStreamTrack(); 48 48 … … 60 60 DEFINE_ATTRIBUTE_EVENT_LISTENER(ended); 61 61 62 MediaStreamDescriptor* streamDescriptor();63 62 MediaStreamComponent* component(); 64 63 bool ended() const; … … 75 74 76 75 private: 77 MediaStreamTrack(ScriptExecutionContext*, PassRefPtr<MediaStreamDescriptor>,MediaStreamComponent*);76 MediaStreamTrack(ScriptExecutionContext*, MediaStreamComponent*); 78 77 79 78 // EventTarget … … 88 87 89 88 bool m_stopped; 90 RefPtr<MediaStreamDescriptor> m_streamDescriptor;91 89 RefPtr<MediaStreamComponent> m_component; 92 90 }; -
trunk/Source/WebCore/Modules/mediastream/RTCStatsRequestImpl.cpp
r131584 r141151 45 45 : ActiveDOMObject(context, this) 46 46 , m_successCallback(callback) 47 , m_stream(selector ? selector-> streamDescriptor() : 0)47 , m_stream(selector ? selector->component()->stream() : 0) 48 48 , m_component(selector ? selector->component() : 0) 49 49 { -
trunk/Source/WebCore/platform/chromium/support/WebMediaStreamComponent.cpp
r139352 r141151 36 36 37 37 #include "MediaStreamComponent.h" 38 #include <public/WebMediaStreamDescriptor.h> 38 39 #include <public/WebMediaStreamSource.h> 39 40 #include <public/WebString.h> … … 87 88 } 88 89 90 WebMediaStreamDescriptor WebMediaStreamComponent::stream() const 91 { 92 ASSERT(!m_private.isNull()); 93 return WebMediaStreamDescriptor(m_private->stream()); 94 } 95 89 96 WebMediaStreamSource WebMediaStreamComponent::source() const 90 97 { -
trunk/Source/WebCore/platform/mediastream/MediaStreamComponent.h
r139352 r141151 39 39 namespace WebCore { 40 40 41 class MediaStreamDescriptor; 42 41 43 class MediaStreamComponent : public RefCounted<MediaStreamComponent> { 42 44 public: 43 45 static PassRefPtr<MediaStreamComponent> create(PassRefPtr<MediaStreamSource> source) 44 46 { 45 return adoptRef(new MediaStreamComponent( source));47 return adoptRef(new MediaStreamComponent(0, source)); 46 48 } 49 50 static PassRefPtr<MediaStreamComponent> create(MediaStreamDescriptor* stream, PassRefPtr<MediaStreamSource> source) 51 { 52 return adoptRef(new MediaStreamComponent(stream, source)); 53 } 54 55 MediaStreamDescriptor* stream() const { return m_stream; } 56 void setStream(MediaStreamDescriptor* stream) { ASSERT(!m_stream && stream); m_stream = stream; } 47 57 48 58 MediaStreamSource* source() const { return m_source.get(); } … … 53 63 54 64 private: 55 MediaStreamComponent(PassRefPtr<MediaStreamSource> source) 56 : m_source(source) 65 MediaStreamComponent(MediaStreamDescriptor* stream, PassRefPtr<MediaStreamSource> source) 66 : m_stream(stream) 67 , m_source(source) 57 68 , m_id(createCanonicalUUIDString()) 58 69 , m_enabled(true) … … 60 71 } 61 72 73 MediaStreamDescriptor* m_stream; 62 74 RefPtr<MediaStreamSource> m_source; 63 75 String m_id; -
trunk/Source/WebCore/platform/mediastream/MediaStreamDescriptor.h
r139775 r141151 100 100 { 101 101 for (size_t i = 0; i < audioSources.size(); i++) 102 m_audioComponents.append(MediaStreamComponent::create( audioSources[i]));102 m_audioComponents.append(MediaStreamComponent::create(this, audioSources[i])); 103 103 104 104 for (size_t i = 0; i < videoSources.size(); i++) 105 m_videoComponents.append(MediaStreamComponent::create( videoSources[i]));105 m_videoComponents.append(MediaStreamComponent::create(this, videoSources[i])); 106 106 } 107 107
Note: See TracChangeset
for help on using the changeset viewer.