This change adds constructors for all DesktopFrame inheritances to pass in
DesktopRect instead of DesktopSize.
Because the newly added constructors and DesktopFrame::top_left() function are
not actively used, this change should have no logic impact.
Bug: webrtc:7950
Change-Id: If78187865c991211dfc28d3723403ce6e6fe0290
Reviewed-on: https://chromium-review.googlesource.com/590508
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19204}
If the input file name matches the "<name>-<params>.wav" pattern and <name> is a valid signal creator name, then <params> is parsed and used to create a new signal which is written in place of the missing file.
This CL only adds a pure tone creator. For instance, 'pure_tone-440_1000.wav' creates a pure tone at 440 Hz, 1000 ms long, mono, sampled at 48kHz.
This feature can be used to simplify the creation of common probe signals - no need to add external .wav files. Also, it will be exploited by a coming CL that adds a new evaluation score requiring the input signal to be a pure tone.
Additional minor fixes:
- apm_quality_assessment_unittest.py: command line arguments replaced to avoid that those for the unit test framework are passed
- simulation_unittest.py: invalid evaluation score name replaced
BUG=webrtc:7218
Review-Url: https://codereview.webrtc.org/2989823002
Cr-Commit-Position: refs/heads/master@{#19200}
Also change the loss rates to 5% and 1%, instead of 50%.
BUG=webrtc:5654
Review-Url: https://codereview.webrtc.org/2950313002
Cr-Commit-Position: refs/heads/master@{#19199}
- render stream support, required to assess AEC;
- echo path simulation and input mixer, to generate echo and add it to the
speech signal;
- export engine: improved UI, switch to Pandas DataFrames;
- minor design improvements and needed adaptions.
BUG=webrtc:7218
Review-Url: https://codereview.webrtc.org/2813883002
Cr-Commit-Position: refs/heads/master@{#19198}
rtcp_sender accepts nullptr as indication statistics shouldn't be used,
Other uses of NullReceiveStatistcs were already deleted.
BUG=webrtc:8016
Review-Url: https://codereview.webrtc.org/2988143002
Cr-Commit-Position: refs/heads/master@{#19197}
I am not sure memcmp is the right tool to compare two D3D11_TEXTURE2D_DESC
instances. So the staging texture may be recreated for each frame, which hurts
the performance.
Bug: webrtc:8046
Change-Id: I60a94f468599b23dec168de55c9bc8c787ab9b7d
Reviewed-on: https://chromium-review.googlesource.com/592088
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19193}
resolution_tracker_ should always represent the size of the DxgiFrame::frame_.
So it should not be actively reset.
Bug: webrtc:8045
Change-Id: I0b4d70ea69e4c2febfa369de50b555287c41fd99
Reviewed-on: https://chromium-review.googlesource.com/592248
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19192}
DxgiTexture now does not rely on a fixed resolution, so the ResolutionTracker
can be removed from it.
This change does not have logic impact, the upper component
(DxgiDuplicatorController) always reinitializes itself once the screen
resolution changes. And this check is also a legacy one: DxgiFrame now can take
care of the resolution change itself without needing to return false in
DxgiTexture.
Bug: webrtc:8044
Change-Id: I3ad9ce175f2bc9bf03b0a3985efa2681aa55d14b
Reviewed-on: https://chromium-review.googlesource.com/592247
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19191}
ResolutionChangeDetector now does not update its internal state. There is no
impact because Reset() is always actively called.
So this change renames ResolutionChangeDetector to ResolutionTracker, and rename
the IsChanged() function into SetResolution(), which returns true if a
replacement happened. Internally it always records the latest DesktopSize.
Customers of this class can still use SetResolution() function to check whether
a DesktopSize change happened.
Bug: webrtc:8038
Change-Id: I6d25f3dd2d0567219a82b6688bf3e08560c8b0af
Reviewed-on: https://chromium-review.googlesource.com/587405
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19184}
Chromium has adopted Opus 1.2.1 which allows 120ms frame encoding. It
is time to turn on the switch for building WebRTC with this feature.
Bug: webrtc:8042
TBR: kjellander@webrtc.org
Change-Id: I644b47cfb56f835695ef1263741cda6e3ee3d862
Reviewed-on: https://chromium-review.googlesource.com/586725
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Felicia Lim <flim@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19173}
CreateCroppedDesktopFrame() does not need to create a CroppedDesktopFrame if the
size won't change.
Bug: webrtc:8039
Change-Id: Ie6789a4b473b69bced94c4a25a68f1da6bb3510e
Reviewed-on: https://chromium-review.googlesource.com/587808
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19163}
This change returns translated position in the newly added overload
MouseCursorMonitor::Callback::OnMouseCursorPosition(DesktopVector) callback.
Meanwhile it also reduces the duplicate logic in Windows capturer
implementations. So except for the deprecated logic in MouseCursorMonitorWin,
all GetSystemMetrics() function calls are merged into GetScreenRect(),
GetFullscreenRect() and GetFullscreenTopLeft() functions.
Bug: webrtc:7950
Change-Id: Ic2a85a80b6947367bdd20d8f96f11e0f5c269006
Reviewed-on: https://chromium-review.googlesource.com/581951
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Reviewed-by: Zijie He <zijiehe@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19157}
There is already an Unwrapper in webrtc/modules/include/module_common_types.h,
but we reimplemented it in sequence_number_util.h for a few reasons:
- Such a class belongs in sequence_number_util.h.
- It is a cleaner implementation since we can use the rest of
sequence_number_util.h functionality.
- You can choose at which number the unwrapped sequence should start,
which is used to avoid the edge case when a backward wrap can happen
as the first few numbers are unwrapped.
- This unwrapper can unwrap numbers that does not wrap 8/16/32 bits.
BUG=None
Review-Url: https://codereview.webrtc.org/2977603002
Cr-Commit-Position: refs/heads/master@{#19154}
Compose them while creating sr/rr instead of presaving in temporary
member variable
BUG=webrtc:5565, webrtc:8016
Review-Url: https://codereview.webrtc.org/2979413002
Cr-Commit-Position: refs/heads/master@{#19138}
The critical-section's scope can be shrunk (we can hold the lock for a shorter time).
BUG=None
Review-Url: https://codereview.webrtc.org/2984973002
Cr-Commit-Position: refs/heads/master@{#19137}
use (already supported) nullptr as indication for no statistics
BUG=webrtc:8016
Review-Url: https://codereview.webrtc.org/2983363002
Cr-Commit-Position: refs/heads/master@{#19129}
A multiplication result doesn't fit in an int32_t type. This change
rewrites the code to avoid the overflowing multiplication.
Here y[0], y[1] are int16 numbers containing the (truncated) topmost
18 and (scaled Q2 to use the full int16) the least significant 13
bits of a 32-bit value. The change makes y[1] to be calculated
directly instead of using y[0] as an intermediate value.
TESTED=this change passes the bit exactness tests, and has also been
running on the audio_processing fuzzer with a CHECK comparing the
old and new value.
Bug: chromium:747202
Change-Id: Iafc69eb7391d494afdadf65f5b7f399a57bbe9a8
Reviewed-on: https://chromium-review.googlesource.com/580907
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19120}
These tests will be reenabled and updated after Opus has been updated in
Chromium and rolled into WebRTC.
BUG=737323, webrtc:8024
Review-Url: https://codereview.webrtc.org/2963673002
Cr-Commit-Position: refs/heads/master@{#19118}
Current implementation requires MouseCursorMonitor to understand the SourceId of
a DesktopCapturer implementation. But SourceId has different meanings across
various DesktopCapturer implementations. So this change decouples the
MouseCursorMonitor from DesktopCapturer, i.e. it does not need to know
DesktopCapturer anymore, instead it always returns the absolute position of the
mouse cursor. In DesktopAndCursorComposer, it can use the newly added
DesktopFrame::top_left() to decide the relative position of mouse cursor and the
DesktopFrame.
Bug: webrtc:7950
Change-Id: Idfbde5cb0f79ff0acf4ad1e9a0ac5126f1bb2e98
Reviewed-on: https://chromium-review.googlesource.com/575315
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19115}
Removes keying on pattern_idx inside TemporalLayers implementations for
several properties that are different between screencast temporal layers
and normal/default temporal layers.
This is a step towards sharing PopulateCodecSpecific between the layer
patterns and code deduplication to longer term be able to separate the
packetizer step from encoder settings, so that temporal patterns can be
used for asynchronous hardware encoders where there may be outstanding
frames.
BUG=chromium:702017, webrtc:7349
R=brandtr@webrtc.org
Review-Url: https://codereview.webrtc.org/2924993002
Cr-Commit-Position: refs/heads/master@{#19097}
All downstream code have been updated to the new location.
In PRESUBMIT.py:
* Remove webrtc/rtc_base from CPP_BLACKLIST
* Add webrtc/rtc_base to LEGACY_API_DIRS
Fix some duplicated paths in
webrtc/modules/audio_processing/test/conversational_speech/BUILD.gn
BUG=webrtc:7634
TBR=kwiberg@webrtc.org
Review-Url: https://codereview.webrtc.org/2976293002
Cr-Commit-Position: refs/heads/master@{#19094}
Patch set 1:
Run a script to replace occurrences of WEBRTC_TRACE logging with the new style, on webrtc/modules/audio_device/linux/audio_device_alsa_linux.cc.
Patch set 2:
- Manually fix log lines not handled by the script
- Adjust local macros that use WEBRTC_TRACE
- Adjust some lines to conform with code style
- Update the included headers
- Remove the now unused object ID variables
BUG=webrtc:5118
Review-Url: https://codereview.webrtc.org/2985443002
Cr-Commit-Position: refs/heads/master@{#19088}
This change ensures DirectX capturer to return the same ScreenId as GDI capturer
for each monitor. So MouseCursoeMonitor can work correctly with the DirectX
capturer.
This is a temporary fix of webrtc:7950.
Bug: webrtc:7950
Change-Id: Icd3f40556701811c21c773a39260a74db43979f3
Reviewed-on: https://chromium-review.googlesource.com/571101
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19079}
The variable 'tmp_int32' in LowCutFilter::BiqueadFilter::Process can
be negative. This replaces a left shift with multiplication.
Bug: chromium:735593, chromium:743330
Change-Id: Idec7fbcc17495f7241eb4bea44920585740e3695
Reviewed-on: https://chromium-review.googlesource.com/575136
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19074}
Run a script to replace occurrences of WEBRTC_TRACE logging with the new
style, on webrtc/modules/audio_device/linux/audio_device_alsa_linux.cc.
Patch set 2:
- Manually fix log lines not handled by the script
- Adjust some lines, to conform with code style
- Update the included headers
- Remove the now unused object ID variables
- - This explains why there's so many files edited
BUG=webrtc:5118
TBR=henrika@webrtc.org
Review-Url: https://codereview.webrtc.org/2978083002
Cr-Commit-Position: refs/heads/master@{#19071}