stefan@webrtc.org
89fd1e8e99
Improvements to the pacer where it lost some budget due to truncation errors.
...
With this CL the resolution is increased to microseconds and proper rounding
is done in the Process() function. This means that we will be allowed to send
more than prior to r6664 as we previously truncated away parts of our budget.
We will also not lose budget due to inaccurate calculations in
TimeUntilNextProcess(), which was a regression in r6664.
BUG=cr/393950
TEST=out/Debug/webrtc_perf_tests --gtest_filter=RampUpTest.Simulcast
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/20949004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6694 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-15 16:40:38 +00:00
stefan@webrtc.org
168f23faa5
Move pacer to fully use webrtc::Clock instead of webrtc::TickTime.
...
This required rewriting the send-side delay stats api to be callback based, as otherwise the SuspendBelowMinBitrate test started flaking much more frequently since it had lock order inversion problems.
R=pbos@webrtc.org , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/21869005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6664 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-11 13:44:02 +00:00
pbos@webrtc.org
03c817e405
Fix pacer to accept duplicate sequence numbers on different SSRCs.
...
BUG=3550
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/17889004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6610 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-07 10:20:35 +00:00
stefan@webrtc.org
875ad49dee
Revert conversion from TickTime to int64_t in paced sender.
...
Introduced with r6600, causing flakes in SuspendBelowMinBitrate. The reason for this flake is currently unknown.
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/17879004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6605 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-04 15:27:55 +00:00
stefan@webrtc.org
88e0dda475
Introduces PacedVideoSender to test framework and moves the Pacer to use Clock.
...
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/14729004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6600 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-04 09:20:42 +00:00
pbos@webrtc.org
709e29742e
Simplify pacer interface.
...
New interface uses two bitrates (max/min). The pace multiplier is also
removed from the interface and instead utilized outside. Min bitrate
will be filled with padding if there's not enough media to transmit.
Also fixes a bug in minimum transmission bitrate that made it ignore
REMBs. A regression test has been added to catch it.
BUG=3014
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/10059004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5723 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 10:59:52 +00:00
jiayl@webrtc.org
9fd8d87ff5
Adds APIs for reporting pacer queuing delay.
...
BUG=2775
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/8959005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5621 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-27 22:32:40 +00:00
stefan@webrtc.org
dd393e7b9d
Measure pacer queue size based on when packets are inserted rather than captured.
...
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/5659004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5291 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-13 22:03:27 +00:00
stefan@webrtc.org
19a40ff05b
Ensure that no packet stays in the pacer queue for longer than 2 seconds.
...
BUG=2682
TEST=trybots
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4519004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5182 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-27 14:16:20 +00:00
stefan@webrtc.org
9b82f5a6ed
Fix for RTX in combination with pacing.
...
Retransmissions didn't get sent over RTX when pacing was enabled since
the pacer didn't keep track of whether a packet was a retransmit or not.
BUG=1811
TEST=trybots
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/3779004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5117 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-13 15:29:21 +00:00
stefan@webrtc.org
b2c8a952a7
Improving padding rules and breaking out bw allocation to ViEEncoder.
...
BUG=1837
TESTS=vie_auto_test --automated, trybots
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2170004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4693 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-06 13:58:01 +00:00
pbos@webrtc.org
0193158634
Fix some chromium-style warnings in webrtc/modules/pacing/
...
BUG=163
R=pwestin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1902005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4445 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31 15:18:19 +00:00
pbos@webrtc.org
db6e3f8bc5
Fix root-relative includes for pacing/.
...
BUG=1662
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1789004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4329 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-11 09:50:05 +00:00
hclam@chromium.org
2e402ce873
Enqueue packet in pacer if sending fails
...
If a packet cannot be sent while pacer is in use it should be
queued. This avoid packet loss due to congestion.
BUG=1930
R=pwestin@webrtc.org , wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1693004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4250 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-20 20:18:31 +00:00
stefan@webrtc.org
c3cc375499
Add support for padding in pacer.
...
This improves pacer-based padding by making sure it limits padding according to:
- Never pad more than 800 kbps.
- Padding + media should not go above a given target bitrate.
Also adds appropriate unittests to make sure we reach the given targets.
BUG=1837
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1582005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4168 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-04 09:36:56 +00:00
pwestin@webrtc.org
52b4e8871a
Adding trace and changing pacing constants
...
BUG=1721,1722
R=mikhal@webrtc.org , niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1380005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3940 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-02 19:02:17 +00:00
pwestin@webrtc.org
b0061f94b2
Enable Nack pacing.
...
Review URL: https://webrtc-codereview.appspot.com/1357004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3912 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-27 00:41:08 +00:00
pwestin@webrtc.org
52aa019e98
Avoid adding duplicates in pacer lists.
...
Review URL: https://webrtc-codereview.appspot.com/1329007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3899 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-04-25 17:35:56 +00:00
stefan@webrtc.org
bfacda60be
Add interface to signal a network down event.
...
- In real-time mode encoding will be paused until the network is back up.
- In buffering mode the encoder will keep encoding, and packets will be
buffered at the sender. When the buffer grows above the target delay
encoding will be paused.
- Fixes a couple of issues related to pacing which was found with the new test.
- Introduces different max bitrates for pacing and for encoding. This allows
the pacer to faster get rid of the queue after a network down event.
(Work based on issue 1237004)
BUG=1524
TESTS=trybots,vie_auto_test
Review URL: https://webrtc-codereview.appspot.com/1258004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3730 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-27 16:36:01 +00:00
pwestin@webrtc.org
db4185664c
Introduced pause and resume to the pacer
...
Review URL: https://webrtc-codereview.appspot.com/1217007
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3717 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-03-22 23:39:29 +00:00
pwestin@webrtc.org
b518017e71
Adding pacing module, will replace the transmission_bucket in the RTP module.
...
TESTED=unittest
Review URL: https://webrtc-codereview.appspot.com/930015
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3073 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-09 20:56:23 +00:00