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/pepper/pepper_video_capture_host.h" | 5 #include "content/renderer/pepper/pepper_video_capture_host.h" |
6 | 6 |
7 #include "content/renderer/media/media_stream_video_source.h" | 7 #include "content/renderer/media/media_stream_video_source.h" |
8 #include "content/renderer/pepper/host_globals.h" | 8 #include "content/renderer/pepper/host_globals.h" |
9 #include "content/renderer/pepper/pepper_media_device_manager.h" | 9 #include "content/renderer/pepper/pepper_media_device_manager.h" |
10 #include "content/renderer/pepper/pepper_platform_video_capture.h" | 10 #include "content/renderer/pepper/pepper_platform_video_capture.h" |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 } | 137 } |
138 | 138 |
139 for (uint32_t i = 0; i < buffers_.size(); ++i) { | 139 for (uint32_t i = 0; i < buffers_.size(); ++i) { |
140 if (!buffers_[i].in_use) { | 140 if (!buffers_[i].in_use) { |
141 DCHECK_EQ(frame->format(), media::PIXEL_FORMAT_I420); | 141 DCHECK_EQ(frame->format(), media::PIXEL_FORMAT_I420); |
142 if (buffers_[i].buffer->size() < | 142 if (buffers_[i].buffer->size() < |
143 media::VideoFrame::AllocationSize(frame->format(), alloc_size_)) { | 143 media::VideoFrame::AllocationSize(frame->format(), alloc_size_)) { |
144 // TODO(ihf): handle size mismatches gracefully here. | 144 // TODO(ihf): handle size mismatches gracefully here. |
145 return; | 145 return; |
146 } | 146 } |
147 uint8* dst = reinterpret_cast<uint8*>(buffers_[i].data); | 147 uint8_t* dst = reinterpret_cast<uint8_t*>(buffers_[i].data); |
148 static_assert(media::VideoFrame::kYPlane == 0, "y plane should be 0"); | 148 static_assert(media::VideoFrame::kYPlane == 0, "y plane should be 0"); |
149 static_assert(media::VideoFrame::kUPlane == 1, "u plane should be 1"); | 149 static_assert(media::VideoFrame::kUPlane == 1, "u plane should be 1"); |
150 static_assert(media::VideoFrame::kVPlane == 2, "v plane should be 2"); | 150 static_assert(media::VideoFrame::kVPlane == 2, "v plane should be 2"); |
151 for (size_t j = 0; j < media::VideoFrame::NumPlanes(frame->format()); | 151 for (size_t j = 0; j < media::VideoFrame::NumPlanes(frame->format()); |
152 ++j) { | 152 ++j) { |
153 const uint8* src = frame->visible_data(j); | 153 const uint8_t* src = frame->visible_data(j); |
154 const size_t row_bytes = frame->row_bytes(j); | 154 const size_t row_bytes = frame->row_bytes(j); |
155 const size_t src_stride = frame->stride(j); | 155 const size_t src_stride = frame->stride(j); |
156 for (int k = 0; k < frame->rows(j); ++k) { | 156 for (int k = 0; k < frame->rows(j); ++k) { |
157 memcpy(dst, src, row_bytes); | 157 memcpy(dst, src, row_bytes); |
158 dst += row_bytes; | 158 dst += row_bytes; |
159 src += src_stride; | 159 src += src_stride; |
160 } | 160 } |
161 } | 161 } |
162 buffers_[i].in_use = true; | 162 buffers_[i].in_use = true; |
163 host()->SendUnsolicitedReply( | 163 host()->SendUnsolicitedReply( |
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
409 } | 409 } |
410 | 410 |
411 PepperVideoCaptureHost::BufferInfo::BufferInfo() | 411 PepperVideoCaptureHost::BufferInfo::BufferInfo() |
412 : in_use(false), data(NULL), buffer() { | 412 : in_use(false), data(NULL), buffer() { |
413 } | 413 } |
414 | 414 |
415 PepperVideoCaptureHost::BufferInfo::~BufferInfo() { | 415 PepperVideoCaptureHost::BufferInfo::~BufferInfo() { |
416 } | 416 } |
417 | 417 |
418 } // namespace content | 418 } // namespace content |
OLD | NEW |