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
stefan@webrtc.org
cb254aac3b
Enable pacing by default and remove the option to disable it from the new API.
...
BUG=1672
R=mflodman@webrtc.org , pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/17659004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6416 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-12 15:12:25 +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
elham@webrtc.org
32c3247418
Fix for libtalkmobile build error
...
bug=b/12549061
R=andresp@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/7329004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5404 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-21 16:16:58 +00:00
andresp@webrtc.org
7fb75ecbd4
Add thread_annotations for clang targets.
...
TESTED: As expected clang bots catched a few issues which are fixed with this CL, other bots ignore the annotations and compile fine.
R=niklas.enbom@webrtc.org , phoglund@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/6209004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5328 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-20 20:20:50 +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
b627f676b3
Fixes a crash in the pacer where it fails to find a normal prio packet if there are no high prio packets, given that the queue has grown too large.
...
BUG=2682
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4599005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5190 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-28 14:00:09 +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
ef2d55461b
Increase size of pacer window to 500 ms as that better matches the encoder.
...
BUG=1812
R=andresp@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/4129006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5154 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-21 14:37:11 +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
stefan@webrtc.org
80865fd611
Don't pace out packets or generate padding when the pacer is disabled.
...
TEST=trybots
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2000004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4513 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-09 11:31:23 +00:00
hclam@chromium.org
6eb53f71d6
Fix memory bot failure
...
Exit the method with critical setting held. This should make
the memory bot happy.
TBR=pwestin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1704005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4251 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-20 23:01:39 +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
8ccb9f9716
Fixes some pacer/padding issues found while testing.
...
- A bug was introduced in r4234 causing no paced packets to be sent.
- Only update the sequence number counter if a padding packet is actually going to be sent, to avoid packet loss.
- Have all packets go through the pacer if pacing is enabled to avoid reordering.
- Fix race condition on reading capture_time_ms_/timestamp_ in rtp_sender.cc.
BUG=1837
TEST=trybots and vie_auto_test --automated
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1682004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4246 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-19 14:13:42 +00:00
stefan@webrtc.org
8ad3ec9722
Fix build error introduced with r4168.
...
TBR=mflodman@webrtc.org
BUG=1837
Review URL: https://webrtc-codereview.appspot.com/1610004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4169 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-04 09:52:46 +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
0f29810288
Fix crash in pacer.
...
BUG=1731
R=niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1410006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@3964 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-06 16:37:22 +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
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