Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Side by Side Diff: Source/modules/mediastream/MediaStreamTrack.cpp

Issue 15796004: [MediaStream API] Adding MediaStreamTrack::getSourceInfos (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fixed review comments and merge Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
11 * notice, this list of conditions and the following disclaimer in the 11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution. 12 * documentation and/or other materials provided with the distribution.
13 * 13 *
14 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND AN Y 14 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND AN Y
15 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 15 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 16 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17 * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR AN Y 17 * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR AN Y
18 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 18 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
19 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 19 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
20 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND O N 20 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND O N
21 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
23 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */ 24 */
25 25
26 #include "config.h" 26 #include "config.h"
27 #include "modules/mediastream/MediaStreamTrack.h" 27 #include "modules/mediastream/MediaStreamTrack.h"
28 28
29 #include "core/dom/Event.h" 29 #include "core/dom/Event.h"
30 #include "core/dom/ScriptExecutionContext.h"
30 #include "core/platform/mediastream/MediaStreamCenter.h" 31 #include "core/platform/mediastream/MediaStreamCenter.h"
31 #include "core/platform/mediastream/MediaStreamComponent.h" 32 #include "core/platform/mediastream/MediaStreamComponent.h"
33 #include "public/platform/WebSourceInfo.h"
34 #include "weborigin/SecurityOrigin.h"
32 35
33 namespace WebCore { 36 namespace WebCore {
34 37
35 PassRefPtr<MediaStreamTrack> MediaStreamTrack::create(ScriptExecutionContext* co ntext, MediaStreamComponent* component) 38 PassRefPtr<MediaStreamTrack> MediaStreamTrack::create(ScriptExecutionContext* co ntext, MediaStreamComponent* component)
36 { 39 {
37 RefPtr<MediaStreamTrack> track = adoptRef(new MediaStreamTrack(context, comp onent)); 40 RefPtr<MediaStreamTrack> track = adoptRef(new MediaStreamTrack(context, comp onent));
38 track->suspendIfNeeded(); 41 track->suspendIfNeeded();
39 return track.release(); 42 return track.release();
40 } 43 }
41 44
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 case MediaStreamSource::ReadyStateMuted: 111 case MediaStreamSource::ReadyStateMuted:
109 return ASCIILiteral("muted"); 112 return ASCIILiteral("muted");
110 case MediaStreamSource::ReadyStateEnded: 113 case MediaStreamSource::ReadyStateEnded:
111 return ASCIILiteral("ended"); 114 return ASCIILiteral("ended");
112 } 115 }
113 116
114 ASSERT_NOT_REACHED(); 117 ASSERT_NOT_REACHED();
115 return String(); 118 return String();
116 } 119 }
117 120
121 SourceInfoVector MediaStreamTrack::getSourceInfos(ScriptExecutionContext* contex t, ExceptionCode& ec)
122 {
123 WebKit::WebVector<WebKit::WebSourceInfo> webSourceInfos;
124 bool ok = MediaStreamCenter::instance().getSourceInfos(context->securityOrig in()->toString(), webSourceInfos);
125 if (!ok) {
126 ec = NOT_SUPPORTED_ERR;
127 return SourceInfoVector();
128 }
129
130 SourceInfoVector sourceInfos;
131 for (size_t i = 0; i < webSourceInfos.size(); ++i)
132 sourceInfos.append(SourceInfo::create(webSourceInfos[i]));
133
134 return sourceInfos;
135 }
136
118 bool MediaStreamTrack::ended() const 137 bool MediaStreamTrack::ended() const
119 { 138 {
120 return m_stopped || (m_component->source()->readyState() == MediaStreamSourc e::ReadyStateEnded); 139 return m_stopped || (m_component->source()->readyState() == MediaStreamSourc e::ReadyStateEnded);
121 } 140 }
122 141
123 void MediaStreamTrack::sourceChangedState() 142 void MediaStreamTrack::sourceChangedState()
124 { 143 {
125 if (m_stopped) 144 if (m_stopped)
126 return; 145 return;
127 146
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
172 { 191 {
173 return &m_eventTargetData; 192 return &m_eventTargetData;
174 } 193 }
175 194
176 EventTargetData* MediaStreamTrack::ensureEventTargetData() 195 EventTargetData* MediaStreamTrack::ensureEventTargetData()
177 { 196 {
178 return &m_eventTargetData; 197 return &m_eventTargetData;
179 } 198 }
180 199
181 } // namespace WebCore 200 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/modules/mediastream/MediaStreamTrack.h ('k') | Source/modules/mediastream/MediaStreamTrack.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698