A restarted VideoSendStream would previously be completely reset,
causing gaps in sequence numbers and potentially RTP timestamps as well.
This broke SRTP which requires fairly sequential sequence numbers.
Presumably, were this sent without SRTP, we'd still have problems on the
receiving end as the corresponding receiver is unaware of this reset.
Also adding annotation to RTPSender and addressing some unlocked
access to ssrc_, ssrc_rtx_ and rtx_.
BUG=
R=mflodman@webrtc.org, stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/20819004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6612 4adac7df-926f-26a2-2b94-8c16560cd09d
Also changes the name of a variable which has been hijacked by windef.h (included by windows.h), which forces #define near and #define far upon us. This issue was introduced via the following inclusion chain:
bwe_test_framework_unittest.cc includes
paced_sender.h
tick_util.h
windows.h
windef.h
And causes EXPECT_NEAR(foo, bar, near); to expand to EXPECT_NEAR(foo, bar,); generating a very confusing compile error.
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/20849004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6606 4adac7df-926f-26a2-2b94-8c16560cd09d
This adds copying of Chromium's third_party/BUILD.gn
to acommondate libyuv's BUILD.gn that imports the 'jpeg'
config from that file.
BUG=3441
TEST=trybots + local compile passing with:
gn gen out/Default --args="build_with_chromium=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false build_libyuv=false" && ninja -C out/Default
R=niklas.enbom@webrtc.org, pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/14839004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6595 4adac7df-926f-26a2-2b94-8c16560cd09d
Gives the user a possibility to dynamically change the history size. The main advantage is, for example, that you now can start with a wide delay range and over time decrease the search window to lower complexity.
Adds
- two new APIs.
- and updates unit tests.
- a history_size member variable to BinaryDelayEstimator.
- two help function re-allocating buffer memory.
One thing that makes this a little complicated is that you are allowed to have multiple delay estimators with the same reference, so changing the buffer sizes at one place will automatically give you a mismatch at other places.
BUG=3532, 3504
TESTED=trybots and manually
R=aluebs@webrtc.org, kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/15879004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6593 4adac7df-926f-26a2-2b94-8c16560cd09d
Since libjingle provides a packet arrival timestamp to webrtc, and the clock in remote bitrate estimator and the clock used for packet arrival timestamp can be different. This can cause the bandwidth estimator to malfunction.
This CL changes the remote bitrate estimator so that packet arrival timestamps never are compared to the time taken from the internal clock.
BUG=3527
R=mflodman@webrtc.org, pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/20789004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6571 4adac7df-926f-26a2-2b94-8c16560cd09d
Allows setting SSRCs for future simulcast layers even though no set send
codec uses them.
Also re-enabling CanSwitchToUseAllSsrcs as an end-to-end test, required
for bitrate ramp-up, instead of send-side only (resolving issue 3078).
This test was used to verify reserved modules' SSRCs are preserved
correctly.
To enable a multiple-stream end-to-end test test::CallTest was modified
to work on a vector of receive streams instead of just one.
BUG=3078
R=kjellander@webrtc.org, stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/15859005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6565 4adac7df-926f-26a2-2b94-8c16560cd09d
HW encoder posts the encode callback to libjingle worker
thread. It accesses MediaOptimization and is not protected
by the critial section of VideoSender. Make MediaOptimization
thread-safe to fix it.
BUG=chromium:367691
TEST=Run apprtc loopback with SW or HW encoders.
Run module_unittests.
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/12849004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6562 4adac7df-926f-26a2-2b94-8c16560cd09d
Refactor webrtc/base/BUILD.gn to not have any subtracted
source entries.
Also fix an error in webrtc/BUILD.gn that occurs when running
on Chormium trybots as a part of enabling WebRTC for GN in
https://codereview.chromium.org/321313006/
The error is that pkg-config for dbus-glib fails. Workaround
this by putting the pkg-config entry within the proper condition.
BUG=webrtc:3441
TEST=
Successful compilation of WebRTC as standalone:
gn gen out/Default --args="build_with_chromium=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false is_clang=true clang_use_chrome_plugins=false" && ninja -C out/Default
I built successfully from a Chromium checkout (with
https://codereview.chromium.org/321313006/ applied) using:
gn gen out/Default && ninja -C out/Default webrtc
R=brettw@chromium.org, henrike@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/16759004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6560 4adac7df-926f-26a2-2b94-8c16560cd09d
This CL introduces a bit-exactness test for the receive-side of the
AudioCoding Module. The main part of the test is done in the helper
class AcmReceiveTest. The test is executed from the test fixture
AcmReceiverBitExactness.
The test inserts packets from a pre-encoded RTP file. The output is
summed up into a checksum, which is verified versus a reference at the
end of the test. Alternatively, if the flag --generate_output is given,
the output is written to a file for subjective verification.
R=kwiberg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/13769004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6549 4adac7df-926f-26a2-2b94-8c16560cd09d
This was introduced in r6472 where the target bitrate was changed to be stored in bits/s instead of kbits/s, but the storage type was accidentally left as uint16_t. This caused the bitrate to be truncated, which at times causes NACKs to be dropped due to insufficient bitrate available.
BUG=3518
TEST=Tested in Chrome, trybots and verified that it fixes the bug in vie_auto_test loopback test.
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/21739004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6544 4adac7df-926f-26a2-2b94-8c16560cd09d