aboutsummaryrefslogtreecommitdiff
path: root/api
diff options
context:
space:
mode:
authorErik Språng <sprang@webrtc.org>2020-05-07 18:18:32 +0200
committerCommit Bot <commit-bot@chromium.org>2020-05-07 17:33:45 +0000
commit04e1bab1b324e08b8dec4bf617e2afb13b6bde3b (patch)
tree70bfff17bee0225c4b992d970bf297fe0dadd00b /api
parent03fade52dae736275c4f4e7fe1cbd6fe82d7aa4c (diff)
downloadwebrtc-04e1bab1b324e08b8dec4bf617e2afb13b6bde3b.tar.gz
Replaces OverheadObserver with simple getter.
This interface has a couple of issues. Primarily for me, it makes it difficult work with the paced sender as we need to either temporarily release a lock or force a thread-handover in order to avoid a cyclic lock order. For video in particular, its behavior is also falky since header sizes can vary not only form frame to frame, but from packet to packet within a frame (e.g. TimingInfo extension is only on the last packet, if set). On bitrate allocation, the last reported value is picked, leading to timing issues affecting the bitrate set. This CL removes the callback interface and instead we simply poll the RTP module for a packet overhead. This consists of an expected overhead based on which non-volatile header extensions are registered (so for instance AbsoluteCaptureTime is disregarded since it's only populated once per second). The overhead estimation is a little less accurate but instead simpler and deterministic. Bug: webrtc:10809 Change-Id: I2c3d3fcca6ad35704c4c1b6b9e0a39227aada1ea Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173704 Commit-Queue: Erik Språng <sprang@webrtc.org> Reviewed-by: Stefan Holmer <stefan@webrtc.org> Reviewed-by: Ali Tofigh <alito@webrtc.org> Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org> Reviewed-by: Per Åhgren <peah@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31185}
Diffstat (limited to 'api')
-rw-r--r--api/transport/media/media_transport_interface.h8
1 files changed, 0 insertions, 8 deletions
diff --git a/api/transport/media/media_transport_interface.h b/api/transport/media/media_transport_interface.h
index 04a8e50031..dbe68d344b 100644
--- a/api/transport/media/media_transport_interface.h
+++ b/api/transport/media/media_transport_interface.h
@@ -29,7 +29,6 @@
#include "api/transport/media/video_transport.h"
#include "api/transport/network_control.h"
#include "api/units/data_rate.h"
-#include "common_types.h" // NOLINT(build/include)
#include "rtc_base/copy_on_write_buffer.h"
#include "rtc_base/network_route.h"
@@ -238,13 +237,6 @@ class MediaTransportInterface : public DataChannelTransportInterface {
// Corresponding observers for audio and video overhead. Before destruction,
// the observers must be unregistered by setting nullptr.
- // TODO(nisse): Should move to per-stream objects, since packetization
- // overhead can vary per stream, e.g., depending on negotiated extensions. In
- // addition, we should move towards reporting total overhead including all
- // layers. Currently, overhead of the lower layers is reported elsewhere,
- // e.g., on route change between IPv4 and IPv6.
- virtual void SetAudioOverheadObserver(OverheadObserver* observer) {}
-
// Registers an observer for network change events. If the network route is
// already established when the callback is added, |callback| will be called
// immediately with the current network route. Before media transport is