| 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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 82 { | 82 { |
| 83 MediaStreamTrackVector audioTracks; | 83 MediaStreamTrackVector audioTracks; |
| 84 MediaStreamTrackVector videoTracks; | 84 MediaStreamTrackVector videoTracks; |
| 85 | 85 |
| 86 for (size_t i = 0; i < tracks.size(); ++i) | 86 for (size_t i = 0; i < tracks.size(); ++i) |
| 87 processTrack(tracks[i].get(), tracks[i]->kind() == "audio" ? audioTracks
: videoTracks); | 87 processTrack(tracks[i].get(), tracks[i]->kind() == "audio" ? audioTracks
: videoTracks); |
| 88 | 88 |
| 89 return adoptRefCountedGarbageCollectedWillBeNoop(new MediaStream(context, au
dioTracks, videoTracks)); | 89 return adoptRefCountedGarbageCollectedWillBeNoop(new MediaStream(context, au
dioTracks, videoTracks)); |
| 90 } | 90 } |
| 91 | 91 |
| 92 MediaStream* MediaStream::create(ExecutionContext* context, PassRefPtr<MediaStre
amDescriptor> streamDescriptor) | 92 MediaStream* MediaStream::create(ExecutionContext* context, MediaStreamDescripto
r* streamDescriptor) |
| 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, MediaStreamDescriptor* strea
mDescriptor) |
| 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 m_descriptor->setClient(this); | 103 m_descriptor->setClient(this); |
| 104 | 104 |
| 105 size_t numberOfAudioTracks = m_descriptor->numberOfAudioComponents(); | 105 size_t numberOfAudioTracks = m_descriptor->numberOfAudioComponents(); |
| 106 m_audioTracks.reserveCapacity(numberOfAudioTracks); | 106 m_audioTracks.reserveCapacity(numberOfAudioTracks); |
| 107 for (size_t i = 0; i < numberOfAudioTracks; i++) { | 107 for (size_t i = 0; i < numberOfAudioTracks; i++) { |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 m_descriptor = MediaStreamDescriptor::create(audioComponents, videoComponent
s); | 140 m_descriptor = MediaStreamDescriptor::create(audioComponents, videoComponent
s); |
| 141 m_descriptor->setClient(this); | 141 m_descriptor->setClient(this); |
| 142 MediaStreamCenter::instance().didCreateMediaStream(m_descriptor.get()); | 142 MediaStreamCenter::instance().didCreateMediaStream(m_descriptor.get()); |
| 143 | 143 |
| 144 m_audioTracks = audioTracks; | 144 m_audioTracks = audioTracks; |
| 145 m_videoTracks = videoTracks; | 145 m_videoTracks = videoTracks; |
| 146 } | 146 } |
| 147 | 147 |
| 148 MediaStream::~MediaStream() | 148 MediaStream::~MediaStream() |
| 149 { | 149 { |
| 150 m_descriptor->setClient(0); | |
| 151 } | 150 } |
| 152 | 151 |
| 153 bool MediaStream::ended() const | 152 bool MediaStream::ended() const |
| 154 { | 153 { |
| 155 return m_stopped || m_descriptor->ended(); | 154 return m_stopped || m_descriptor->ended(); |
| 156 } | 155 } |
| 157 | 156 |
| 158 MediaStreamTrackVector MediaStream::getTracks() | 157 MediaStreamTrackVector MediaStream::getTracks() |
| 159 { | 158 { |
| 160 MediaStreamTrackVector tracks; | 159 MediaStreamTrackVector tracks; |
| (...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 385 URLRegistry& MediaStream::registry() const | 384 URLRegistry& MediaStream::registry() const |
| 386 { | 385 { |
| 387 return MediaStreamRegistry::registry(); | 386 return MediaStreamRegistry::registry(); |
| 388 } | 387 } |
| 389 | 388 |
| 390 void MediaStream::trace(Visitor* visitor) | 389 void MediaStream::trace(Visitor* visitor) |
| 391 { | 390 { |
| 392 visitor->trace(m_audioTracks); | 391 visitor->trace(m_audioTracks); |
| 393 visitor->trace(m_videoTracks); | 392 visitor->trace(m_videoTracks); |
| 394 visitor->trace(m_scheduledEvents); | 393 visitor->trace(m_scheduledEvents); |
| 394 visitor->trace(m_descriptor); |
| 395 EventTargetWithInlineData::trace(visitor); | 395 EventTargetWithInlineData::trace(visitor); |
| 396 MediaStreamDescriptorClient::trace(visitor); |
| 396 } | 397 } |
| 397 | 398 |
| 398 } // namespace blink | 399 } // namespace blink |
| OLD | NEW |