| Index: webrtc/modules/desktop_capture/desktop_frame.cc
|
| diff --git a/webrtc/modules/desktop_capture/desktop_frame.cc b/webrtc/modules/desktop_capture/desktop_frame.cc
|
| index 6bc7b2e38f646f85972926544cd0e35f29e21764..00449e3bac0786cf87c335fa6f2cbd6c4e42a00c 100644
|
| --- a/webrtc/modules/desktop_capture/desktop_frame.cc
|
| +++ b/webrtc/modules/desktop_capture/desktop_frame.cc
|
| @@ -10,19 +10,20 @@
|
|
|
| #include "webrtc/modules/desktop_capture/desktop_frame.h"
|
|
|
| -#include <assert.h>
|
| #include <string.h>
|
|
|
| +#include "webrtc/base/checks.h"
|
| +
|
| namespace webrtc {
|
|
|
| DesktopFrame::DesktopFrame(DesktopSize size,
|
| int stride,
|
| uint8_t* data,
|
| SharedMemory* shared_memory)
|
| - : size_(size),
|
| - stride_(stride),
|
| - data_(data),
|
| + : data_(data),
|
| shared_memory_(shared_memory),
|
| + size_(size),
|
| + stride_(stride),
|
| capture_time_ms_(0) {
|
| }
|
|
|
| @@ -30,7 +31,7 @@ DesktopFrame::~DesktopFrame() {}
|
|
|
| void DesktopFrame::CopyPixelsFrom(uint8_t* src_buffer, int src_stride,
|
| const DesktopRect& dest_rect) {
|
| - assert(DesktopRect::MakeSize(size()).ContainsRect(dest_rect));
|
| + RTC_CHECK(DesktopRect::MakeSize(size()).ContainsRect(dest_rect));
|
|
|
| uint8_t* dest = GetFrameDataAtPos(dest_rect.top_left());
|
| for (int y = 0; y < dest_rect.height(); ++y) {
|
| @@ -43,7 +44,7 @@ void DesktopFrame::CopyPixelsFrom(uint8_t* src_buffer, int src_stride,
|
| void DesktopFrame::CopyPixelsFrom(const DesktopFrame& src_frame,
|
| const DesktopVector& src_pos,
|
| const DesktopRect& dest_rect) {
|
| - assert(DesktopRect::MakeSize(src_frame.size()).ContainsRect(
|
| + RTC_CHECK(DesktopRect::MakeSize(src_frame.size()).ContainsRect(
|
| DesktopRect::MakeOriginSize(src_pos, dest_rect.size())));
|
|
|
| CopyPixelsFrom(src_frame.GetFrameDataAtPos(src_pos),
|
| @@ -81,8 +82,17 @@ DesktopFrame* BasicDesktopFrame::CopyOf(const DesktopFrame& frame) {
|
| std::unique_ptr<DesktopFrame> SharedMemoryDesktopFrame::Create(
|
| DesktopSize size,
|
| SharedMemoryFactory* shared_memory_factory) {
|
| - size_t buffer_size =
|
| - size.width() * size.height() * DesktopFrame::kBytesPerPixel;
|
| + return Create(size,
|
| + size.width() * DesktopFrame::kBytesPerPixel,
|
| + shared_memory_factory);
|
| +}
|
| +
|
| +// static
|
| +std::unique_ptr<DesktopFrame> SharedMemoryDesktopFrame::Create(
|
| + DesktopSize size,
|
| + int stride,
|
| + SharedMemoryFactory* shared_memory_factory) {
|
| + size_t buffer_size = size.height() * stride;
|
| std::unique_ptr<SharedMemory> shared_memory;
|
| shared_memory = rtc::ScopedToUnique(
|
| shared_memory_factory->CreateSharedMemory(buffer_size));
|
| @@ -90,8 +100,7 @@ std::unique_ptr<DesktopFrame> SharedMemoryDesktopFrame::Create(
|
| return nullptr;
|
|
|
| return std::unique_ptr<DesktopFrame>(new SharedMemoryDesktopFrame(
|
| - size, size.width() * DesktopFrame::kBytesPerPixel,
|
| - std::move(shared_memory)));
|
| + size, stride, shared_memory.release()));
|
| }
|
|
|
| SharedMemoryDesktopFrame::SharedMemoryDesktopFrame(DesktopSize size,
|
| @@ -102,15 +111,6 @@ SharedMemoryDesktopFrame::SharedMemoryDesktopFrame(DesktopSize size,
|
| reinterpret_cast<uint8_t*>(shared_memory->data()),
|
| shared_memory) {}
|
|
|
| -SharedMemoryDesktopFrame::SharedMemoryDesktopFrame(
|
| - DesktopSize size,
|
| - int stride,
|
| - std::unique_ptr<SharedMemory> shared_memory)
|
| - : DesktopFrame(size,
|
| - stride,
|
| - reinterpret_cast<uint8_t*>(shared_memory->data()),
|
| - shared_memory.release()) {}
|
| -
|
| SharedMemoryDesktopFrame::~SharedMemoryDesktopFrame() {
|
| delete shared_memory_;
|
| }
|
|
|