OLD | NEW |
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/webrtc/video_destination_handler.h" | 5 #include "content/renderer/media/webrtc/video_destination_handler.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/base64.h" | 9 #include "base/base64.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 | 139 |
140 // TODO(perkj): It would be more efficient to use I420 here. Using YV12 will | 140 // TODO(perkj): It would be more efficient to use I420 here. Using YV12 will |
141 // force a copy into a tightly packed I420 frame in | 141 // force a copy into a tightly packed I420 frame in |
142 // WebRtcVideoCapturerAdapter before the frame is delivered to libJingle. | 142 // WebRtcVideoCapturerAdapter before the frame is delivered to libJingle. |
143 // crbug/359587. | 143 // crbug/359587. |
144 scoped_refptr<media::VideoFrame> new_frame = | 144 scoped_refptr<media::VideoFrame> new_frame = |
145 frame_pool_.CreateFrame(media::VideoFrame::YV12, frame_size, | 145 frame_pool_.CreateFrame(media::VideoFrame::YV12, frame_size, |
146 gfx::Rect(frame_size), frame_size, timestamp); | 146 gfx::Rect(frame_size), frame_size, timestamp); |
147 media::VideoCaptureFormat format( | 147 media::VideoCaptureFormat format( |
148 frame_size, | 148 frame_size, |
149 MediaStreamVideoSource::kDefaultFrameRate, | 149 MediaStreamVideoSource::kUnknownFrameRate, |
150 media::PIXEL_FORMAT_YV12); | 150 media::PIXEL_FORMAT_YV12); |
151 | 151 |
152 libyuv::BGRAToI420(reinterpret_cast<uint8*>(bitmap->getPixels()), | 152 libyuv::BGRAToI420(reinterpret_cast<uint8*>(bitmap->getPixels()), |
153 bitmap->rowBytes(), | 153 bitmap->rowBytes(), |
154 new_frame->data(media::VideoFrame::kYPlane), | 154 new_frame->data(media::VideoFrame::kYPlane), |
155 new_frame->stride(media::VideoFrame::kYPlane), | 155 new_frame->stride(media::VideoFrame::kYPlane), |
156 new_frame->data(media::VideoFrame::kUPlane), | 156 new_frame->data(media::VideoFrame::kUPlane), |
157 new_frame->stride(media::VideoFrame::kUPlane), | 157 new_frame->stride(media::VideoFrame::kUPlane), |
158 new_frame->data(media::VideoFrame::kVPlane), | 158 new_frame->data(media::VideoFrame::kVPlane), |
159 new_frame->stride(media::VideoFrame::kVPlane), | 159 new_frame->stride(media::VideoFrame::kVPlane), |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
227 | 227 |
228 stream.addTrack(MediaStreamVideoTrack::CreateVideoTrack( | 228 stream.addTrack(MediaStreamVideoTrack::CreateVideoTrack( |
229 writer, constraints, MediaStreamVideoSource::ConstraintsCallback(), | 229 writer, constraints, MediaStreamVideoSource::ConstraintsCallback(), |
230 track_enabled)); | 230 track_enabled)); |
231 | 231 |
232 *frame_writer = new PpFrameWriterProxy(writer->AsWeakPtr()); | 232 *frame_writer = new PpFrameWriterProxy(writer->AsWeakPtr()); |
233 return true; | 233 return true; |
234 } | 234 } |
235 | 235 |
236 } // namespace content | 236 } // namespace content |
OLD | NEW |