| 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, 2012 Ericsson AB. All rights reserved. | 3 * Copyright (C) 2011, 2012 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 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 93 { | 93 { |
| 94 return adoptRefCountedGarbageCollectedWillBeNoop(new MediaStream(context, st
reamDescriptor)); | 94 return adoptRefCountedGarbageCollectedWillBeNoop(new MediaStream(context, st
reamDescriptor)); |
| 95 } | 95 } |
| 96 | 96 |
| 97 MediaStream::MediaStream(ExecutionContext* context, PassRefPtr<MediaStreamDescri
ptor> streamDescriptor) | 97 MediaStream::MediaStream(ExecutionContext* context, PassRefPtr<MediaStreamDescri
ptor> streamDescriptor) |
| 98 : ContextLifecycleObserver(context) | 98 : ContextLifecycleObserver(context) |
| 99 , m_stopped(false) | 99 , m_stopped(false) |
| 100 , m_descriptor(streamDescriptor) | 100 , m_descriptor(streamDescriptor) |
| 101 , m_scheduledEventTimer(this, &MediaStream::scheduledEventTimerFired) | 101 , m_scheduledEventTimer(this, &MediaStream::scheduledEventTimerFired) |
| 102 { | 102 { |
| 103 ScriptWrappable::init(this); | |
| 104 m_descriptor->setClient(this); | 103 m_descriptor->setClient(this); |
| 105 | 104 |
| 106 size_t numberOfAudioTracks = m_descriptor->numberOfAudioComponents(); | 105 size_t numberOfAudioTracks = m_descriptor->numberOfAudioComponents(); |
| 107 m_audioTracks.reserveCapacity(numberOfAudioTracks); | 106 m_audioTracks.reserveCapacity(numberOfAudioTracks); |
| 108 for (size_t i = 0; i < numberOfAudioTracks; i++) { | 107 for (size_t i = 0; i < numberOfAudioTracks; i++) { |
| 109 MediaStreamTrack* newTrack = MediaStreamTrack::create(context, m_descrip
tor->audioComponent(i)); | 108 MediaStreamTrack* newTrack = MediaStreamTrack::create(context, m_descrip
tor->audioComponent(i)); |
| 110 newTrack->registerMediaStream(this); | 109 newTrack->registerMediaStream(this); |
| 111 m_audioTracks.append(newTrack); | 110 m_audioTracks.append(newTrack); |
| 112 } | 111 } |
| 113 | 112 |
| 114 size_t numberOfVideoTracks = m_descriptor->numberOfVideoComponents(); | 113 size_t numberOfVideoTracks = m_descriptor->numberOfVideoComponents(); |
| 115 m_videoTracks.reserveCapacity(numberOfVideoTracks); | 114 m_videoTracks.reserveCapacity(numberOfVideoTracks); |
| 116 for (size_t i = 0; i < numberOfVideoTracks; i++) { | 115 for (size_t i = 0; i < numberOfVideoTracks; i++) { |
| 117 MediaStreamTrack* newTrack = MediaStreamTrack::create(context, m_descrip
tor->videoComponent(i)); | 116 MediaStreamTrack* newTrack = MediaStreamTrack::create(context, m_descrip
tor->videoComponent(i)); |
| 118 newTrack->registerMediaStream(this); | 117 newTrack->registerMediaStream(this); |
| 119 m_videoTracks.append(newTrack); | 118 m_videoTracks.append(newTrack); |
| 120 } | 119 } |
| 121 } | 120 } |
| 122 | 121 |
| 123 MediaStream::MediaStream(ExecutionContext* context, const MediaStreamTrackVector
& audioTracks, const MediaStreamTrackVector& videoTracks) | 122 MediaStream::MediaStream(ExecutionContext* context, const MediaStreamTrackVector
& audioTracks, const MediaStreamTrackVector& videoTracks) |
| 124 : ContextLifecycleObserver(context) | 123 : ContextLifecycleObserver(context) |
| 125 , m_stopped(false) | 124 , m_stopped(false) |
| 126 , m_scheduledEventTimer(this, &MediaStream::scheduledEventTimerFired) | 125 , m_scheduledEventTimer(this, &MediaStream::scheduledEventTimerFired) |
| 127 { | 126 { |
| 128 ScriptWrappable::init(this); | |
| 129 | |
| 130 MediaStreamComponentVector audioComponents; | 127 MediaStreamComponentVector audioComponents; |
| 131 MediaStreamComponentVector videoComponents; | 128 MediaStreamComponentVector videoComponents; |
| 132 | 129 |
| 133 MediaStreamTrackVector::const_iterator iter; | 130 MediaStreamTrackVector::const_iterator iter; |
| 134 for (iter = audioTracks.begin(); iter != audioTracks.end(); ++iter) { | 131 for (iter = audioTracks.begin(); iter != audioTracks.end(); ++iter) { |
| 135 (*iter)->registerMediaStream(this); | 132 (*iter)->registerMediaStream(this); |
| 136 audioComponents.append((*iter)->component()); | 133 audioComponents.append((*iter)->component()); |
| 137 } | 134 } |
| 138 for (iter = videoTracks.begin(); iter != videoTracks.end(); ++iter) { | 135 for (iter = videoTracks.begin(); iter != videoTracks.end(); ++iter) { |
| 139 (*iter)->registerMediaStream(this); | 136 (*iter)->registerMediaStream(this); |
| (...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 392 | 389 |
| 393 void MediaStream::trace(Visitor* visitor) | 390 void MediaStream::trace(Visitor* visitor) |
| 394 { | 391 { |
| 395 visitor->trace(m_audioTracks); | 392 visitor->trace(m_audioTracks); |
| 396 visitor->trace(m_videoTracks); | 393 visitor->trace(m_videoTracks); |
| 397 visitor->trace(m_scheduledEvents); | 394 visitor->trace(m_scheduledEvents); |
| 398 EventTargetWithInlineData::trace(visitor); | 395 EventTargetWithInlineData::trace(visitor); |
| 399 } | 396 } |
| 400 | 397 |
| 401 } // namespace blink | 398 } // namespace blink |
| OLD | NEW |