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

Side by Side Diff: content/renderer/media/remote_media_stream_impl.cc

Issue 2790823002: Spec compliant video constraints for getUserMedia behind flag. (Closed)
Patch Set: rebase Created 3 years, 8 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
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/media/remote_media_stream_impl.h" 5 #include "content/renderer/media/remote_media_stream_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 } 153 }
154 154
155 private: 155 private:
156 void InitializeWebkitVideoTrack(std::unique_ptr<TrackObserver> observer, 156 void InitializeWebkitVideoTrack(std::unique_ptr<TrackObserver> observer,
157 bool enabled) { 157 bool enabled) {
158 DCHECK(main_thread_->BelongsToCurrentThread()); 158 DCHECK(main_thread_->BelongsToCurrentThread());
159 std::unique_ptr<MediaStreamRemoteVideoSource> video_source( 159 std::unique_ptr<MediaStreamRemoteVideoSource> video_source(
160 new MediaStreamRemoteVideoSource(std::move(observer))); 160 new MediaStreamRemoteVideoSource(std::move(observer)));
161 InitializeWebkitTrack(blink::WebMediaStreamSource::TypeVideo); 161 InitializeWebkitTrack(blink::WebMediaStreamSource::TypeVideo);
162 webkit_track()->source().setExtraData(video_source.get()); 162 webkit_track()->source().setExtraData(video_source.get());
163 // Initial constraints must be provided to a MediaStreamVideoTrack. But 163 MediaStreamVideoTrack* media_stream_track = new MediaStreamVideoTrack(
164 // no constraints are available initially on a remote video track. 164 video_source.release(), MediaStreamVideoSource::ConstraintsCallback(),
165 blink::WebMediaConstraints constraints; 165 enabled);
166 constraints.initialize();
167 MediaStreamVideoTrack* media_stream_track =
168 new MediaStreamVideoTrack(video_source.release(), constraints,
169 MediaStreamVideoSource::ConstraintsCallback(), enabled);
170 webkit_track()->setTrackData(media_stream_track); 166 webkit_track()->setTrackData(media_stream_track);
171 } 167 }
172 }; 168 };
173 169
174 // RemoteAudioTrackAdapter is responsible for listening on state 170 // RemoteAudioTrackAdapter is responsible for listening on state
175 // change notifications on a remote webrtc audio MediaStreamTracks and notify 171 // change notifications on a remote webrtc audio MediaStreamTracks and notify
176 // WebKit. 172 // WebKit.
177 class RemoteAudioTrackAdapter 173 class RemoteAudioTrackAdapter
178 : public RemoteMediaStreamTrackAdapter<webrtc::AudioTrackInterface>, 174 : public RemoteMediaStreamTrackAdapter<webrtc::AudioTrackInterface>,
179 public webrtc::ObserverInterface { 175 public webrtc::ObserverInterface {
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 // Unregister all the audio track observers that were not used. 419 // Unregister all the audio track observers that were not used.
424 // We need to do this before destruction since the observers can't unregister 420 // We need to do this before destruction since the observers can't unregister
425 // from within the dtor due to a race. 421 // from within the dtor due to a race.
426 for (auto& track : *audio_tracks.get()) { 422 for (auto& track : *audio_tracks.get()) {
427 if (track.get()) 423 if (track.get())
428 track->Unregister(); 424 track->Unregister();
429 } 425 }
430 } 426 }
431 427
432 } // namespace content 428 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698