Changeset 155249 in webkit
- Timestamp:
- Sep 7, 2013, 8:34:21 AM (12 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r155244 r155249 1 2013-09-07 Eric Carlson <eric.carlson@apple.com> 2 3 MediaStream should fire ended event when all tracks are ended 4 https://bugs.webkit.org/show_bug.cgi?id=120871 5 6 Reviewed by Jer Noble. 7 8 Merge https://chromium.googlesource.com/chromium/blink/+/bebd179b65be69e46f2f434a3ec8b1e4aa85cc42 9 10 * fast/mediastream/MediaStream-onended-expected.txt: Added. 11 * fast/mediastream/MediaStream-onended.html: Added. 12 1 13 2013-09-06 Bem Jones-Bey <bjonesbe@adobe.com> 2 14 -
trunk/Source/WebCore/ChangeLog
r155248 r155249 1 2013-09-07 Eric Carlson <eric.carlson@apple.com> 2 3 MediaStream should fire ended event when all tracks are ended 4 https://bugs.webkit.org/show_bug.cgi?id=120871 5 6 Reviewed by Jer Noble. 7 8 Merge https://chromium.googlesource.com/chromium/blink/+/bebd179b65be69e46f2f434a3ec8b1e4aa85cc42 9 10 Test: fast/mediastream/MediaStream-onended.html 11 12 * Modules/mediastream/MediaStream.cpp: 13 (WebCore::MediaStream::trackEnded): New. 14 * Modules/mediastream/MediaStream.h: 15 16 * Modules/mediastream/MediaStreamTrack.cpp: 17 (WebCore::MediaStreamTrack::sourceChangedState): Call didEndTrack when state changes to ReadyStateEnded. 18 (WebCore::MediaStreamTrack::didEndTrack): New. 19 (WebCore::MediaStreamTrack::stop): Call didEndTrack. 20 * Modules/mediastream/MediaStreamTrack.h: 21 22 * platform/mediastream/MediaStreamDescriptor.h: 23 (WebCore::MediaStreamDescriptor::MediaStreamDescriptor): Require didEndTrack. 24 1 25 2013-09-06 Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> 2 26 -
trunk/Source/WebCore/Modules/mediastream/MediaStream.cpp
r153926 r155249 222 222 } 223 223 224 void MediaStream::trackEnded() 225 { 226 for (size_t i = 0; i < m_audioTracks.size(); ++i) 227 if (!m_audioTracks[i]->ended()) 228 return; 229 230 for (size_t i = 0; i < m_videoTracks.size(); ++i) 231 if (!m_videoTracks[i]->ended()) 232 return; 233 234 streamEnded(); 235 } 236 224 237 void MediaStream::streamEnded() 225 238 { -
trunk/Source/WebCore/Modules/mediastream/MediaStream.h
r153926 r155249 67 67 68 68 // MediaStreamDescriptorClient 69 virtual void trackEnded() OVERRIDE; 69 70 virtual void streamEnded() OVERRIDE; 70 71 -
trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp
r153926 r155249 136 136 case MediaStreamSource::ReadyStateEnded: 137 137 dispatchEvent(Event::create(eventNames().endedEvent, false, false)); 138 didEndTrack(); 138 139 break; 139 140 } 141 } 142 143 void MediaStreamTrack::didEndTrack() 144 { 145 MediaStreamDescriptorClient* client = m_component->stream()->client(); 146 if (!client) 147 return; 148 149 client->trackEnded(); 140 150 } 141 151 … … 148 158 { 149 159 m_stopped = true; 160 didEndTrack(); 150 161 } 151 162 -
trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.h
r153926 r155249 54 54 void setEnabled(bool); 55 55 56 void didEndTrack(); 57 56 58 String readyState() const; 57 59 -
trunk/Source/WebCore/platform/mediastream/MediaStreamDescriptor.h
r155199 r155249 45 45 virtual ~MediaStreamDescriptorClient() { } 46 46 47 virtual void trackEnded() = 0; 47 48 virtual void streamEnded() = 0; 48 49 virtual void addRemoteTrack(MediaStreamComponent*) = 0;
Note:
See TracChangeset
for help on using the changeset viewer.