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

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

Issue 1845113002: DirectX based screen capturer logic (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Lint errors 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/shared_desktop_frame.cc
diff --git a/webrtc/modules/desktop_capture/shared_desktop_frame.cc b/webrtc/modules/desktop_capture/shared_desktop_frame.cc
index 309bac55add20cb268344508433b8f081016bd3b..de8c4b798f0d971a4833b18df9959b28e15830e8 100644
--- a/webrtc/modules/desktop_capture/shared_desktop_frame.cc
+++ b/webrtc/modules/desktop_capture/shared_desktop_frame.cc
@@ -59,11 +59,7 @@ DesktopFrame* SharedDesktopFrame::GetUnderlyingFrame() {
}
SharedDesktopFrame* SharedDesktopFrame::Share() {
- SharedDesktopFrame* result = new SharedDesktopFrame(core_);
- result->set_dpi(dpi());
- result->set_capture_time_ms(capture_time_ms());
- *result->mutable_updated_region() = updated_region();
- return result;
+ return new SharedDesktopFrame(core_);
}
bool SharedDesktopFrame::IsShared() {
@@ -71,11 +67,70 @@ bool SharedDesktopFrame::IsShared() {
}
SharedDesktopFrame::SharedDesktopFrame(rtc::scoped_refptr<Core> core)
- : DesktopFrame(core->frame()->size(),
- core->frame()->stride(),
- core->frame()->data(),
- core->frame()->shared_memory()),
- core_(core) {
+ : DesktopFrame(DesktopSize(), // Do not use
+ 0, // Do not use
+ nullptr, // Do not use
+ nullptr), // Do not use
+ core_(core) {}
+
+const DesktopSize& SharedDesktopFrame::size() const {
+ return core_->frame()->size();
+}
+
+int SharedDesktopFrame::stride() const {
+ return core_->frame()->stride();
+}
+
+uint8_t* SharedDesktopFrame::data() const {
+ return core_->frame()->data();
+}
+
+SharedMemory* SharedDesktopFrame::shared_memory() const {
+ return core_->frame()->shared_memory();
+}
+
+const DesktopRegion& SharedDesktopFrame::updated_region() const {
+ return core_->frame()->updated_region();
Sergey Ulanov 2016/04/08 21:22:26 SharedDesktopFrame instances are supposed to share
+}
+
+DesktopRegion* SharedDesktopFrame::mutable_updated_region() {
+ return core_->frame()->mutable_updated_region();
+}
+
+const DesktopVector& SharedDesktopFrame::dpi() const {
+ return core_->frame()->dpi();
+}
+
+void SharedDesktopFrame::set_dpi(const DesktopVector& dpi) {
+ core_->frame()->set_dpi(dpi);
+}
+
+int64_t SharedDesktopFrame::capture_time_ms() const {
+ return core_->frame()->capture_time_ms();
+}
+
+void SharedDesktopFrame::set_capture_time_ms(int64_t time_ms) {
+ core_->frame()->set_capture_time_ms(time_ms);
+}
+
+const DesktopRegion* SharedDesktopFrame::shape() const {
+ return core_->frame()->shape();
+}
+
+void SharedDesktopFrame::set_shape(DesktopRegion* shape) {
+ core_->frame()->set_shape(shape);
+}
+
+void SharedDesktopFrame::CopyPixelsFrom(uint8_t* src_buffer,
+ int src_stride,
+ const DesktopRect& dest_rect) {
+ core_->frame()->CopyPixelsFrom(src_buffer, src_stride, dest_rect);
+}
+
+void SharedDesktopFrame::CopyPixelsFrom(const DesktopFrame& src_frame,
+ const DesktopVector& src_pos,
+ const DesktopRect& dest_rect) {
+ core_->frame()->CopyPixelsFrom(src_frame, src_pos, dest_rect);
}
} // namespace webrtc

Powered by Google App Engine
This is Rietveld 408576698