| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright (C) 2011 Google Inc. All rights reserved. | 2  * Copyright (C) 2011 Google Inc. All rights reserved. | 
| 3  * Copyright (C) 2011 Ericsson AB. All rights reserved. | 3  * Copyright (C) 2011 Ericsson AB. All rights reserved. | 
| 4  * | 4  * | 
| 5  * Redistribution and use in source and binary forms, with or without | 5  * Redistribution and use in source and binary forms, with or without | 
| 6  * modification, are permitted provided that the following conditions | 6  * modification, are permitted provided that the following conditions | 
| 7  * are met: | 7  * are met: | 
| 8  * 1.  Redistributions of source code must retain the above copyright | 8  * 1.  Redistributions of source code must retain the above copyright | 
| 9  *     notice, this list of conditions and the following disclaimer. | 9  *     notice, this list of conditions and the following disclaimer. | 
| 10  * 2.  Redistributions in binary form must reproduce the above copyright | 10  * 2.  Redistributions in binary form must reproduce the above copyright | 
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 53     , m_readyState(MediaStreamSource::ReadyStateLive) | 53     , m_readyState(MediaStreamSource::ReadyStateLive) | 
| 54     , m_isIteratingRegisteredMediaStreams(false) | 54     , m_isIteratingRegisteredMediaStreams(false) | 
| 55     , m_stopped(false) | 55     , m_stopped(false) | 
| 56     , m_component(component) | 56     , m_component(component) | 
| 57 { | 57 { | 
| 58     m_component->source()->addObserver(this); | 58     m_component->source()->addObserver(this); | 
| 59 } | 59 } | 
| 60 | 60 | 
| 61 MediaStreamTrack::~MediaStreamTrack() | 61 MediaStreamTrack::~MediaStreamTrack() | 
| 62 { | 62 { | 
| 63     m_component->source()->removeObserver(this); |  | 
| 64 } | 63 } | 
| 65 | 64 | 
| 66 String MediaStreamTrack::kind() const | 65 String MediaStreamTrack::kind() const | 
| 67 { | 66 { | 
| 68     DEFINE_STATIC_LOCAL(String, audioKind, ("audio")); | 67     DEFINE_STATIC_LOCAL(String, audioKind, ("audio")); | 
| 69     DEFINE_STATIC_LOCAL(String, videoKind, ("video")); | 68     DEFINE_STATIC_LOCAL(String, videoKind, ("video")); | 
| 70 | 69 | 
| 71     switch (m_component->source()->type()) { | 70     switch (m_component->source()->type()) { | 
| 72     case MediaStreamSource::TypeAudio: | 71     case MediaStreamSource::TypeAudio: | 
| 73         return audioKind; | 72         return audioKind; | 
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 156         return; | 155         return; | 
| 157 | 156 | 
| 158     m_readyState = MediaStreamSource::ReadyStateEnded; | 157     m_readyState = MediaStreamSource::ReadyStateEnded; | 
| 159     MediaStreamCenter::instance().didStopMediaStreamTrack(component()); | 158     MediaStreamCenter::instance().didStopMediaStreamTrack(component()); | 
| 160     dispatchEvent(Event::create(EventTypeNames::ended)); | 159     dispatchEvent(Event::create(EventTypeNames::ended)); | 
| 161     propagateTrackEnded(); | 160     propagateTrackEnded(); | 
| 162 } | 161 } | 
| 163 | 162 | 
| 164 MediaStreamTrack* MediaStreamTrack::clone(ExecutionContext* context) | 163 MediaStreamTrack* MediaStreamTrack::clone(ExecutionContext* context) | 
| 165 { | 164 { | 
| 166     RefPtr<MediaStreamComponent> clonedComponent = MediaStreamComponent::create(
     component()->source()); | 165     MediaStreamComponent* clonedComponent = MediaStreamComponent::create(compone
     nt()->source()); | 
| 167     MediaStreamTrack* clonedTrack = MediaStreamTrack::create(context, clonedComp
     onent.get()); | 166     MediaStreamTrack* clonedTrack = MediaStreamTrack::create(context, clonedComp
     onent); | 
| 168     MediaStreamCenter::instance().didCreateMediaStreamTrack(clonedComponent.get(
     )); | 167     MediaStreamCenter::instance().didCreateMediaStreamTrack(clonedComponent); | 
| 169     return clonedTrack; | 168     return clonedTrack; | 
| 170 } | 169 } | 
| 171 | 170 | 
| 172 bool MediaStreamTrack::ended() const | 171 bool MediaStreamTrack::ended() const | 
| 173 { | 172 { | 
| 174     return m_stopped || (m_readyState == MediaStreamSource::ReadyStateEnded); | 173     return m_stopped || (m_readyState == MediaStreamSource::ReadyStateEnded); | 
| 175 } | 174 } | 
| 176 | 175 | 
| 177 void MediaStreamTrack::sourceChangedState() | 176 void MediaStreamTrack::sourceChangedState() | 
| 178 { | 177 { | 
| (...skipping 19 matching lines...) Expand all  Loading... | 
| 198 | 197 | 
| 199 void MediaStreamTrack::propagateTrackEnded() | 198 void MediaStreamTrack::propagateTrackEnded() | 
| 200 { | 199 { | 
| 201     RELEASE_ASSERT(!m_isIteratingRegisteredMediaStreams); | 200     RELEASE_ASSERT(!m_isIteratingRegisteredMediaStreams); | 
| 202     m_isIteratingRegisteredMediaStreams = true; | 201     m_isIteratingRegisteredMediaStreams = true; | 
| 203     for (HeapHashSet<Member<MediaStream>>::iterator iter = m_registeredMediaStre
     ams.begin(); iter != m_registeredMediaStreams.end(); ++iter) | 202     for (HeapHashSet<Member<MediaStream>>::iterator iter = m_registeredMediaStre
     ams.begin(); iter != m_registeredMediaStreams.end(); ++iter) | 
| 204         (*iter)->trackEnded(); | 203         (*iter)->trackEnded(); | 
| 205     m_isIteratingRegisteredMediaStreams = false; | 204     m_isIteratingRegisteredMediaStreams = false; | 
| 206 } | 205 } | 
| 207 | 206 | 
| 208 MediaStreamComponent* MediaStreamTrack::component() |  | 
| 209 { |  | 
| 210     return m_component.get(); |  | 
| 211 } |  | 
| 212 |  | 
| 213 void MediaStreamTrack::stop() | 207 void MediaStreamTrack::stop() | 
| 214 { | 208 { | 
| 215     m_stopped = true; | 209     m_stopped = true; | 
| 216 } | 210 } | 
| 217 | 211 | 
| 218 PassOwnPtr<AudioSourceProvider> MediaStreamTrack::createWebAudioSource() | 212 PassOwnPtr<AudioSourceProvider> MediaStreamTrack::createWebAudioSource() | 
| 219 { | 213 { | 
| 220     return MediaStreamCenter::instance().createWebAudioSourceFromMediaStreamTrac
     k(component()); | 214     return MediaStreamCenter::instance().createWebAudioSourceFromMediaStreamTrac
     k(component()); | 
| 221 } | 215 } | 
| 222 | 216 | 
| (...skipping 18 matching lines...) Expand all  Loading... | 
| 241 } | 235 } | 
| 242 | 236 | 
| 243 ExecutionContext* MediaStreamTrack::executionContext() const | 237 ExecutionContext* MediaStreamTrack::executionContext() const | 
| 244 { | 238 { | 
| 245     return ActiveDOMObject::executionContext(); | 239     return ActiveDOMObject::executionContext(); | 
| 246 } | 240 } | 
| 247 | 241 | 
| 248 DEFINE_TRACE(MediaStreamTrack) | 242 DEFINE_TRACE(MediaStreamTrack) | 
| 249 { | 243 { | 
| 250     visitor->trace(m_registeredMediaStreams); | 244     visitor->trace(m_registeredMediaStreams); | 
|  | 245     visitor->trace(m_component); | 
| 251     RefCountedGarbageCollectedEventTargetWithInlineData<MediaStreamTrack>::trace
     (visitor); | 246     RefCountedGarbageCollectedEventTargetWithInlineData<MediaStreamTrack>::trace
     (visitor); | 
| 252     ActiveDOMObject::trace(visitor); | 247     ActiveDOMObject::trace(visitor); | 
| 253 } | 248 } | 
| 254 | 249 | 
| 255 } // namespace blink | 250 } // namespace blink | 
| OLD | NEW | 
|---|