webrtc/modules/pacing
Erik Språng 72e6cb0b3f Fixes dynamic mode pacing issues.
This CL fixes a few issues in the (default-disabled) dynamic pacing
mode:
* Slight update to sleep timing to avoid short spin loops
* Removed support for early execution as that lead to time-travel
  contradictions that were difficult to solve.
* Makes sure we schedule a process call when a packet is due to be
  drained even if the queue is empty, so that padding will start at
  the correct time.
* While paused or empty, sleep relative last send time if we send
  padding while silent - otherwise just relative to last process
  time.
* If target send time shifts so far back that packet should have
  been sent prior to the last process, make sure we don't let the
  buffer level remain.
* Update the PacedSender test to _actually_ use dynamic processing
  when the param says so.

Bug: webrtc:10809
Change-Id: Iebfde9769647d2390fd192a40bbe2d5bf1f6cc62
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/160407
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29911}
2019-11-25 23:11:02 +00:00
..
bitrate_prober_unittest.cc Reland "Refactors BitrateProber with unit types and absolute probe time." 2019-11-05 11:02:22 +00:00
bitrate_prober.cc Reland "Refactors BitrateProber with unit types and absolute probe time." 2019-11-05 11:02:22 +00:00
bitrate_prober.h Reland "Refactors BitrateProber with unit types and absolute probe time." 2019-11-05 11:02:22 +00:00
BUILD.gn Use source_sets in component builds and static_library in release builds. 2019-10-17 21:17:18 +00:00
DEPS Replace field trials with WebRtcKeyValueConfig in PacedSender 2019-02-22 13:08:18 +00:00
interval_budget_unittest.cc Make interval budget use ratio instead of percent 2019-06-07 08:53:57 +00:00
interval_budget.cc Fix potential signed overflow in IntervalBudget::set_target_rate_kbps 2019-06-18 15:42:54 +00:00
interval_budget.h Fix potential signed overflow in IntervalBudget::set_target_rate_kbps 2019-06-18 15:42:54 +00:00
OWNERS Makes sprang@ owner in modules/pacing 2019-11-25 12:32:18 +00:00
paced_sender_unittest.cc Fixes dynamic mode pacing issues. 2019-11-25 23:11:02 +00:00
paced_sender.cc Fixes dynamic mode pacing issues. 2019-11-25 23:11:02 +00:00
paced_sender.h Add support for dynamic processing mode in PacedSender. 2019-11-15 08:56:00 +00:00
pacing_controller_unittest.cc Fixes dynamic mode pacing issues. 2019-11-25 23:11:02 +00:00
pacing_controller.cc Fixes dynamic mode pacing issues. 2019-11-25 23:11:02 +00:00
pacing_controller.h Reland "Prepares PacingController for simplified packet queue." 2019-11-21 17:19:10 +00:00
packet_router_unittest.cc Reland "Use just a lookup map of RTP modules in PacketRouter" 2019-10-17 12:59:39 +00:00
packet_router.cc Cleanup use of deprecated PacketRouter methods 2019-10-22 12:30:51 +00:00
packet_router.h Cleanup use of deprecated PacketRouter methods 2019-10-22 12:30:51 +00:00
round_robin_packet_queue.cc Cleans up the round robin packet queue. 2019-11-22 08:07:15 +00:00
round_robin_packet_queue.h Cleans up the round robin packet queue. 2019-11-22 08:07:15 +00:00
rtp_packet_pacer.h Delete unused method PacedSender::QueueSizePackets 2019-10-17 08:35:38 +00:00