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

Unified Diff: webrtc/modules/desktop_capture/desktop_frame.cc

Issue 1845113002: DirectX based screen capturer logic (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Remove width change in Texture::Capture Created 4 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 side-by-side diff with in-line comments
Download patch
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..7516acf92fde953f7d87d34a3929c7c5ac708e0e 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,15 @@ 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) {
Sergey Ulanov 2016/04/14 23:10:42 one argument per line in function definition pleas
Hzj_jie 2016/04/15 19:42:17 Done.
+ 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 +98,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 +109,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_;
}

Powered by Google App Engine
This is Rietveld 408576698