This is a new way of generating RTCCertificate objects that is meant
to replace DtlsIdentityStoreInterface and all of its implementations
(clean up work).
It is similar to the identity store in that it generates on the worker
thread and does callback on the signaling thread, but:
- It does not generate identities in the background that you did not
ask for (preemptive generation made more sense before certificates
were parameterized, not so much anymore, and ECDSA which will be most
common takes like <=2 ms to generate).
- As such this code is less complicated than the store's code.
- The API is different, it takes Optional<uint64_t> expires and it
returns RTCCertificates, not SSLIdentities.
- It supports a blocking version of GenerateCertificate that can be
called from any thread, necessary for Chrome which can generate
certificates before the signaling/worker threads have been
initialized as WebRTC-threads (Chrome can invoke this version on
the worker thread outside of WebRTC).
This CL does not remove the identity store, only adds the alternative.
Follow-up CLs will start using it, the store will be removed once it
is no longer used anywhere.
BUG=webrtc:5707, webrtc:5708
R=hta@webrtc.org, torbjorng@webrtc.org
Review URL: https://codereview.webrtc.org/1883813002 .
Cr-Commit-Position: refs/heads/master@{#12381}
- First audio RTP packet sent / received
- First RTP packet of the first video frame sent / received
- Last RTP packet of the first video frame sent / received
These timestamps should make it easier to measure how fast the call
becomes established from the user's perspective.
Review URL: https://codereview.webrtc.org/1765443002
Cr-Commit-Position: refs/heads/master@{#12287}
Things done/implemented in this CL:
- An interface that can send Nack (VCMNackSender).
- An interface that can request KeyFrames (VCMKeyFrameRequestSender).
- The nack module (NackModule).
- A set of convenience functions for modular numbers (mod_ops.h).
BUG=webrtc:5514
Review URL: https://codereview.webrtc.org/1715673002
Cr-Commit-Position: refs/heads/master@{#11882}
This CL introduces a new class CopyOnWriteBuffer that holds data in a
refcounted Buffer which is shared between copied CopyOnWriteBuffer to avoid
unnecessary allocations / memory copies.
BUG=webrtc:5155
Review URL: https://codereview.webrtc.org/1697743003
Cr-Commit-Position: refs/heads/master@{#11767}
Created a simple unit test for the new random number generator. (It mostly tests
that the generated numbers are consistent with the intended distribution, e.g. uniform.
It is not a comprehensive test of the quality of the random numbers.)
Several assertions in OveruseDetectorTest seem to depend on the exact sequence of random numbers. I updated those numbers to work with the new PRNG.
Compute the standard deviation of the expected result in TestReorderFilter instead of passing an uncertainty parameter.
BUG=webrtc:5177
Review URL: https://codereview.webrtc.org/1457023002
Cr-Commit-Position: refs/heads/master@{#10965}
Also removes all virtual methods. Permits using a thread from
rtc_base_approved (namely event tracing).
BUG=webrtc:5158
R=tommi@webrtc.org
Review URL: https://codereview.webrtc.org/1469013002
Cr-Commit-Position: refs/heads/master@{#10760}
Used for tests that cannot be run in parallel due to using non-virtual
resources such as filesystems and sockets. Initially moves socket
unittests from rtc_unittest since
PhysicalSocketTest.TestUdpReadyToSendIPv4 is one of the worst flake
offenders.
Future prospect targets are GTEST_DEATH tests that are flaky on Mac in
parallel for instance.
BUG=chromium:445880
R=kjellander@webrtc.org
Review URL: https://codereview.webrtc.org/1426643003 .
Cr-Commit-Position: refs/heads/master@{#10446}
The main intended use case is as a function argument, replacing the
harder-to-read and harder-to-use separate pointer and size arguments.
It's easier to read because it's just one argument instead of two, and
with clearly defined semantics; it's easier to use because it has
iterators, and will automatically figure out the size of arrays.
BUG=webrtc:5028
R=andrew@webrtc.org, solenberg@webrtc.org
Review URL: https://codereview.webrtc.org/1408403002 .
Cr-Commit-Position: refs/heads/master@{#10415}
It's a simple std::experimental::optional-wannabe. For simplicity and
portability, it still secretly contains a (default-constructed) T when
it's supposedly empty. This restriction is fine for simple types.
One important application is for the return type of functions. For
example, a function which either returns a size_t or fails can return
rtc::Maybe<size_t>.
BUG=webrtc:5028
R=andrew@webrtc.org, mgraczyk@chromium.org
Review URL: https://codereview.webrtc.org/1413763003 .
Cr-Commit-Position: refs/heads/master@{#10353}
The current use of rtc::FifoBuffer can lead to reading across DTLS packet
boundaries which could cause packets to not being processed correctly.
This CL introduces the new class rtc::BufferQueue and changes the
StreamInterfaceChannel to use it instead of the rtc::FifoBuffer.
BUG=chromium:447431
R=juberti@google.com
Review URL: https://webrtc-codereview.appspot.com/52509004
Cr-Commit-Position: refs/heads/master@{#9254}
Provides a read-only interface for reading byte and bit-sized data from
an underlying buffer in network/big-endian order. Also provides a method
for reading exponential golomb encoded values, which will be useful in
H.264 packet parsing (separate CL).
BUG=
R=pthatcher@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/49719004
Cr-Commit-Position: refs/heads/master@{#9046}
During my work on setting up a GN build for
WebRTC, I discovered that the base.gyp is trying
to remove source files (for the Chromium build)
that are not added in the initial set.
I assume these files should be listed and that
GYP just doesn't complain when it's trying to
remove a file that is not present in the sources
list.
natserver_main.cc is also removed, since it's not used anywhere.
There are also a couple of other header files that are
used in other code that probably also should be listed in
base.gyp (please do this in another CL):
* compile_assert.h
* dscp.h
* move.h
* template_util.h
BUG=None
TEST=Trybots passing clobber compile step.
R=henrike@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/13659004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6438 4adac7df-926f-26a2-2b94-8c16560cd09d