Commit Graph

5837 Commits

Author SHA1 Message Date
516711cde9 Turning on Opus 120ms frame length switch.
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}
2017-07-27 17:23:35 +00:00
81f1da3dd0 Adding missing resources to audio_codec_speed_tests.
BUG=none

Review-Url: https://codereview.webrtc.org/2727973004
Cr-Commit-Position: refs/heads/master@{#19168}
2017-07-27 12:49:57 +00:00
f5f793c2ed Take smaller interface for RtpRtcp::Configuration::receive_statistics
BUG=webrtc:8016

Review-Url: https://codereview.webrtc.org/2988763002
Cr-Commit-Position: refs/heads/master@{#19167}
2017-07-27 11:44:18 +00:00
77415f561d Revert of Disable SeqNumUnwrapper death tests to avoid breaking downstream builds. (patchset #1 id:1 of https://codereview.chromium.org/2985083002/ )
Reason for revert:
Creating revert to fix these tests.

Original issue's description:
> Disable SeqNumUnwrapper death tests to avoid breaking downstream builds.
>
> BUG=None
> TBR=stefan@webrtc.org
> NOTRY=true
>
> Review-Url: https://codereview.webrtc.org/2985083002
> Cr-Commit-Position: refs/heads/master@{#19155}
> Committed: 8e245561f2

TBR=stefan@webrtc.org
BUG=None

Review-Url: https://codereview.webrtc.org/2992643002
Cr-Commit-Position: refs/heads/master@{#19166}
2017-07-27 11:37:18 +00:00
adb58b88a1 Renable some Opus tests after Opus 1.2.1 update.
Bug: webrtc:8024
Change-Id: Ia7b9de70ef85e4ac32a7b84088b79cc6a260cc69
Reviewed-on: https://chromium-review.googlesource.com/586867
Reviewed-by: Felicia Lim <flim@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19164}
2017-07-27 07:40:14 +00:00
9c0914f938 Do not crop DesktopFrame if the size won't change
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}
2017-07-27 01:45:19 +00:00
ecf3d53088 Add histogram for FallbackDesktopCapturerWrapper and BlankDetectorDesktopCapturerWrapper
We should record the number of fallbacks and blank frames.

Bug: webrtc:8040
Change-Id: I92e7b7d7b4664fee6d6bd636609e80e532aa4bd4
Reviewed-on: https://chromium-review.googlesource.com/587688
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Zijie He <zijiehe@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19161}
2017-07-27 00:55:59 +00:00
58f1725ff1 Add gn dependency between ana_debug_dump_proto and ana_config_proto.
BUG=chromium:746106

Review-Url: https://codereview.webrtc.org/2985853002
Cr-Commit-Position: refs/heads/master@{#19158}
2017-07-26 21:49:20 +00:00
74544f9d1b Return translated position in MouseCursorMonitor
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}
2017-07-26 20:38:14 +00:00
8e245561f2 Disable SeqNumUnwrapper death tests to avoid breaking downstream builds.
BUG=None
TBR=stefan@webrtc.org
NOTRY=true

Review-Url: https://codereview.webrtc.org/2985083002
Cr-Commit-Position: refs/heads/master@{#19155}
2017-07-26 15:43:53 +00:00
7956c0f2f6 Implemented a new sequence number unwrapper in sequence_number_util.h.
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}
2017-07-26 14:48:15 +00:00
d1d6c5a31b Add jamiewalch to OWNERS.
BUG=None

Review-Url: https://codereview.webrtc.org/2989653002
Cr-Commit-Position: refs/heads/master@{#19142}
2017-07-25 21:37:07 +00:00
96b69bdbee Refactor composing report blocks for rtcp Sender/Receiver reports.
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}
2017-07-25 16:15:14 +00:00
7fb11d7376 Shrink critical-section scope in ReceiveStatisticsImpl::GetActiveStatisticians()
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}
2017-07-25 15:25:23 +00:00
6209dcdeb1 Add SetReportBlocks to rtcp Sender/Receive Report classes.
BUG=None

Review-Url: https://codereview.webrtc.org/2991623002
Cr-Commit-Position: refs/heads/master@{#19136}
2017-07-25 15:07:13 +00:00
83377270dc Remove deprecated RtpRtcp::SetAudioPacketSize
was deprecated in https://codereview.webrtc.org/2545753002

BUG=webrtc:5806

Review-Url: https://codereview.webrtc.org/2986793002
Cr-Commit-Position: refs/heads/master@{#19134}
2017-07-25 14:46:54 +00:00
d3f3c3497b Remove NullObjectReceiveStatistics() in rtp_rtcp module
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}
2017-07-25 11:20:12 +00:00
a04d9c31a0 Remove RtpRtcp::RemoteRTCPStat(RTCPSenderInfo*) as unused
BUG=webrtc:5565

Review-Url: https://codereview.webrtc.org/2986543002
Cr-Commit-Position: refs/heads/master@{#19128}
2017-07-25 11:03:39 +00:00
65e1f9476a Throttle log message in FrameBuffer.
BUG=webrtc:7551

Review-Url: https://codereview.webrtc.org/2987673002
Cr-Commit-Position: refs/heads/master@{#19123}
2017-07-24 15:26:53 +00:00
e029d99f19 Integer overflow bug in low_cut_filter.
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}
2017-07-24 11:03:46 +00:00
bf8202185c Disable some Opus tests pending an update
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}
2017-07-24 09:17:38 +00:00
48e4d6d609 Add zijiehe@chromium.org as OWNERS in WebRTC DesktopCapturer related logic
Bug: chromium:747738
Change-Id: Iff83e89862ee190d0442cb3463c1dea0b87eb4b4
Reviewed-on: https://chromium-review.googlesource.com/582028
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19116}
2017-07-23 21:37:59 +00:00
cd66a771ed Create new constructors and fields to support a better mouse cursor monitor
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}
2017-07-21 22:13:35 +00:00
d14d9f7414 Use array declaration for extension URIs.
Allows using sizeof() on the class constants and reduces space usage by
a pointer.

Bug: None
Change-Id: Ie919b13094903d50bdadc92b23a5aa5b6cc100ec
Reviewed-on: https://chromium-review.googlesource.com/581878
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19113}
2017-07-21 19:36:14 +00:00
a3251dd83f Add parsing/serializing for MID RTP header extension.
This is the first in a series of CLs to add support for media
identification as part of unified plan SDP.

Bug: webrtc:4050
Change-Id: I0eb5639d240a9a1412c2b047a33d5112e4901f26
Reviewed-on: https://chromium-review.googlesource.com/576374
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19111}
2017-07-21 17:33:25 +00:00
3296256f0e Fixing lint issue
NOTRY=TRUE
BUG=NONE

Review-Url: https://codereview.webrtc.org/2988533002
Cr-Commit-Position: refs/heads/master@{#19110}
2017-07-21 14:28:41 +00:00
cfccdae57e Adds WebRtcAudioTrack.setAudioTrackUsageAttribute API
TBR=
BUG=b/62058118

Review-Url: https://codereview.webrtc.org/2979423002
Cr-Commit-Position: refs/heads/master@{#19109}
2017-07-21 13:16:02 +00:00
e29117edbb Modifies closing of AudioTrack resource on Android
TBR=

BUG=b/63161630

Review-Url: https://codereview.webrtc.org/2987583002
Cr-Commit-Position: refs/heads/master@{#19108}
2017-07-21 10:51:42 +00:00
12d30840d8 Correct the calculation of discard rate.
Bug: webrtc:7903
Change-Id: Ib5d6fd882a994dd542b616e5fe1c75710346dd31
Reviewed-on: https://chromium-review.googlesource.com/575057
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19101}
2017-07-20 09:15:46 +00:00
1777c5fec5 Move temporal-layer properties to FrameConfig.
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}
2017-07-20 00:04:02 +00:00
f6a861ab6c Remove remains of webrtc/base
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}
2017-07-19 17:40:47 +00:00
b4aa4eb06f Replace WEBRTC_TRACE logging in modules/audio_device/.. mac/ win/
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}
2017-07-19 08:12:36 +00:00
3e45cb577e Mapping screen id from DirectX capturer to GDI capturer
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}
2017-07-18 17:26:58 +00:00
b5c1607e92 UBSan fuzzer bug in LowCutFilter::BiqueadFilter::Process
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}
2017-07-18 12:23:08 +00:00
43a85f0343 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 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}
2017-07-18 11:12:29 +00:00
157cbbd3a7 Added implementation of three classes:
1) MaxBandwidthFilter
2) MinRttFilter
3) CongestionWindow

Added unit-tests for those classes.

BUG=webrtc:7713

Review-Url: https://codereview.webrtc.org/2966403002
Cr-Commit-Position: refs/heads/master@{#19067}
2017-07-18 09:50:22 +00:00
44967e41c5 Expose IsCurrentSessionSupported() from ScreenCapturerWinDirectx
IsCurrentSessionSupported() is useful to decide whether Windows version should
be used to evaluate the capability of DirectX capturer on the system.

Bug: 741926
Change-Id: Iaaf6011a9e464d7cf5e7dda097007778c73953e0
Reviewed-on: https://chromium-review.googlesource.com/571378
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19060}
2017-07-17 18:58:03 +00:00
9d11764344 Reimplemeted "Test and fix for huge bwe drop after alr state"
BUG=webrtc:7746

Test and fix for huge bwe drop after alr state.

BUG=webrtc:7746

Review-Url: https://codereview.webrtc.org/2931873002
Cr-Commit-Position: refs/heads/master@{#18692}
Committed: 37aa8ba616

patch from issue 2931873002 at patchset 320001 (http://crrev.com/2931873002#ps320001)

Review-Url: https://codereview.webrtc.org/2970653004
Cr-Commit-Position: refs/heads/master@{#19055}
2017-07-17 08:41:41 +00:00
058aa719ff Fix incorrect DCHECK in generic_decoder.cc.
When ownership is not external, the decoder pointer should be valid.

BUG=b/63658384
TBR=magjed@webrtc.org

Review-Url: https://codereview.webrtc.org/2975383002
Cr-Commit-Position: refs/heads/master@{#19041}
2017-07-15 18:33:35 +00:00
9b1367f233 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, remove unused header
and variable.

I would like to do this will the following files, too:
webrtc/modules/audio_device/..
.../linux/audio_device_alsa_linux.cc
.../linux/audio_device_pulse_linux.cc
.../linux/audio_mixer_manager_alsa_linux.cc
.../linux/audio_mixer_manager_pulse_linux.cc
.../linux/latebindingsymboltable_linux.cc
.../mac/audio_device_mac.cc
.../mac/audio_mixer_manager_mac.cc
.../win/audio_device_core_win.cc

BUG=webrtc:5118

Review-Url: https://codereview.webrtc.org/2978953003
Cr-Commit-Position: refs/heads/master@{#19019}
2017-07-14 12:22:33 +00:00
9bd1d66995 RtpFrameReferenceFinder VP8 reference calculation fix.
BUG=webrtc:7768

Review-Url: https://codereview.webrtc.org/2980943003
Cr-Commit-Position: refs/heads/master@{#19018}
2017-07-14 11:52:01 +00:00
4ff4208c21 Output DeviceName from various windows ScreenCapturer related implementations
Both DXGI_OUTPUT_DESC and DISPLAY_DEVICE contain the DeviceName, which may be
able to map a DirectX screen id with the GDI screen id.
So this change exports the field from both DirectX and GDI implementations.

BUG=webrtc:7950

Review-Url: https://codereview.webrtc.org/2971393002
Cr-Commit-Position: refs/heads/master@{#19010}
2017-07-13 23:05:24 +00:00
abcf112ae0 Adds sanity check for sample rate on iOS
BUG=b/62909493

Review-Url: https://codereview.webrtc.org/2978913002
Cr-Commit-Position: refs/heads/master@{#19000}
2017-07-13 11:42:50 +00:00
f03ea04176 Fix potential incorrect sync flags used with screenshare TL stream.
BUG=webrtc:7980

Review-Url: https://codereview.webrtc.org/2978743002
Cr-Commit-Position: refs/heads/master@{#18999}
2017-07-13 10:53:51 +00:00
67e438ffe5 Fix http://crbug.com/741252
The root cause is when a DxgiContext is reseted, it has not been correctly
cleared from DxgiOutputDuplicator. So during next CaptureFrame() function call,
DxgiOutputDuplicator will spread the context change to a deleted instance.

BUG=741252

Review-Url: https://codereview.webrtc.org/2975103002
Cr-Commit-Position: refs/heads/master@{#18992}
2017-07-13 00:29:36 +00:00
23173a372b vp9: Use 2 threads for 360p.
BUG=None

Review-Url: https://codereview.webrtc.org/2977843002
Cr-Commit-Position: refs/heads/master@{#18990}
2017-07-12 23:11:09 +00:00
822e593437 vp9: Turn off FRAME_PARALLEL_DECODING.
This is removed from libvpx.

BUG=None

Review-Url: https://codereview.webrtc.org/2975113002
Cr-Commit-Position: refs/heads/master@{#18989}
2017-07-12 23:09:58 +00:00
9c6430f950 Reland "Adding ANA config event to debug dump."
A revert of the CL was made in https://chromium-review.googlesource.com/c/559429/

Now upstream conflicts have been solved, and this is ready to reland.

TBR=ossu@webrtc.org, tschumim@webrtc.org

Bug: webrtc:7854
Change-Id: Idd08f28cf26036ad91eb7b7f73b2466dd9300f76
Reviewed-on: https://chromium-review.googlesource.com/565507
Commit-Queue: Minyue Li <minyue@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18985}
2017-07-12 12:51:37 +00:00
f91b0b49f9 Set memory to all-zero floats in ExtractExtendedBlock in AEC2 if buffer is empty.
This avoids a memcopy call which may corrupt audio handling and, in rare cases, crash WebRTC with a buffer over-read.

BUG=webrtc:7845

Review-Url: https://codereview.webrtc.org/2980723002
Cr-Commit-Position: refs/heads/master@{#18984}
2017-07-12 08:43:14 +00:00
10b0d03673 Removes internal buffer memory check in AEC module.
The check triggered in 30 / 1000 cases of running PeerConnectionIntegrationTest.CallTransferredForCaller locally, far more often than expected.

It will soon be replaced by more graceful handling.

BUG=webrtc:7845

Review-Url: https://codereview.webrtc.org/2975043002
Cr-Commit-Position: refs/heads/master@{#18983}
2017-07-12 07:29:36 +00:00