Greatly speeds up setRemoteDescription() by moving encoder initialization
off the main worker thread, which is free to move onto gathering ICE
candidates and other tasks while InitEncode() is performed. It also
un-blocks PeerConnection GetStats() which is no longer blocked on
encoder initialization.
BUG=webrtc:5410
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1757313002 .
Cr-Commit-Position: refs/heads/master@{#11983}
In this CL:
- Added more general version of ForwardDiff/RevereseDiff.
- Replaced macro for testing if type T is of unsiged int with
std::is_unsigned<T> instead.
- Changed from EXPECT_XXX to ASSERT_XXX in the unittests since a lot of
the test contains loops that would otherwise just spam the terminal.
BUG=
Review URL: https://codereview.webrtc.org/1786043004
Cr-Commit-Position: refs/heads/master@{#11982}
- Change argument type to int for SetSendTelephoneEventPayloadType()
BUG=webrtc:4690
Review URL: https://codereview.webrtc.org/1798903002
Cr-Commit-Position: refs/heads/master@{#11980}
This CL changes the interface by adding a SurfaceTextureHelper argument
to VideoCapturer.startCapture(). This removes the need for the
VideoCapturer to create the SurfaceTextureHelper itself. This also means
that it is no longer necessary to send an EGLContext to the
VideoCapturerAndroid.create() function.
The SurfaceTextureHelper is now created in AndroidVideoCapturerJni, and
the EGLContext is passed from PeerConnectionFactory in
nativeCreateVideoSource().
Another change in this CL is that the C++ SurfaceTextureHelper creates
the Java SurfaceTextureHelper instead of getting it passed as an
argument in the ctor.
BUG=webrtc:5519
Review URL: https://codereview.webrtc.org/1783793002
Cr-Commit-Position: refs/heads/master@{#11977}
- Clean up unused methods in voe::Channel following removal of VoEDtmf APIs.
BUG=webrtc:4690
Review URL: https://codereview.webrtc.org/1785643006
Cr-Commit-Position: refs/heads/master@{#11976}
In addition:
- Introduces RTCAudioSessionTest
- iOS/Mac gtests now have an autoreleasepool
- Moves ScopedAutoreleasePool to rtc_base_approved
- Introduces route change button in AppRTCDemo
BUG=webrtc:5649
Review URL: https://codereview.webrtc.org/1782363002
Cr-Commit-Position: refs/heads/master@{#11971}
Testing the nack module by implementing it into the current jitter buffer
under the experiment WebRTC-NewVideoJitterBuffer.
BUG=webrtc:5514
Review URL: https://codereview.webrtc.org/1778503002
Cr-Commit-Position: refs/heads/master@{#11969}
Updated peerconnection_server to not need stuff from rtc_base.
BUG=
Review URL: https://codereview.webrtc.org/1789463002
Cr-Commit-Position: refs/heads/master@{#11966}
Permits sending faster when having an attached track before actually
sending since the configured stream is ready to encode as soon as a call
is accepted.
BUG=webrtc:5410
R=deadbeef@webrtc.org
Review URL: https://codereview.webrtc.org/1790703002 .
Cr-Commit-Position: refs/heads/master@{#11963}
and signaling the remote side to remove its remote candidate by setting the candidate priority to 0.
BUG=
Review URL: https://codereview.webrtc.org/1648813004
Cr-Commit-Position: refs/heads/master@{#11958}
Use a flag to switch between original skinmap model and an
experimental model(use original skinmap by default).
BUG=
Review URL: https://codereview.webrtc.org/1776993004
Cr-Commit-Position: refs/heads/master@{#11956}
This CL will be followed up with a CL adding AudioSendStream to
BitrateAllocator, so this is a small CL to have the video connection to
BitrateAllocator "at the same level" as for audio.
BUG=webrtc:5079
R=stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1785283002 .
Cr-Commit-Position: refs/heads/master@{#11955}
- Use better types in AudioSendStream::SendTelephoneEvent() and related methods.
BUG=webrtc:4690
Review URL: https://codereview.webrtc.org/1782053002
Cr-Commit-Position: refs/heads/master@{#11953}
The purpose with this change is to make the filter more robust against anomalies. googMaxDecodeMs is expected to drop a litte by this.
BUG=b/27306053
Review URL: https://codereview.webrtc.org/1742323002
Cr-Commit-Position: refs/heads/master@{#11952}
The old code insists on exact cipher suite matches with hardwired expectations. It does this matching parameterized with key type (RSA vs ECDSA) and TLS version (DTLS vs TLS and version 1.0 vs 1.2).
This CL changes things to check against a white-list of cipher suites, with the check parameterized with key type (again RSA vs ECDSA). Then separately checks TLS version since the old implicit check of TLS version by means of resulting cipher suite was too blunt.
Using a white list for cipher suites isn't perfect, but it is safe and requires minimal maintenance. It allows compatibility with not just one exact version of underlying crypto lib, but any version with reasonable defaults.
The CL also re-enables critical tests which had to be disabled recently to allow a boringssl roll.
BUG=webrtc:5634
Review URL: https://codereview.webrtc.org/1774583002
Cr-Commit-Position: refs/heads/master@{#11951}
This CL also adds control flag in webrtcsession_unittests
that says whether to prefer constraints APIs or non-constraints APIs, and uses it in the test that was needed
to uncover the bug.
BUG=webrtc:4906
Review URL: https://codereview.webrtc.org/1775033002
Cr-Commit-Position: refs/heads/master@{#11947}
This enabled us to be able to remove VideoTrack::GetSink and RemoteVideoCapturer.
Since video frames from the decoder is delivered on a media engine internal thread, VideoBroadCaster must be made thread safe.
BUG=webrtc:5426
R=deadbeef@webrtc.org, pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/1765423005 .
Cr-Commit-Position: refs/heads/master@{#11944}
Also fixes a bug where the over-use detector threshold can increase to
its max if there has been a long time between two packets.
BUG=webrtc:5646
Review URL: https://codereview.webrtc.org/1782003003
Cr-Commit-Position: refs/heads/master@{#11942}
Reason for revert:
Frame rate and freeze detection not working properly after switchCamera(). This is because the previous cameraObserver is not removed before posting a new one.
Original issue's description:
> VideoCapturerAndroid: Use one thread per startCapture()/stopCapture() session
>
> Currently, VideoCapturerAndroid sets the thread and handler in the ctor
> and clears them in dispose(). This CL sets the handler in startCapture()
> instead and clears it in stopCapture(). The purpose is to prepare for
> sending in the SurfaceTextureHelper in startCapture() instead of letting
> VideoCapturerAndroid create it in the ctor.
>
> All access to the handler is now synchronized by a lock, and all
> Runnables are posted with a token so that they can be removed all at
> once in stopCapture() to guarantee that no pending operation will be
> executed after stopCapture().
>
> BUG=webrtc:5519
>
> Committed: https://crrev.com/9cbebee523dbd280a4f67ad414a432ed730f241f
> Cr-Commit-Position: refs/heads/master@{#11939}
TBR=perkj@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5519
Review URL: https://codereview.webrtc.org/1777253002
Cr-Commit-Position: refs/heads/master@{#11941}
The test code created an AudioBuffer object inside the work loop. This
turned out to be expensive, since the AudioBuffer ctor implicitly
called memset on all of the audio data array. The obvious remedy is to
create the buffer outside of the loop. This does not have any impact
apart from the performance boost, since the output data from NetEq is
not even considered in the test.
BUG=chromium:592907,webrtc:5647
TBR=ivoc@webrtc.org
NOTRY=true
Review URL: https://codereview.webrtc.org/1782803002
Cr-Commit-Position: refs/heads/master@{#11940}
Currently, VideoCapturerAndroid sets the thread and handler in the ctor
and clears them in dispose(). This CL sets the handler in startCapture()
instead and clears it in stopCapture(). The purpose is to prepare for
sending in the SurfaceTextureHelper in startCapture() instead of letting
VideoCapturerAndroid create it in the ctor.
All access to the handler is now synchronized by a lock, and all
Runnables are posted with a token so that they can be removed all at
once in stopCapture() to guarantee that no pending operation will be
executed after stopCapture().
BUG=webrtc:5519
Review URL: https://codereview.webrtc.org/1763673002
Cr-Commit-Position: refs/heads/master@{#11939}
Also fix a timestamp issue in video analyzer test.
BUG=webrtc:5637, webrtc:5537
Review URL: https://codereview.webrtc.org/1779773002
Cr-Commit-Position: refs/heads/master@{#11938}