This new unit test verifies the parameter fields (not the audio data
itself) written to the AudioFrame output by AcmReceiver::GetAudio.
Also corrected a few comments reflecting recent changes in the code.
BUG=webrtc:5669
Review URL: https://codereview.webrtc.org/1859953002
Cr-Commit-Position: refs/heads/master@{#12253}
P2PTestConductor currently use the current thread both as a signaling thread and a worker thread. Although convenient while debugging, it can also hide real bugs. An example is https://codereview.webrtc.org/1766653002/#ps420001 where the worker thread is deadlocked in the track proxy due to that the worker thread waits for the signaling thread but the proxy in turns invokes the worker thread..... That bug was only discovered on Android. I suggest we let the P2PTestConductor use a separate thread as a worker thread to better cover how PeerConnections are used in reality.
BUG=webrtc:5426
Review URL: https://codereview.webrtc.org/1859933002
Cr-Commit-Position: refs/heads/master@{#12252}
Reason for revert:
Because of down-stream dependencies, this CL needs to be reverted.
The dependencies will be resolved and then the CL will be relanded.
Original issue's description:
> Revert "Revert of Moved ring-buffer related files from common_audio to audio_processing (patchset #8 id:150001 of https://codereview.webrtc.org/1846903004/ )"
>
> This reverts commit c54aad6ae07fe2a44a65be403386bd7d7d865e5b.
>
> BUG=webrtc:5724
> NOPRESUBMIT=true
>
> Committed: https://crrev.com/8864fe5e08f8d8711612526dee9a812adfcd3be1
> Cr-Commit-Position: refs/heads/master@{#12247}
TBR=henrik.lundin@webrtc.org,ivoc@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5724
Review URL: https://codereview.webrtc.org/1855393004
Cr-Commit-Position: refs/heads/master@{#12248}
Unit tests are updated to test that screen share is not adapted but it does not change the VideoSinkWants in WebRtcVideoEngine2::SendStream due to a switch to screen share. The reason is that it works anyway and sprang is looking into how to do adaptation based on frame rate as well and use the adapter for screen share as well.
BUG=webrtc:5688, webrtc:5426
R=nisse@webrtc.org, pbos@webrtc.org, sprang@google.com
Review URL: https://codereview.webrtc.org/1836043004 .
Cr-Commit-Position: refs/heads/master@{#12240}
* Remove all source exclusions since they make the file very hard to
read and heavily increases the risk for mistakes.
* Don't compile the openssl* sources if use_openssl==0.
* Move platform specific sources into conditional includes to make it
easier to verify a 1:1 mapping with BUILD.gn (since GN doesn't support
automatic detection of platform specific sources based on filenames).
* Add missing sources for the GN build.
* Reorder some blocks to make GYP vs GN mapping match.
BUG=webrtc:4256
R=perkj@webrtc.org, torbjorng@webrtc.org
Review URL: https://codereview.webrtc.org/1859803002 .
Cr-Commit-Position: refs/heads/master@{#12235}
If stopCapture is called shortly after startCapture, and the first startCaptureOnCameraThread failed, but still hasn't retried 3 times, stopCaptureOnCameraThread will be called in a state where the camera is not initialized. This CL adds null checks in stopCaptureOnCameraThread to avoid crashes.
BUG=b/27939867
Review URL: https://codereview.webrtc.org/1854103002
Cr-Commit-Position: refs/heads/master@{#12234}
Reason for revert:
This CL caused a google3 breakage due to dependencies in Google3.
I will fix that, and reland.
Original issue's description:
> Moved ring-buffer related files from common_audio to audio_processing
>
> BUG=webrtc:5724
> NOPRESUBMIT=true
>
> Committed: https://crrev.com/711ccc8d96490f58cc3d7fd9207c19d4d881d4dc
> Cr-Commit-Position: refs/heads/master@{#12227}
TBR=ivoc@webrtc.org,henrik.lundin@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5724
Review URL: https://codereview.webrtc.org/1856323002
Cr-Commit-Position: refs/heads/master@{#12232}
Reason for revert:
This breaks remoting_unittests on Windows in Chromium:
[5116:2536:0404/012329:5457156:ERROR:webrtcsession.cc(1388)] ConnectDataChannel called when data_channel_ is NULL.
[5116:2536:0404/012329:5457187:ERROR:opensslidentity.cc(154)] Generating certificate: error:0c000071:ASN.1 encoding routines:OPENSSL_internal:ERROR_GETTING_TIME
[5116:2536:0404/012329:5457218:ERROR:opensslidentity.cc(154)] Generating certificate: error:0c000071:ASN.1 encoding routines:OPENSSL_internal:ERROR_GETTING_TIME
[5116:2536:0404/012329:5457218:WARNING:dtlsidentitystore.cc(221)] Failed to generate DTLS identity.
[
Original issue's description:
> Set defines for Chromium build.
>
> Copy the defines from the target_defaults section of Chromium's
> src/third_party/libjingle.gyp into our webrtc/build/common.gypi
> in order to ensure the same defines are used for the Chromium build
> when removing the source listings in src/third_party/libjingle.gyp.
> With this CL landed, it should be possible to replace them with
> dependencies on:
> * webrtc/api/api.gyp:libjingle_peerconnections
> * webrtc/media/media.gyp:rtc_media
> * webrtc/pc/pc.gyp:rtc_pc
> * webrtc/pp2/p2p.gyp:rtc_p2p
> * webrtc/libjingle/xmpp/xmpp.gyp:rtc_xmpp
>
> Not ported (Windows specific):
> * Precompiled headers (build/win_precompile.gypi):
> since it only seems to offer a compile speedup. Will be landed
> for all of WebRTC in separate CL.
>
> BUG=webrtc:4256
> NOTRY=True
> R=perkj@webrtc.org, tommi@webrtc.org
>
> Committed: 9266cc0668TBR=perkj@webrtc.org,tommi@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:4256
Review URL: https://codereview.webrtc.org/1861603002
Cr-Commit-Position: refs/heads/master@{#12229}
- Makes vt h264 decoder output CoreVideoFrameBuffer
- Makes iOS renderer convert frame buffer if it is not i420
BUG=
Review URL: https://codereview.webrtc.org/1853503003
Cr-Commit-Position: refs/heads/master@{#12224}
Java objects in the API should be allowed to be null in some cases.
Specifically, a null value for maxBitrateBps in RtpParameters.java
has a specific meaning and doesn't imply an error has occurred.
NOTRY=True
Review URL: https://codereview.webrtc.org/1853523002
Cr-Commit-Position: refs/heads/master@{#12221}
Permits going from HD to QVGA in 6 seconds instead of 10. Also adds
windows for going up quickly in the beginning of a call (before any
downscaling happens due to bad quality).
BUG=webrtc:5678
R=glaznev@webrtc.org, stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1830593003 .
Cr-Commit-Position: refs/heads/master@{#12219}
Copy the defines from the target_defaults section of Chromium's
src/third_party/libjingle.gyp into our webrtc/build/common.gypi
in order to ensure the same defines are used for the Chromium build
when removing the source listings in src/third_party/libjingle.gyp.
With this CL landed, it should be possible to replace them with
dependencies on:
* webrtc/api/api.gyp:libjingle_peerconnections
* webrtc/media/media.gyp:rtc_media
* webrtc/pc/pc.gyp:rtc_pc
* webrtc/pp2/p2p.gyp:rtc_p2p
* webrtc/libjingle/xmpp/xmpp.gyp:rtc_xmpp
Not ported (Windows specific):
* Precompiled headers (build/win_precompile.gypi):
since it only seems to offer a compile speedup. Will be landed
for all of WebRTC in separate CL.
BUG=webrtc:4256
NOTRY=True
R=perkj@webrtc.org, tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1847013002 .
Cr-Commit-Position: refs/heads/master@{#12212}
The change made in https://codereview.webrtc.org/1757683002 introduced an extra call to RTCPSender::SetRTCPStatus after the video receive stream is created. The SetRTCPStatus call results in no state change, as the RTCP sender is already enabled, however, it reschedules the next RTCP packet to be RTCP_INTERVAL_VIDEO_MS/2 (500) ms in the future.
Before the change, the next packet time was only set by the previous call to RTCPSender::SetSSRC, which placed it 100 ms in the future. The change, therefore, changed the timing of multiple performance tests - as it now takes a different length of time to ramp up to the same bandwidth.
BUG=chromium:597332
Review URL: https://codereview.webrtc.org/1826093004
Cr-Commit-Position: refs/heads/master@{#12203}
This makes the addaptation of the IntelligibilityEnhancer slower, which makes it take more time to kick in or when the background noise changes drastically. But on the other hand, it reduces the risk of clipping and makes the changing in coloring less noticeable.
R=henrik.lundin@webrtc.org, peah@webrtc.org, turaj@webrtc.org
Review URL: https://codereview.webrtc.org/1848123002 .
Cr-Commit-Position: refs/heads/master@{#12202}
VS 2015 has a new or louder warning about 32-bit shifts that are then
assigned to a 64-bit target. This type of code triggers it:
int64_t size = 1 << shift_amount;
Because the '1' being shifted is a 32-bit int the result of the shift
will be a 32-bit result, so assigning it to a 64-bit variable is just
misleading.
In this case the code that triggers it is this:
size_t window_size = static_cast<size_t>(1 << shift_amount);
The destination is a size_t so the warning only shows up on 64-bit
builds and doesn't indicate a real bug. It's curious that the code
had a cast already - presumably to suppress some other warning - but
the cast is not in the ideal place and doesn't avoid this new warning.
Moving the cast allows shift_amount to be log2(size_t) and allows
enabling C4334 in Chromium.
BUG=593448
Review URL: https://codereview.webrtc.org/1849753004
Cr-Commit-Position: refs/heads/master@{#12199}
Improved the existing external denoiser in WebRTC: the filter strength
is adaptive based on the noise level of the whole frame and the moving
object detection result. The adaptive filter effectively removes the
artifacts in previous version, such as trailing and blockiness on moving
objects.
The external denoiser is off by default for now.
BUG=
Review URL: https://codereview.webrtc.org/1822333003
Cr-Commit-Position: refs/heads/master@{#12198}
- Posts to WebRTC thread instead of Send
- Sample buffers are returned on capture session queue instead of main queue
- Camera switch happens on captures session queue
BUG=webrtc:5679, webrtc:4212
Review URL: https://codereview.webrtc.org/1838933004
Cr-Commit-Position: refs/heads/master@{#12186}
so that the call knows which packet ids were sent on the previous candidate pair.
Note that packet_id is actually 16bits, so we can use -1 for values that are not set.
Also moved the tests for candidate pair changes to TestSelectConnectionBeforeNomination.
BUG=
R=deadbeef@webrtc.org, pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1842093002 .
Cr-Commit-Position: refs/heads/master@{#12184}