14 Commits

Author SHA1 Message Date
Julien Isorce
c0719cedac Add DesktopFrameCGImage
No functional change. This makes the code more generic
and this reduces the size of screen_capturer_mac.mm

Bug: webrtc:8652
Change-Id: I37743ba385fea5e1b40df3b094bfc321b8d796ae
Reviewed-on: https://webrtc-review.googlesource.com/65082
Commit-Queue: Julien Isorce <julien.isorce@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#22684}
2018-03-29 22:56:38 +00:00
Julien Isorce
58219769b1 Wrap CGImageRef and CGDataRef with ScopedCFTypeRef
Bug: webrtc:8652
Change-Id: Ia29767bd193ae4684b7514b526b60c5ab36af5fd
Reviewed-on: https://webrtc-review.googlesource.com/64761
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#22636}
2018-03-28 01:33:56 +00:00
Julien Isorce
6d7b8359b3 Some minor cleanups in ScreenCapturerMac
- Remove unsued ScopedPixelBufferObject that was used for the
  capture using OpenGL.
- Also remove InvertedDesktopFrame for the same reason.
- Replace several occurrences of assert by RTC_DCHECK

Bug: webrtc:8652
Change-Id: I262db0a445f2211cde7476a6cadfb1c19a3e814f
Reviewed-on: https://webrtc-review.googlesource.com/64883
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#22632}
2018-03-27 17:23:45 +00:00
Julien Isorce
370228c312 Move ScreenCapturerMac to mac sub directory
1- git mv screen_capturer_mac.mm  mac/screen_capturer_mac.mm
2- extract class ScreenCapturerMac declaritions to its own header
3- extract static CreateRawScreenCapturer to screen_capturer_darwin.mm
   (Using 'darwin' instead of 'mac' allows to make happy the command
   git log --follow mac/screen_capturer_mac.mm)
4- git cl format

Bug: webrtc:8652
Change-Id: Ibb13bd5dec61aa9b92c9f5f30fedd0508a727dd9
Reviewed-on: https://webrtc-review.googlesource.com/64680
Commit-Queue: Julien Isorce <julien.isorce@chromium.org>
Reviewed-by: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#22620}
2018-03-27 08:48:53 +00:00
Henrik Grunell
70294c8eab Revert "Add ScopedAllowBaseSyncPrimitives for DesktopConfigurationMonitor."
This reverts commit 0a3593c25dbc96b7d66d17ab77fc9984ab2bf245.

Reason for revert: breaks WebRTC roll to Chromium. https://chromium-review.googlesource.com/c/chromium/src/+/894164

[19742:771:0130/150628.286256:FATAL:thread_restrictions.cc(67)] Check failed: !g_blocking_disallowed.Get().Get(). To allow //base sync primitives in a scope where blocking is disallowed use ScopedAllowBaseSyncPrimitivesOutsideBlockingScope.
0   browser_tests                       0x0000000108d3682c base::debug::StackTrace::StackTrace(unsigned long) + 28
1   browser_tests                       0x0000000108d5b210 logging::LogMessage::~LogMessage() + 224
2   browser_tests                       0x0000000108e04366 base::ScopedAllowBaseSyncPrimitives::ScopedAllowBaseSyncPrimitives() + 150
3   browser_tests                       0x000000010be59c48 webrtc::DesktopConfigurationMonitor::Lock() + 24
4   browser_tests                       0x0000000106dbf229 webrtc::DesktopCapturer::CreateRawScreenCapturer(webrtc::DesktopCaptureOptions const&) + 313
5   browser_tests                       0x000000010be58725 webrtc::DesktopCapturer::CreateScreenCapturer(webrtc::DesktopCaptureOptions const&) + 21
6   browser_tests                       0x00000001074dc209 content::DesktopCaptureDevice::Create(content::DesktopMediaID const&) + 169
(...)


Original change's description:
> Add ScopedAllowBaseSyncPrimitives for DesktopConfigurationMonitor.
> This is a temporary measure until the synchronization method
> used in the class, gets fixed.
> 
> Bug: chromium:796889, chromium:795340
> Change-Id: Ie3d394ae42f005e8e0f353d04ea9c1d053ea9fd2
> Reviewed-on: https://webrtc-review.googlesource.com/40460
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Commit-Queue: Tommi <tommi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21812}

TBR=tommi@webrtc.org,sprang@webrtc.org

Change-Id: I6237c3df7e33918d9fe2e46bad0f6f96cda77cd1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:796889, chromium:795340
Reviewed-on: https://webrtc-review.googlesource.com/46540
Reviewed-by: Henrik Grunell <henrikg@webrtc.org>
Commit-Queue: Henrik Grunell <henrikg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21817}
2018-01-31 08:32:19 +00:00
Tommi
0a3593c25d Add ScopedAllowBaseSyncPrimitives for DesktopConfigurationMonitor.
This is a temporary measure until the synchronization method
used in the class, gets fixed.

Bug: chromium:796889, chromium:795340
Change-Id: Ie3d394ae42f005e8e0f353d04ea9c1d053ea9fd2
Reviewed-on: https://webrtc-review.googlesource.com/40460
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21812}
2018-01-30 17:56:36 +00:00
braveyao
70ae347896 [desktopCapture] remove reduntant check and fix comments error
The title of Dock window on OSX10.12 is still 'Dock' with layer number 20.
So the removed codes here is reduntant.
Also fix a wrong comment.

Bug: webrtc:8460
Change-Id: I72d4c8f5741a1ccb00aa45897f11e85af8d24e05
Reviewed-on: https://webrtc-review.googlesource.com/33123
Commit-Queue: Brave Yao <braveyao@webrtc.org>
Reviewed-by: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#21287}
2017-12-14 23:17:44 +00:00
Mirko Bonadei
675513b96a Stop using LOG macros in favor of RTC_ prefixed macros.
This CL has been generated with the following script:

for m in PLOG \
  LOG_TAG \
  LOG_GLEM \
  LOG_GLE_EX \
  LOG_GLE \
  LAST_SYSTEM_ERROR \
  LOG_ERRNO_EX \
  LOG_ERRNO \
  LOG_ERR_EX \
  LOG_ERR \
  LOG_V \
  LOG_F \
  LOG_T_F \
  LOG_E \
  LOG_T \
  LOG_CHECK_LEVEL_V \
  LOG_CHECK_LEVEL \
  LOG
do
  git grep -l $m | xargs sed -i "s,\b$m\b,RTC_$m,g"
done
git checkout rtc_base/logging.h
git cl format

Bug: webrtc:8452
Change-Id: I1a53ef3e0a5ef6e244e62b2e012b864914784600
Reviewed-on: https://webrtc-review.googlesource.com/21325
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20617}
2017-11-09 11:56:32 +00:00
Zijie He
411582b13a [Window Capturer] Implement scaling in GetWindowBounds()
On Mac OSX system, if retina screen is used, the GetWindowBounds() returns
pre-scaled values instead of system coordinates. So this fix considers
per-monitor scale-factor, and stretchs the DesktopRect.

Bug: chromium:778049
Change-Id: I9dc51e08235eba9b3ef6378eaa15737aa444b0c8
Reviewed-on: https://webrtc-review.googlesource.com/17600
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#20578}
2017-11-07 01:49:35 +00:00
Zijie He
c2a0eb2699 [Window Capture] Mouse cursor missing during window sharing on Mac OSX
CGWindowID is 32-bit, WindowId is 64-bit, using WindowId to receive int value
from CFNumberGetValue() causes the top 32 bits to be random. WindowFinderMac is
impacted by this issue and returns a random number. WindowCapturerMac cannot
match the window_id_ with the the random number.

Meanwhile MouseCursorMonitorMac uses window title to match "Dock" window. See,
https://cs.chromium.org/chromium/src/third_party/webrtc/modules/desktop_capture/mouse_cursor_monitor_mac.mm?rcl=a194e58e799ccab6c999998e5d0f75725aa3f748&l=174

This logic should not be necessary on 10.12 or upper, the name of dock window
is not "Dock" anymore. But to ensure the consistency on old platforms, I have
also added this logic back into GetWindowList() function.

Bug: chromium:778049
Change-Id: Ie827bcd5d31f2ca69ff24c24cf640cb7cc50d419
Reviewed-on: https://webrtc-review.googlesource.com/15782
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#20451}
2017-10-26 21:14:57 +00:00
Niels Möller
9155e4986d New classes RefCounter and RefCountedBase.
Bug: webrtc:8270
Change-Id: Ibdab81b3fcbe6cba9ae24033f56c84b13c868b21
Reviewed-on: https://webrtc-review.googlesource.com/2684
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20386}
2017-10-23 11:46:47 +00:00
Mirko Bonadei
7120742701 Adding NOLINT for typedefs.h and common_types.h
Now that we have moved WebRTC from src/webrtc to src/, common_types.h
and typedefs.h are triggering a cpplint error.

The cpplint complaint is:
Include the directory when naming .h files  [build/include] [4]

This CL disables the error but we have to remove these two headers
from the root directory.

NOPRESUBMIT=true

Bug: webrtc:5876
Change-Id: I08e1b69aadcc4b28ab83bf25e3819d135d41d333
Reviewed-on: https://webrtc-review.googlesource.com/1577
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@google.com>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19859}
2017-09-15 13:03:51 +00:00
Mirko Bonadei
92ea95e34a Fixing WebRTC after moving from src/webrtc to src/
In https://webrtc-review.googlesource.com/c/src/+/1560 we moved WebRTC
from src/webrtc to src/ (in order to preserve an healthy git history).
This CL takes care of fixing header guards, #include paths, etc...

NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
TBR=tommi@webrtc.org


Bug: chromium:611808
Change-Id: Iea91618212bee0af16aa3f05071eab8f93706578
Reviewed-on: https://webrtc-review.googlesource.com/1561
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19846}
2017-09-15 05:02:56 +00:00
Mirko Bonadei
bb547203bf Moving src/webrtc into src/.
In order to eliminate the WebRTC Subtree mirror in Chromium, 
WebRTC is moving the content of the src/webrtc directory up
to the src/ directory.

NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
TBR=tommi@webrtc.org

Bug: chromium:611808
Change-Id: Iac59c5b51b950f174119565bac87955a7994bc38
Reviewed-on: https://webrtc-review.googlesource.com/1560
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19845}
2017-09-15 04:25:06 +00:00