| 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 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 DEFINE_STATIC_LOCAL(String, audioKind, ("audio")); | 68 DEFINE_STATIC_LOCAL(String, audioKind, ("audio")); |
| 69 DEFINE_STATIC_LOCAL(String, videoKind, ("video")); | 69 DEFINE_STATIC_LOCAL(String, videoKind, ("video")); |
| 70 | 70 |
| 71 switch (m_component->source()->type()) { | 71 switch (m_component->source()->type()) { |
| 72 case MediaStreamSource::TypeAudio: | 72 case MediaStreamSource::TypeAudio: |
| 73 return audioKind; | 73 return audioKind; |
| 74 case MediaStreamSource::TypeVideo: | 74 case MediaStreamSource::TypeVideo: |
| 75 return videoKind; | 75 return videoKind; |
| 76 } | 76 } |
| 77 | 77 |
| 78 ASSERT_NOT_REACHED(); | 78 NOTREACHED(); |
| 79 return audioKind; | 79 return audioKind; |
| 80 } | 80 } |
| 81 | 81 |
| 82 String MediaStreamTrack::id() const | 82 String MediaStreamTrack::id() const |
| 83 { | 83 { |
| 84 return m_component->id(); | 84 return m_component->id(); |
| 85 } | 85 } |
| 86 | 86 |
| 87 String MediaStreamTrack::label() const | 87 String MediaStreamTrack::label() const |
| 88 { | 88 { |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 127 | 127 |
| 128 switch (m_readyState) { | 128 switch (m_readyState) { |
| 129 case MediaStreamSource::ReadyStateLive: | 129 case MediaStreamSource::ReadyStateLive: |
| 130 return "live"; | 130 return "live"; |
| 131 case MediaStreamSource::ReadyStateMuted: | 131 case MediaStreamSource::ReadyStateMuted: |
| 132 return "muted"; | 132 return "muted"; |
| 133 case MediaStreamSource::ReadyStateEnded: | 133 case MediaStreamSource::ReadyStateEnded: |
| 134 return "ended"; | 134 return "ended"; |
| 135 } | 135 } |
| 136 | 136 |
| 137 ASSERT_NOT_REACHED(); | 137 NOTREACHED(); |
| 138 return String(); | 138 return String(); |
| 139 } | 139 } |
| 140 | 140 |
| 141 void MediaStreamTrack::getSources(ExecutionContext* context, MediaStreamTrackSou
rcesCallback* callback, ExceptionState& exceptionState) | 141 void MediaStreamTrack::getSources(ExecutionContext* context, MediaStreamTrackSou
rcesCallback* callback, ExceptionState& exceptionState) |
| 142 { | 142 { |
| 143 LocalFrame* frame = toDocument(context)->frame(); | 143 LocalFrame* frame = toDocument(context)->frame(); |
| 144 UserMediaController* userMedia = UserMediaController::from(frame); | 144 UserMediaController* userMedia = UserMediaController::from(frame); |
| 145 if (!userMedia) { | 145 if (!userMedia) { |
| 146 exceptionState.throwDOMException(NotSupportedError, "No sources controll
er available; is this a detached window?"); | 146 exceptionState.throwDOMException(NotSupportedError, "No sources controll
er available; is this a detached window?"); |
| 147 return; | 147 return; |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 192 break; | 192 break; |
| 193 case MediaStreamSource::ReadyStateEnded: | 193 case MediaStreamSource::ReadyStateEnded: |
| 194 dispatchEvent(Event::create(EventTypeNames::ended)); | 194 dispatchEvent(Event::create(EventTypeNames::ended)); |
| 195 propagateTrackEnded(); | 195 propagateTrackEnded(); |
| 196 break; | 196 break; |
| 197 } | 197 } |
| 198 } | 198 } |
| 199 | 199 |
| 200 void MediaStreamTrack::propagateTrackEnded() | 200 void MediaStreamTrack::propagateTrackEnded() |
| 201 { | 201 { |
| 202 // TODO(mcasas): Substitute with CHECK, see https://crbug.com/599867. |
| 202 RELEASE_ASSERT(!m_isIteratingRegisteredMediaStreams); | 203 RELEASE_ASSERT(!m_isIteratingRegisteredMediaStreams); |
| 203 m_isIteratingRegisteredMediaStreams = true; | 204 m_isIteratingRegisteredMediaStreams = true; |
| 204 for (HeapHashSet<Member<MediaStream>>::iterator iter = m_registeredMediaStre
ams.begin(); iter != m_registeredMediaStreams.end(); ++iter) | 205 for (HeapHashSet<Member<MediaStream>>::iterator iter = m_registeredMediaStre
ams.begin(); iter != m_registeredMediaStreams.end(); ++iter) |
| 205 (*iter)->trackEnded(); | 206 (*iter)->trackEnded(); |
| 206 m_isIteratingRegisteredMediaStreams = false; | 207 m_isIteratingRegisteredMediaStreams = false; |
| 207 } | 208 } |
| 208 | 209 |
| 209 void MediaStreamTrack::stop() | 210 void MediaStreamTrack::stop() |
| 210 { | 211 { |
| 211 m_stopped = true; | 212 m_stopped = true; |
| (...skipping 16 matching lines...) Expand all Loading... |
| 228 return !ended() && hasEventListeners(EventTypeNames::ended); | 229 return !ended() && hasEventListeners(EventTypeNames::ended); |
| 229 } | 230 } |
| 230 | 231 |
| 231 PassOwnPtr<AudioSourceProvider> MediaStreamTrack::createWebAudioSource() | 232 PassOwnPtr<AudioSourceProvider> MediaStreamTrack::createWebAudioSource() |
| 232 { | 233 { |
| 233 return MediaStreamCenter::instance().createWebAudioSourceFromMediaStreamTrac
k(component()); | 234 return MediaStreamCenter::instance().createWebAudioSourceFromMediaStreamTrac
k(component()); |
| 234 } | 235 } |
| 235 | 236 |
| 236 void MediaStreamTrack::registerMediaStream(MediaStream* mediaStream) | 237 void MediaStreamTrack::registerMediaStream(MediaStream* mediaStream) |
| 237 { | 238 { |
| 239 // TODO(mcasas): Substitute with CHECK, see https://crbug.com/599867. |
| 238 RELEASE_ASSERT(!m_isIteratingRegisteredMediaStreams); | 240 RELEASE_ASSERT(!m_isIteratingRegisteredMediaStreams); |
| 239 RELEASE_ASSERT(!m_registeredMediaStreams.contains(mediaStream)); | 241 RELEASE_ASSERT(!m_registeredMediaStreams.contains(mediaStream)); |
| 240 m_registeredMediaStreams.add(mediaStream); | 242 m_registeredMediaStreams.add(mediaStream); |
| 241 } | 243 } |
| 242 | 244 |
| 243 void MediaStreamTrack::unregisterMediaStream(MediaStream* mediaStream) | 245 void MediaStreamTrack::unregisterMediaStream(MediaStream* mediaStream) |
| 244 { | 246 { |
| 247 // TODO(mcasas): Substitute with CHECK, see https://crbug.com/599867. |
| 245 RELEASE_ASSERT(!m_isIteratingRegisteredMediaStreams); | 248 RELEASE_ASSERT(!m_isIteratingRegisteredMediaStreams); |
| 246 HeapHashSet<Member<MediaStream>>::iterator iter = m_registeredMediaStreams.f
ind(mediaStream); | 249 HeapHashSet<Member<MediaStream>>::iterator iter = m_registeredMediaStreams.f
ind(mediaStream); |
| 247 RELEASE_ASSERT(iter != m_registeredMediaStreams.end()); | 250 RELEASE_ASSERT(iter != m_registeredMediaStreams.end()); |
| 248 m_registeredMediaStreams.remove(iter); | 251 m_registeredMediaStreams.remove(iter); |
| 249 } | 252 } |
| 250 | 253 |
| 251 const AtomicString& MediaStreamTrack::interfaceName() const | 254 const AtomicString& MediaStreamTrack::interfaceName() const |
| 252 { | 255 { |
| 253 return EventTargetNames::MediaStreamTrack; | 256 return EventTargetNames::MediaStreamTrack; |
| 254 } | 257 } |
| 255 | 258 |
| 256 ExecutionContext* MediaStreamTrack::getExecutionContext() const | 259 ExecutionContext* MediaStreamTrack::getExecutionContext() const |
| 257 { | 260 { |
| 258 return ActiveDOMObject::getExecutionContext(); | 261 return ActiveDOMObject::getExecutionContext(); |
| 259 } | 262 } |
| 260 | 263 |
| 261 DEFINE_TRACE(MediaStreamTrack) | 264 DEFINE_TRACE(MediaStreamTrack) |
| 262 { | 265 { |
| 263 visitor->trace(m_registeredMediaStreams); | 266 visitor->trace(m_registeredMediaStreams); |
| 264 visitor->trace(m_component); | 267 visitor->trace(m_component); |
| 265 RefCountedGarbageCollectedEventTargetWithInlineData<MediaStreamTrack>::trace
(visitor); | 268 RefCountedGarbageCollectedEventTargetWithInlineData<MediaStreamTrack>::trace
(visitor); |
| 266 ActiveDOMObject::trace(visitor); | 269 ActiveDOMObject::trace(visitor); |
| 267 } | 270 } |
| 268 | 271 |
| 269 } // namespace blink | 272 } // namespace blink |
| OLD | NEW |