Commit graph

19 commits

Author SHA1 Message Date
Sebastian Jansson
e1795f4158 Adds remote estimate RTCP packet.
This adds the RemoteEstimate rtcp packet and wires it up to GoogCC where
it's used to improve congestion controller behavior.

The functionality is negotiated using SDP.

It's added with a field trial that allow disabling the functionality in
case there's any issues.

Bug: webrtc:10742
Change-Id: I1ea8e4216a27cd2b00505c99b42d1e38726256c8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/146602
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28654}
2019-07-24 10:17:26 +00:00
Jonas Olsson
a4d873786f Format almost everything.
This CL was generated by running

git ls-files | grep -P "(\.h|\.cc)$" | grep -v 'sdk/' | grep -v 'rtc_base/ssl_' | \
grep -v 'fake_rtc_certificate_generator.h' | grep -v 'modules/audio_device/win/' | \
grep -v 'system_wrappers/source/clock.cc' | grep -v 'rtc_base/trace_event.h' | \
grep -v 'modules/audio_coding/codecs/ilbc/' | grep -v 'screen_capturer_mac.h' | \
grep -v 'spl_inl_mips.h' | grep -v 'data_size_unittest.cc' | grep -v 'timestamp_unittest.cc' \
| xargs clang-format -i ; git cl format

Most of these changes are clang-format grouping and reordering includes
differently.

Bug: webrtc:9340
Change-Id: Ic83ddbc169bfacd21883e381b5181c3dd4fe8a63
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144051
Commit-Queue: Jonas Olsson <jonasolsson@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28505}
2019-07-08 13:45:15 +00:00
Danil Chapovalov
6318f13295 Stop using rtc::TaskQueue::Current in RtcpTransceiver
Bug: webrtc:10191
Change-Id: Ifc080021ebcb203ea72beba8846e940a0c382dd1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126120
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27015}
2019-03-07 10:51:54 +00:00
Danil Chapovalov
1aa7581701 Replace all usage of rtc::NewClosure with webrtc::ToQueuedTask
Bug: webrtc:10191
Change-Id: I795c8a6f281ccdf60031500a4fb5a411f2afdb70
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125400
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26975}
2019-03-05 18:40:44 +00:00
Steve Anton
10542f21c8 (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries
Mechanically generated by running this command:

tools_webrtc/do-renames.sh update all-renames.txt && git cl format

Then manually updating:

tools_webrtc/sanitizers/tsan_suppressions_webrtc.cc

Bug: webrtc:10159
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: I54824cd91dada8fc3ee3d098f971bc319d477833
Reviewed-on: https://webrtc-review.googlesource.com/c/115653
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26226}
2019-01-11 17:11:39 +00:00
Danil Chapovalov
6dd7f9120e Remove deprecated deregistration functions in RtcpTransceiver
These functions were deprecated in
https://webrtc-review.googlesource.com/c/src/+/107305

Bug: None
Change-Id: I3246f1e2f16be7591daec520e90c6b75071eb92d
Reviewed-on: https://webrtc-review.googlesource.com/c/107730
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25388}
2018-10-26 12:31:37 +00:00
Danil Chapovalov
98f5f6cdea In RtcpTransceiver functions with callback avoid relying on PostTaskAndReply
deprecated version guarantees (using PostTaskAndReply) callback task will run on the task queue,
and thus doesn't guarantee to run it if task queue is destroyed,

new callback versions instead guarantee callback will always run,
but may run off the task queue if task queue is destroyed.

Both keep guarantee observer callbacks will not run after on_destroyed/on_removed is called.

Bug: None
Change-Id: I61bf52127f3084c0186aa8bc89037bf9296801d8
Reviewed-on: https://webrtc-review.googlesource.com/c/107305
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25301}
2018-10-23 08:29:34 +00:00
Danil Chapovalov
792df6b4b9 Make RtcpTransceiver destructor non-blocking
At cost of removing assumption callbacks can't be used after destructor.

Bug: webrtc:8239
Change-Id: Id79f7553528cf6c102d3ee0bf7aa2de5b0437d2a
Reviewed-on: https://webrtc-review.googlesource.com/98860
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24632}
2018-09-07 15:34:08 +00:00
Danil Chapovalov
f0076d31f8 Add RtcpTransceiver::Stop to allow non-blocking destruction
As downside it disallows to destroy RtcpTransceiver on the TaskQueue
without prio call to the Stop function

BUG: webrtc:8239
Change-Id: I236b9aff7a0746044dd764c619174cc5ac03d27f
Reviewed-on: https://webrtc-review.googlesource.com/98120
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24587}
2018-09-05 15:42:24 +00:00
Karl Wiberg
918f50c5d1 Use absl::make_unique and absl::WrapUnique directly
Instead of going through our wrappers in ptr_util.h.

This CL was generated by the following script:

  git grep -l ptr_util | xargs perl -pi -e 's,#include "rtc_base/ptr_util.h",#include "absl/memory/memory.h",'
  git grep -l MakeUnique | xargs perl -pi -e 's,\b(rtc::)?MakeUnique\b,absl::make_unique,g'
  git grep -l WrapUnique | xargs perl -pi -e 's,\b(rtc::)?WrapUnique\b,absl::WrapUnique,g'
  git checkout -- rtc_base/ptr_util{.h,_unittest.cc}
  git cl format

Followed by manually adding dependencies on
//third_party/abseil-cpp/absl/memory until `gn check` stopped
complaining.

Bug: webrtc:9473
Change-Id: I89ccd363f070479b8c431eb2c3d404a46eaacc1c
Reviewed-on: https://webrtc-review.googlesource.com/86600
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23850}
2018-07-05 10:59:49 +00:00
Danil Chapovalov
e3927c5885 Allow to turn RtcpTransciever on and off at runtime.
Bug: webrtc:8239
Change-Id: I8678d1ee9cd0da194a1243d40b508bb62cb3f257
Reviewed-on: https://webrtc-review.googlesource.com/60180
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22311}
2018-03-06 15:19:11 +00:00
Danil Chapovalov
a32d710bb4 Propagate media receiver rtcp observers to RtcpTransceiver
Bug: webrtc:8239
Change-Id: I2e287744128ccbc80e011a0b995a68b4310e36ae
Reviewed-on: https://webrtc-review.googlesource.com/33007
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21285}
2017-12-14 17:39:13 +00:00
Danil Chapovalov
d5cae4d59c Add hacky way to send TransportFeedback in RtcpTransceiver
With an extra interface it will allow to add both RtpRtcp module
and RtcpTransceiver as feedback sender to PacketRouter

Though hacky, this is very similar to currently used implementation
in the RTCPSender::SendFeedbackPacket

Bug: webrtc:8239
Change-Id: I237b422ae1594dede78cb63daa4aa42b6774d6fe
Reviewed-on: https://webrtc-review.googlesource.com/32680
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21274}
2017-12-14 11:12:43 +00:00
Danil Chapovalov
1de4b62955 Change RtpRtcp::SetRemb signature to match RtcpTransceiver::SetRemb
in particular change bitrate type to int64_t to follow style guide.

With an extra interface it will allow to add both RtpRtcp module
and RtcpTransceiver as feedback sender to PacketRouter

Bug: webrtc:8239
Change-Id: I9ea265686d7cd2d709f0b42e8a983ebe1790a6ba
Reviewed-on: https://webrtc-review.googlesource.com/32302
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21250}
2017-12-13 14:40:01 +00:00
Danil Chapovalov
8d19e03e95 Simpliy RtcpTransceiver::SendImmediateFeedback signature
and add implementation comment

Bug: webrtc:8239
Change-Id: Id24937018d386e386b8241aca8f5d686e7cc527a
Reviewed-on: https://webrtc-review.googlesource.com/26600
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20925}
2017-11-29 09:51:20 +00:00
Danil Chapovalov
327c43c29b Add sending Nack to RtcpTransceiver
Bug: webrtc:8239
Change-Id: Idf27bb05958d9eceaf601078019f05444232581f
Reviewed-on: https://webrtc-review.googlesource.com/26260
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20907}
2017-11-28 11:57:58 +00:00
Danil Chapovalov
2ddf98d894 Add RequestKeyFrame with Fir to RtcpTransceiver
Bug: webrtc:8239
Change-Id: If094d434a7be20cdff5c80447322d68a4a7a4580
Reviewed-on: https://webrtc-review.googlesource.com/22961
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20833}
2017-11-22 14:00:57 +00:00
Danil Chapovalov
a7e418cd5f Add RequestKeyFrame with Pli to RtcpTransceiver
Add support for reduced size mode.

Bug: webrtc:8239
Change-Id: I1d646f0d7848af6632c9204ce5b96ae24cfc0ad3
Reviewed-on: https://webrtc-review.googlesource.com/23681
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20812}
2017-11-21 11:19:07 +00:00
Danil Chapovalov
c0fd5f97a8 Add Thread-safe wrapper for RtcpTransceiver
Bug: webrtc:8239
Change-Id: I4cc2f7f2b27c764e1aae734f933902102b345614
Reviewed-on: https://webrtc-review.googlesource.com/21680
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20714}
2017-11-16 15:12:03 +00:00