When cinnamon is used, it always wraps the application window with its own
window. Instead of (0, 0), the DesktopRect from XWindowAttributes starts from
(10, 36).
So this change considers this difference when translating the DesktopRect in
GetWindowRect() function.
Bug: chromium:778035
Change-Id: I4944b2d1e13a4c379e114fd1749d74e95a63003b
Reviewed-on: https://webrtc-review.googlesource.com/17660
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#20538}
WebRTC rolls into Chromium are failing, we should fix it ASAP.
Log:
FAILED:
obj/third_party/webrtc/modules/video_coding/webrtc_stereo/stereo_encoder_adapter.obj
ninja -t msvc -e environment.x64 -- E:\b\c\goma_client/gomacc.exe
"e:\b\c\win_toolchain\vs_files\88c3b62e1eb0893b8cd57e3f4859c3af27907f64\vc\tools\msvc\14.11.25503\bin\hostx64\x64/cl.exe"
/nologo /showIncludes
@obj/third_party/webrtc/modules/video_coding/webrtc_stereo/stereo_encoder_adapter.obj.rsp
/c
../../third_party/webrtc/modules/video_coding/codecs/stereo/stereo_encoder_adapter.cc
/Foobj/third_party/webrtc/modules/video_coding/webrtc_stereo/stereo_encoder_adapter.obj
/Fd"obj/third_party/webrtc/modules/video_coding/webrtc_stereo_cc.pdb"
../../third_party/webrtc/modules/video_coding/codecs/stereo/stereo_encoder_adapter.cc(134):
error C2220: warning treated as error - no 'object' file generated
../../third_party/webrtc/modules/video_coding/codecs/stereo/stereo_encoder_adapter.cc(134):
warning C4267: 'argument': conversion from 'size_t' to 'uint32_t',
possible loss of data
Bug: chromium:780411
Change-Id: Ia80f4551d0efeebc6d084e951f5c25e8b9401250
Reviewed-on: https://webrtc-review.googlesource.com/17781
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Max Morin <maxmorin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20522}
There is a crash happening in this neighbourhood, so adding
CHECKs to tease it out explicitly.
BUG=webrtc:8481
Change-Id: I79a2ec8fd838f4a4735a04496e363b72975919ec
Reviewed-on: https://webrtc-review.googlesource.com/17361
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20520}
Intended to enable unit testing of the pacer with a mock PacketQueue.
Bug: webrtc:8422
Change-Id: I142386b2d91ad0d5ba8f3f9d876e67972c490de4
Reviewed-on: https://webrtc-review.googlesource.com/17300
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20498}
This CL is the step 1 for adding alpha channel support over the wire in webrtc.
- Add the footprint for adapter classes that wraps actual codecs.
- This CL does not add a webrtc::VideoFrame container that can carry alpha to
make the CL shorter for an easier review. Therefore, it exercises a code path
for when we receive no alpha input, just regular I420 frames.
- Unittest sends a video frame for encode/decode through these adapters and
checks the output PSNR.
- See https://webrtc-review.googlesource.com/c/src/+/7800 for the experimental
CL that gives an idea about how it will come together.
Design Doc: https://goo.gl/sFeSUT
Bug: webrtc:7671
Change-Id: I9d3be13647a0a958feceb8d7a9aa93852fc6a1fa
Reviewed-on: https://webrtc-review.googlesource.com/11841
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20490}
The RTPFragmentationHeader was used when sending audio using RED
for loss protection. This feature has been deprecated and
gradually removed. This cl removes remnants of support from
the RTP send path.
Bug: webrtc:6471
Change-Id: Ia1249047b09c16f79498827f74c2ce07aa38b8f7
Reviewed-on: https://webrtc-review.googlesource.com/16427
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20473}
This CL replaces one 'int32_t' with 'uint32_t'. The value is a
non-negative energy, and the number of leading zeros is
computed. During computation, a shift can cause it to overflow.
Issue was found by the Audio Processing fuzzer.
Bug: chromium:778939, chromium:778921, chromium:778919
Change-Id: I3d7e0b547e6b0edcd9995903517ea851142a08c1
Reviewed-on: https://webrtc-review.googlesource.com/16433
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20470}
Always enabling verbose mode means about 100% more text is printed,
but this should not be a problem as the only time that we explicitly
look at the logs is when the bots are failing, or when we want to save
all output for plotting.
BUG=webrtc:8448
Change-Id: Ia5feab5220d047440d15cddb7d3fbca1c5a4aaf5
Reviewed-on: https://webrtc-review.googlesource.com/16140
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20461}
Always use the packetization formely known as kEqualSize.
The RTPFragementation header is ignored, which is no change
in behaviour, since the caller previously always passed null.
Bug: webrtc:6471
Change-Id: Id9e2f985280c2ee8cc33fcf0e5c1fc3ee61c1aff
Reviewed-on: https://webrtc-review.googlesource.com/15222
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20459}
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}
Summary:
Adds AudioTrackStartErrorCode to separate different types of error
codes in combination with StartPlayout.
Harmonizes WebRtcAudioRecord and WebRtcAudioTrack implementations
to ensure that init/start/stop is performed identically.
Adds thread checking in WebRtcAudio track.
Bug: webrtc:8453
Change-Id: Ic913e888ff9493c9cc748a7b4dae43eb6b37fa85
Reviewed-on: https://webrtc-review.googlesource.com/15481
Commit-Queue: Henrik Andreassson <henrika@webrtc.org>
Reviewed-by: Alex Glaznev <glaznev@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20448}
This CL lowers the threshold for delay change detection in AEC3.
This makes the delay decisions more stable.
TBR=gustaf@webrtc.org
Bug: chromium:778396,webrtc:8451
Change-Id: I8b015455399d696172b7c0beb033caf508f426e9
Reviewed-on: https://webrtc-review.googlesource.com/15541
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20433}
{root_x, root_y} should be used to report the absolute cursor position in
MouseCursorMonitorX11.
Bug: chromium:778035
Change-Id: I421005d52786a57da8e8c3901bdf4afa2843ff24
Reviewed-on: https://webrtc-review.googlesource.com/15680
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#20432}
Some death tests for AEC3 cause memory leaks on trybots. This CL
temporarily disables BlockProcessor.VerifyRenderBlockSizeCheck.
Bug: webrtc:8449,webrtc:6985
Change-Id: I2900a73f7c7d5bf0e8b58a20f9a40bd5d654629a
Reviewed-on: https://webrtc-review.googlesource.com/15500
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20431}
This CL replaces 5 left shifts where the shifted value may be
negative. The shifts are replaced with equivalent multiplications.
Bug: chromium:777231, chromium:776719, chromium:776624, chromium:776286
Change-Id: Ifb27d5506eac779e60f238432bdf9e4bc5b2da4c
Reviewed-on: https://webrtc-review.googlesource.com/14800
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20430}
We've done this previously with the other audio encoders, but Opus had
to wait until all external users had been updated.
BUG=webrtc:7847
Change-Id: I70422d7b6c715f32a43bee88febcf6b6155e18b3
Reviewed-on: https://webrtc-review.googlesource.com/8000
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20424}
Add fine grained dropped video frames counters on sending side
4 new counters added to SendStatisticsProxy and reported to UMA and logs.
Bug: webrtc:8355
Change-Id: I1f9bdfea9cbf17cf38b3cb2f55d406ffdb06614f
Reviewed-on: https://webrtc-review.googlesource.com/14580
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20421}
Now decision between using SimulcastEncoderAdapter and using VP8 encoder
is postponed before codec is initialized for VP8 internal codecs. This is done
be new VP8EncoderProxy class. New error code for codec initialization is used
to signal that simulcast parameters are not supported.
Bug: webrtc:7925
Change-Id: I3a82c21bf5dfaaa7fa25350986830523f02c39d8
Reviewed-on: https://webrtc-review.googlesource.com/13980
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20419}
This CL balances the NLP tradeoff in AEC3 to properly handle the cases
when the echo path is so strong that it saturates the echo and when it
is so weak that the echo is very low compared to nearend.
Bug: webrtc:8411, webrtc:8412, chromium:775653
Change-Id: I5aff74dfadd51cac1ce71b1cb935d68a5be6918d
Reviewed-on: https://webrtc-review.googlesource.com/14120
Commit-Queue: Per Åhgren <peah@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20418}
RtcpTransceiver name reserved for thread-safe version that planned to
be wrapper of the RtcpTransceiverImpl
BUG=webrtc:8239
Change-Id: If8a3092eb1b8e4175e3efd23b52e1043cdabf19f
Reviewed-on: https://webrtc-review.googlesource.com/7920
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20414}
This CL adds an EncodedFrameChecker interface which can be used by users
of the VideoProcessor to inject customized per-frame checks to the
encoding/decoding pipeline. This currently has two uses:
- Verifying that the QP parser works correctly for VP8 and VP9, by comparing the
parsed QP to that produced by libvpx.
- Verifying that our H.264 encoders always produce SPS/PPS/IDR in tandem.
TESTED=Galaxy S8, Pixel 2 XL, iPhone 7.
BUG=webrtc:8423
Change-Id: Ic3e401546e239a9ffaf2ed2907689cebb1127805
Reviewed-on: https://webrtc-review.googlesource.com/14559
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20409}
This is protected behind a field trial, for controlled rollout.
TESTED=MediaCodec (Qualcomm + Exynos) and VideoToolbox senders.
BUG=webrtc:8423
Change-Id: Ibccefb3d374e4a44461d33e77eff754d8d752666
Reviewed-on: https://webrtc-review.googlesource.com/13863
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20408}
In the legacy C part of AGC, an audio level 'cur_level' is represented as
(1+frac) * 2^(31 - zeros)
The 'zeros' exponent part is used for looking up a gain value in a
table, and 'frac' is used for interpolating between two nearby table
values. Code snippet below:
zeros = WebRtcSpl_NormU32((uint32_t)cur_level);
tmp32 = (cur_level << zeros) & 0x7FFFFFFF;
frac = (int16_t)(tmp32 >> 19);
In the second line, 'cur_level' is shifted upwards so that the leading
bit is '1', after which the leading bit is cleared. The result is
'frac' in Q31.
The compiler type of 'cur_level << zeros' is 'int32_t'. This is a
fuzzer error 'Left shift cannot be represented in int32_t',
because the leading sign bit is 1. This CL changes the compiler type to
uint32_t.
Bug: chromium:776286
Change-Id: Ie29552b75e690057bd76fc88e747841b531e3802
Reviewed-on: https://webrtc-review.googlesource.com/14841
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20405}
Alternative VAD based on the existing one in WebRTC.
It is used to extract VAD annotations in APM-QA.
TBR=
Bug: webrtc:7494
Change-Id: I6af412742f804631ad4f3ba3ccf71a30d74de984
Reviewed-on: https://webrtc-review.googlesource.com/14553
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20404}
This CL includes the patch from oprypin@webrtc.org, which is also applied
to the MIPS code (also affected), and the protobuf for ApmTest.Process
(audio_processing_unittest.cc), which used when WEBRTC_AUDIOPROC_FIXED_PROFILE
is set.
This change has been tested on mobile platforms.
Bug: webrtc:8200
Change-Id: Ic50a5ab57c16551397756b1fb473e1067b8e7ece
Reviewed-on: https://webrtc-review.googlesource.com/10811
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20394}
The 'parametricNoise' field is never initialized in the
'WebRtcNs_InitCore' function that initializes a 'NoiseSuppressionC'
struct.
This leads to use of unititialized value, which may affect the audio
output and result of the noise suppressor.
The issue was found by the Chrome fuzzer:
https://clusterfuzz.com/v2/testcase-detail/4749034115039232
Bug: chromium:776673
Change-Id: I1c3fd80cff178f2d5917064ad07f88c7b9a29e7d
Reviewed-on: https://webrtc-review.googlesource.com/14556
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20388}