| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/media_stream_center.h" | 5 #include "content/renderer/media/media_stream_center.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <string> | 9 #include <string> |
| 10 | 10 |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 LOG(DFATAL) << "WebMediaStreamSource missing its MediaStreamAudioSource."; | 63 LOG(DFATAL) << "WebMediaStreamSource missing its MediaStreamAudioSource."; |
| 64 } | 64 } |
| 65 | 65 |
| 66 void CreateNativeVideoMediaStreamTrack( | 66 void CreateNativeVideoMediaStreamTrack( |
| 67 const blink::WebMediaStreamTrack& track) { | 67 const blink::WebMediaStreamTrack& track) { |
| 68 DCHECK(track.getTrackData() == NULL); | 68 DCHECK(track.getTrackData() == NULL); |
| 69 blink::WebMediaStreamSource source = track.source(); | 69 blink::WebMediaStreamSource source = track.source(); |
| 70 DCHECK_EQ(source.getType(), blink::WebMediaStreamSource::TypeVideo); | 70 DCHECK_EQ(source.getType(), blink::WebMediaStreamSource::TypeVideo); |
| 71 MediaStreamVideoSource* native_source = | 71 MediaStreamVideoSource* native_source = |
| 72 MediaStreamVideoSource::GetVideoSource(source); | 72 MediaStreamVideoSource::GetVideoSource(source); |
| 73 native_source->ConnectToTrack(track); |
| 73 DCHECK(native_source); | 74 DCHECK(native_source); |
| 74 blink::WebMediaStreamTrack writable_track(track); | |
| 75 // TODO(perkj): The constraints to use here should be passed from blink when | |
| 76 // a new track is created. For cloning, it should be the constraints of the | |
| 77 // cloned track and not the originating source. | |
| 78 // Also - source.constraints() returns an uninitialized constraint if the | |
| 79 // source is coming from a remote video track. See http://crbug/287805. | |
| 80 blink::WebMediaConstraints constraints = source.constraints(); | |
| 81 if (constraints.isNull()) | |
| 82 constraints.initialize(); | |
| 83 writable_track.setTrackData(new MediaStreamVideoTrack( | |
| 84 native_source, constraints, MediaStreamVideoSource::ConstraintsCallback(), | |
| 85 track.isEnabled())); | |
| 86 } | 75 } |
| 87 | 76 |
| 88 } // namespace | 77 } // namespace |
| 89 | 78 |
| 90 MediaStreamCenter::MediaStreamCenter( | 79 MediaStreamCenter::MediaStreamCenter( |
| 91 blink::WebMediaStreamCenterClient* client, | 80 blink::WebMediaStreamCenterClient* client, |
| 92 PeerConnectionDependencyFactory* factory) {} | 81 PeerConnectionDependencyFactory* factory) {} |
| 93 | 82 |
| 94 MediaStreamCenter::~MediaStreamCenter() {} | 83 MediaStreamCenter::~MediaStreamCenter() {} |
| 95 | 84 |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 192 | 181 |
| 193 bool MediaStreamCenter::didRemoveMediaStreamTrack( | 182 bool MediaStreamCenter::didRemoveMediaStreamTrack( |
| 194 const blink::WebMediaStream& stream, | 183 const blink::WebMediaStream& stream, |
| 195 const blink::WebMediaStreamTrack& track) { | 184 const blink::WebMediaStreamTrack& track) { |
| 196 DVLOG(1) << "MediaStreamCenter::didRemoveMediaStreamTrack"; | 185 DVLOG(1) << "MediaStreamCenter::didRemoveMediaStreamTrack"; |
| 197 MediaStream* native_stream = MediaStream::GetMediaStream(stream); | 186 MediaStream* native_stream = MediaStream::GetMediaStream(stream); |
| 198 return native_stream->RemoveTrack(track); | 187 return native_stream->RemoveTrack(track); |
| 199 } | 188 } |
| 200 | 189 |
| 201 } // namespace content | 190 } // namespace content |
| OLD | NEW |