Also fixed one small chromium-style error in the new mixer.
NOTRY=True
Review-Url: https://codereview.webrtc.org/2234293002
Cr-Commit-Position: refs/heads/master@{#13752}
The last in-tree call site recently disappeared, so they were unused.
BUG=webrtc:5922
Review-Url: https://codereview.webrtc.org/2066473002
Cr-Commit-Position: refs/heads/master@{#13751}
tests.
Note: The webrtc/base/test/ folder is new.
Currently not used, I intend to use this in another CL.
BUG=chromium:627816
NOPRESUBMIT=TRUE
NOTRY=TRUE
Review-Url: https://codereview.webrtc.org/2238073003
Cr-Commit-Position: refs/heads/master@{#13750}
They always fail, because RED isn't supported.
BUG=webrtc:5922
Review-Url: https://codereview.webrtc.org/2055753002
Cr-Commit-Position: refs/heads/master@{#13743}
The folder structure is now as was agreed on in the 'Slim and Modular
WebRTC' effort. Also added some dependencies that were previously in
another part of the tree.
NOTRY=True
Review-Url: https://codereview.webrtc.org/2238803002
Cr-Commit-Position: refs/heads/master@{#13742}
If the data transport is destroyed while data is buffered (due to
the PC being closed, or a description set with data rejected), the
data channel was getting stuck in a "closing" state, waiting to
finish sending its buffered data. But since there's no more transport,
it will never get another chance to send buffered data.
It just needs to terminate non-gracefully and discard the buffered data
in this situation.
R=skvlad@webrtc.org, zhihuang@webrtc.org
Review URL: https://codereview.webrtc.org/2235843003 .
Cr-Commit-Position: refs/heads/master@{#13737}
The main issue was that upon receiving a binding response with a srflx
mapped address attribute, the local candidate was not updated from local
to srflx. This means the two ICE agents view the same pair differently;
one sees it as "X<->srflx" while the other sees it as "local<->X". This
causes sub-optimal prioritization and could result in the wrong pair
being selected if using aggressive nomination.
The other issue was that TCP prflx candidates were not differentiated from
UDP prflx candidates. This lead to TCP prflx candidates prioritized above TCP
host candidates.
After fixing these issues, I was able to re-enable many disabled tests, as well
as restore the check for the candidate types of the controlled agent.
BUG=webrtc:1953,webrtc:2383
R=honghaiz@webrtc.org, pthatcher@webrtc.org
Review URL: https://codereview.webrtc.org/2125823004 .
Cr-Commit-Position: refs/heads/master@{#13734}
The test worked by sleeping a certain time, then checking that the
difference between recv timestamps before and after the sleep was
within some margin of the requested sleep time.
However, this means that imprecision of SleepMs makes the test flaky.
This source of flakiness can be removed by comparing to the actual
time slept instead of the requested time.
Also making the margin larger, to further reduce the likelihood of
flakiness.
R=pthatcher@webrtc.org, stefan@webrtc.org
Review URL: https://codereview.webrtc.org/2111043004 .
Cr-Commit-Position: refs/heads/master@{#13733}
RTCPeerConnectionFactory.createPeerConnection did not check the return
value of the native createPeerConnection() - so when the native PC
fails to be created, it could end up attempting to use a null pointer.
The change makes it return nil when the creation fails. The application
can then detect and respond to the failure.
Review-Url: https://codereview.webrtc.org/2240633004
Cr-Commit-Position: refs/heads/master@{#13732}
Also update existing perf tests to use send side bwe.
BUG=webrtc:4604, chromium:522001
Review-Url: https://codereview.webrtc.org/2227733004
Cr-Commit-Position: refs/heads/master@{#13726}
Since all FrameObjects have a reference to its PacketBuffer and since
the PacketBuffer can be thrown away at any moment the PacketBuffer
has to be ref counted in order to avoid FrameObjects dereferencing a potentially
destroyed object.
BUG=webrtc:5514
R=danilchap@webrtc.org, mflodman@webrtc.org, stefan@webrtc.org
Review URL: https://codereview.webrtc.org/2199133004 .
Cr-Commit-Position: refs/heads/master@{#13725}
In the existing code, if the server address and the local IP family does not
match, we still create a TurnPort and destroy it later.
Instead, we could avoid creating it at the beginning.
This does not affect the client behavior except for the port creation.
BUG=
R=deadbeef@webrtc.org, pthatcher@webrtc.org, zhihuang@webrtc.org
Review URL: https://codereview.webrtc.org/2206713004 .
Cr-Commit-Position: refs/heads/master@{#13720}
Since the interval between the timestamps does not include the send/receive
time of the last/first packet we correct the interval by adding the average
of the interval between probing packets.
BUG=webrtc:5859
R=mflodman@webrtc.org, stefan@webrtc.org
Review URL: https://codereview.webrtc.org/2224173003 .
Cr-Commit-Position: refs/heads/master@{#13719}
This CL handles frame rotation by updating the OpenGL vertex data in
RTCOpenGLVideoRenderer, instead of calling the expensive
libyuv::I420Rotate that will rotate the actual memory. Also, we can
handle rotated native frames instead of falling back to
NativeToI420Buffer.
Review-Url: https://codereview.webrtc.org/2176623002
Cr-Commit-Position: refs/heads/master@{#13715}
tools_unittests were failing when generated by GN and running on a device.
BUG=webrtc:5949
NOTRY=True
Review-Url: https://codereview.webrtc.org/2233843002
Cr-Commit-Position: refs/heads/master@{#13714}
Adds reusable template function objects to extract interesting
statistics from data sets. A few more of these will be added later
to reduce the code size.
Review-Url: https://codereview.webrtc.org/2220383004
Cr-Commit-Position: refs/heads/master@{#13713}
needed for the new audio_mixer to depend on just
'voice_engine:level_indicator' instead of the whole voice_engine and
avoid a circular dependency.
TBR=henrika@webrtc.org
NOTRY=True
Review-Url: https://codereview.webrtc.org/2221103004
Cr-Commit-Position: refs/heads/master@{#13709}
magjed@ is the author of two out of three files in webrtc/base/java
(ThreadUtils.java and Size.java). They were originally created in
webrtc/api/android/java, but were moved to base/ in order to be
accessible from e.g. webrtc/modules/audio_device/android/java.
TBR=tommi@webrtc.org
Review URL: https://codereview.webrtc.org/2233793002 .
Cr-Commit-Position: refs/heads/master@{#13707}
- Make more use of std::unique_ptr.
- Auto type deduction for iterator type names.
- More extensive comments.
- Variable renaming.
- Make ProducerFec::BuildRedPacket() static.
- Avoid dynamic allocation of ProducerFec::fec_.
BUG=webrtc:5654
Review-Url: https://codereview.webrtc.org/2110763002
Cr-Commit-Position: refs/heads/master@{#13700}
We need to check the pool to make sure that the encoder session is valid. Otherwise, it appears as if the encoder just does not output frames.
NOTRY=True
BUG=
Review-Url: https://codereview.webrtc.org/2226383002
Cr-Commit-Position: refs/heads/master@{#13698}