Commit Graph

75 Commits

Author SHA1 Message Date
00b8f6b364 Use base/scoped_ptr.h; system_wrappers/interface/scoped_ptr.h is going away
BUG=
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/36229004

Cr-Commit-Position: refs/heads/master@{#8517}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8517 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 14:43:50 +00:00
2ebfac5649 Remove COMPILE_ASSERT and use static_assert everywhere
COMPILE_ASSERT is no longer needed now that we have C++11's
static_assert.

R=aluebs@webrtc.org, andrew@webrtc.org, hellner@chromium.org, henrike@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/39469004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8058 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-14 10:51:54 +00:00
3df38b442f Unify the two copies of compile_assert.h
This patch basically deletes webrtc/base/compile_assert.h (which is
the more outdated copy) and moves
webrtc/system_wrappers/source/compile_assert.h to take its place.

R=aluebs@webrtc.org, andrew@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/36719004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8048 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-13 11:37:48 +00:00
5fa8c458d8 Remove mouse cursor capturer from the ScreenCapturer interface
Mouse can be captured using MouseCursorMonitor and all code in chromium
already uses it instead of ScreenCapturer.

R=jiayl@webrtc.org

Committed: https://code.google.com/p/webrtc/source/detail?r=7363

Review URL: https://webrtc-codereview.appspot.com/31529004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7365 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-02 01:47:10 +00:00
6138f0f89d Revert "Remove mouse cursor capturer from the ScreenCapturer interface"
This reverts commit 0adc4953512ee0a57cf7f3c0591b024c2316554a. It broke
FYI bots

TBR=sergeyu@chromium.org

Review URL: https://webrtc-codereview.appspot.com/27649004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7364 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-02 01:36:43 +00:00
1fced0f2aa Remove mouse cursor capturer from the ScreenCapturer interface
Mouse can be captured using MouseCursorMonitor and all code in chromium
already uses it instead of ScreenCapturer.

R=jiayl@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/31529004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7363 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-02 00:18:10 +00:00
bac5f0fb56 Fix an invalid memory access due to typo in win/cursor.cc.
BUG=crbug/391468
R=sergeyu@chromium.org

Review URL: https://webrtc-codereview.appspot.com/19949004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6698 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-15 20:32:03 +00:00
594aefa807 Do not call CaptureCursor in ScreenCapturerWinGdi if no MouseShapeObserver.
It's wasted work and affects frame rate adaptation in Chrome.

BUG=
R=sergeyu@chromium.org

Review URL: https://webrtc-codereview.appspot.com/19789004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6499 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-19 22:04:41 +00:00
1bb5da04fe Adds missing include of assert header.
BUG=3380
R=sergeyu@chromium.org

Review URL: https://webrtc-codereview.appspot.com/14569008

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6221 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-22 14:31:14 +00:00
88fbb2d86b Switch to using base/constructormagic.h and remove system_wrappers/interface/constructor_magic.h.
Same as https://webrtc-codereview.appspot.com/19519004. The issue in
http://chromegw.corp.google.com/i/internal.chromium.webrtc.fyi/builders/Linux...
is solved by this change
http://src.chromium.org/viewvc/chrome/trunk/src/third_party/libjingle/libjing...
(tested locally).

BUG=3380
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/17619005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6218 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-21 21:18:46 +00:00
7ca277b574 Initializes WINDOWPLACEMENT::length in GetCroppedWindowRect.
BUG=https://code.google.com/p/webrtc/issues/detail?id=3196
R=sergeyu@chromium.org

Review URL: https://webrtc-codereview.appspot.com/21529004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6213 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-21 16:02:31 +00:00
2fa7f79094 Revert 6202 "Switch to using base/constructormagic.h and remove ..."
> Switch to using base/constructormagic.h and remove system_wrappers/interface/constructor_magic.h.
> 
> BUG=N/A
> R=andrew@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/19519004

TBR=henrike@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/14579007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6210 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-21 11:07:29 +00:00
125ffd709d Switch to using base/constructormagic.h and remove system_wrappers/interface/constructor_magic.h.
BUG=N/A
R=andrew@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/19519004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6202 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-20 15:20:44 +00:00
4220434d37 Implement the Windows screen capturer using the Magnification API.
The original ScreenCapturerWin is renamed ScreenCapturerWinGdi.

BUG=2789
TESTED=full desktop cast and single monitor cast works on win7 and win8 desktop mode. Have to use GDI capturer on win8 metro mode. Changing display configuration work on the fly.
R=sergeyu@chromium.org, wez@chromium.org

Committed: https://code.google.com/p/webrtc/source/detail?r=6048

Review URL: https://webrtc-codereview.appspot.com/12149004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6053 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-05 16:08:47 +00:00
7dccce3948 Revert 6048 "Implement the Windows screen capturer using the Mag..."
> Implement the Windows screen capturer using the Magnification API.
> The original ScreenCapturerWin is renamed ScreenCapturerWinGdi.
> 
> BUG=2789
> TESTED=full desktop cast and single monitor cast works on win7 and win8 desktop mode. Have to use GDI capturer on win8 metro mode. Changing display configuration work on the fly.
> R=sergeyu@chromium.org, wez@chromium.org
> 
> Review URL: https://webrtc-codereview.appspot.com/12149004

TBR=jiayl@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/15429005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6052 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-05 11:17:26 +00:00
b235c56017 Implement the Windows screen capturer using the Magnification API.
The original ScreenCapturerWin is renamed ScreenCapturerWinGdi.

BUG=2789
TESTED=full desktop cast and single monitor cast works on win7 and win8 desktop mode. Have to use GDI capturer on win8 metro mode. Changing display configuration work on the fly.
R=sergeyu@chromium.org, wez@chromium.org

Review URL: https://webrtc-codereview.appspot.com/12149004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6048 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-03 00:16:29 +00:00
8f69330310 Replace scoped_array<T> with scoped_ptr<T[]>.
scoped_array is deprecated. This was done using a Chromium clang tool:
http://src.chromium.org/viewvc/chrome/trunk/src/tools/clang/rewrite_scoped_ar...

except for the few not-built-on-Linux files which were updated manually.

TESTED=trybots
BUG=2515
R=niklas.enbom@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/12429004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5985 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-25 23:10:28 +00:00
c8ac17ca04 Adjust the captured window rect when the window is maximized.
GetWindowRect includes the window frames for maximized window even they are off screen, causing content outside the window being captured falsely. The fix is to remove the left/right/bottom window frame from the captured rect. Mouse capturing is adjusted accordingly as well.

BUG=3076
R=sergeyu@chromium.org

Review URL: https://webrtc-codereview.appspot.com/10149004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5732 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-20 00:06:41 +00:00
8ae72560dd Make MouseCursor mutable
MouseCursor objects were previous immutable which makes it harder to
implement deserializers when MouseCursor is sent over IPC in Chromium.

R=dcaiafa@chromium.org

Committed: https://code.google.com/p/webrtc/source/detail?r=5310

Review URL: https://webrtc-codereview.appspot.com/6059005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5314 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-18 02:18:01 +00:00
31628aae7e Upgrade scoped_ptr to Chromium's latest version.
Analogous to the recent libjingle change: http://cl/54929753-p10.
This supports scoped_ptr<T[]> and scoped_ptr<C, FreeDeleter> rather
than scoped_array and scoped_ptr_malloc respectively.

- Add Chromium's template-based COMPILE_ASSERT. We didn't have this
previously in order to support the macro in C. Instead, move the
existing macro to compile_assert_c.h.
- Additionally copy the move.h and template_util.h depedencies and add
the WARN_UNUSED_RESULT macro.
- Leave scoped_array and scoped_ptr_malloc for now, but mark as
deprecated.
- Remove scoped_ptr foo(NULL) use. The default constructor handles it.
- Remove the now redundant COMPILE_ASSERT from peerconnection_jni.cc.
- Add a CHECK_ARRAY_SIZE macro to rtp_format_vp8_unittest.cc to remove
some repeated code.

TESTED=trybots
R=pbos@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2449005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5015 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-22 12:50:00 +00:00
2df89c0c8b MouseCursorMonitor implementation for OSX and Windows.
BUG=crbug.com/173265
R=wez@chromium.org

Review URL: https://webrtc-codereview.appspot.com/2388004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4994 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-17 19:47:18 +00:00
bebf3995ce Pre-multiply images for MouseCursorShape.
BUG=chromium:267270
R=sergeyu@chromium.org

Review URL: https://webrtc-codereview.appspot.com/2173004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4685 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-05 19:32:46 +00:00
4af0878e57 Allow the screen capturer to capture oversized cursors and cursors without alpha channel (Windows).
Changes in this CL:
  - CaptureCursor() scans the cursor to verify that it has alpha channel.
  - The AND mask of the cursor is used to reconstruct transparency if the cursor does not have alpha channel.
  - CaptureCursor() always outlines the cursor when a "screen reverse" pixel detected.  Previously it was only done for black and while cursors.
    
Added desktop_capture_unittest.MouseCursorShapeTest to test the cursor conversion code.
    
BUG=chromium:223147
R=sergeyu@chromium.org

Review URL: https://webrtc-codereview.appspot.com/1627004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4210 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-10 22:29:17 +00:00
5e03f8ab67 Landing binary cursor image files to be used in a follow up CL.
See https://webrtc-codereview.appspot.com/1627004/ for more details. TBR since that CL has been reviewed and LGTMed.

TBR=sergeyu@chromium.org

BUG=chromium:223147

Review URL: https://webrtc-codereview.appspot.com/1647004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4209 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-10 21:07:31 +00:00
3d34f66292 Move screen capturers from chromium to webrtc.
R=alexeypa@chromium.org, wez@chromium.org

Review URL: https://webrtc-codereview.appspot.com/1586005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4175 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-04 18:51:23 +00:00