Commit graph

31 commits

Author SHA1 Message Date
Danil Chapovalov
f53b3436e4 Cleanup RtcpTransceiver dependency on webrtc::Transport
Bug: webrtc:8239
Change-Id: I5740935044ba422a32b571eb9f559e83b915fe15
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306522
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40152}
2023-05-26 08:11:17 +00:00
Danil Chapovalov
aa1ad7d6a4 In RtcpTransciever refactor outgoing transport interface
Replace Transport* interface with since std::function to stress this class doesn't produce RTP packets
Repesent outgoing packet as ArrayView instead of pointer + length.
Make outgoing transport optional, thus allowing to use RtcpTransciever as an rtcp parser.

Bug: webrtc:8239, webrtc:14870
Change-Id: Ia582d9a980786df8e295adcebe27081258b80dc0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/306280
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40134}
2023-05-24 14:14:53 +00:00
Danil Chapovalov
52518633fb In RtcpReceiver implement calling NetworkLinkRtcpObserver interface
With intent to fully replace RtcpBandwidthObserver interface
and half of the TransportFeedbackObserver interface

RtcpBandwidthObserver interfaces passed bitrate and time variables as
raw ints, NetworkLinkRtcpObserver uses more expressive types.

Bug: webrtc:13757, webrtc:8239
Change-Id: I0a8c8de626fbe0c190a0a1a9f6733d863494401c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/304700
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40043}
2023-05-10 18:58:31 +00:00
Danil Chapovalov
2198f95118 In RtcpTransceiver remove callback that pass rtcp::ReportBlock
Same information is already passed using ReporBlockData class

Bug: webrtc:8239
Change-Id: Iaae0edd34941c45527414a20923b5238e7a822fe
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/304641
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40021}
2023-05-09 10:17:56 +00:00
Danil Chapovalov
f66b9f5efe In RtcpTransceiver pass ReportBlockData instead of rtcp::ReportBlock
rtcp::ReportBlock class is designed for serialization while
ReportBlockData designed for passing report block information across
multiple components.

This slightly reduce how RtcpTransceiver and RtcpReceiver interact with other webrtc components

Bug: webrtc:8239
Change-Id: I582e3d7b32dc6357954b29a1def37e2e72116a74
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/304285
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40006}
2023-05-08 10:37:33 +00:00
Danil Chapovalov
ba1b56adf6 in RtcpTransceiver support replying to RRTR per local ssrc
to support clients (e.g. RTCPReceiver) that collect and report RTT per sender ssrc.

Bug: webrtc:8239, webrtc:13853
Change-Id: I907fb35277b0f23bbe9f2cd2ef979ce0fb1f9338
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/257440
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36439}
2022-04-05 06:53:19 +00:00
Danil Chapovalov
3455481554 In RtcpTrasnceiver notify RtpStreamRtcpHandler on related report blocks
Bug: webrtc:8239
Change-Id: Ib914775020b5d889b68d1fe178a9fff6acbaeb8f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/257283
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36398}
2022-03-31 14:32:56 +00:00
Danil Chapovalov
56a04c3430 Implement recieving FIR in RtcpTranceiver
Bug: webrtc:8239
Change-Id: I2075af1598faf62b4eb3ab85e80590ff41cd2f49
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256811
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36341}
2022-03-25 15:04:14 +00:00
Danil Chapovalov
887754af75 Implement recieving PLI in RtcpTranceiver
Bug: webrtc:8239
Change-Id: I99f818991f4a0edd8afa90044bcb1db7e4a478d9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256105
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36330}
2022-03-25 09:01:55 +00:00
Danil Chapovalov
ef6b028c92 Implement recieving NACK in RtcpTranceiver
Bug: webrtc:8239
Change-Id: I41d6c3252bbffeab66ded7ed294f82134351541a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/254800
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36254}
2022-03-18 14:46:18 +00:00
Danil Chapovalov
c2b1bad4c8 In RtcpTransceiver use TimeDelta instead of raw int to represent time
Bug: webrtc:8239, webrtc:13757
Change-Id: Idda3fe5761665b4b3fedaf2dd1a28bb0119ae1f1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/252287
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36094}
2022-02-28 11:21:17 +00:00
Danil Chapovalov
808531653e In RtcpTransceiver implement handling incoming RRTR
Bug: webrtc:8239
Change-Id: I4a469b6a0c2e387e35262798f4686fbf310d00cd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251902
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36037}
2022-02-21 14:07:34 +00:00
Danil Chapovalov
f2b987377b in RtcpTransceiver implement sending rtcp sender reports
Bug: webrtc:8239
Change-Id: Id3298bf4e0eb18a3fc8072fb19416e67a126705f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249788
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35995}
2022-02-14 15:58:40 +00:00
Danil Chapovalov
5e67b6a90d in RtcpTransceiver delete legacy rtt_observer callback
Bug: webrtc:8239
Change-Id: Id4f56887879513b5ddb89818f221d8686c373ed7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/235370
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35257}
2021-10-21 09:57:34 +00:00
Danil Chapovalov
9fdcfe90f1 In RtcpTransceiver add support for receiving network generic messages
These message suppose to extract all information
NetworkControllerInterface may need from rtcp.

Bug: webrtc:8239
Change-Id: I21d9081ad147ca8abe1ae05ca7201568c6ff77d1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/230421
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#34876}
2021-08-30 13:58:18 +00:00
Artem Titov
913cfa76ec Use backticks not vertical bars to denote variables in comments for /modules/rtp_rtcp
Bug: webrtc:12338
Change-Id: I52eb3b6675c4705e22f51b70799ed6139a3b46bc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227164
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34686}
2021-08-09 15:51:03 +00:00
Paul Hallak
e9dad5f053 Add a clock to be used for getting the NTP time in RtcpTransceiverConfig.
Note: google3 needs to set this clock before we can start using it.

Bug: webrtc:11327
Change-Id: I0436c6633976afe208f28601fdfd50e0f6f54d6e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214480
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Paul Hallak <phallak@google.com>
Cr-Commit-Position: refs/heads/master@{#33653}
2021-04-08 12:43:27 +00:00
Magnus Flodman
55afe3885b Search and replace gendered terms according to style guide:
https://chromium.googlesource.com/chromium/src/+/master/styleguide/inclusive_code.md#tools

Not changin the transcipt in
resources/audio_processing/conversational_speech/README.md

BUG=webrtc:11680

Change-Id: I36af34e4a4e0ec6161093c0045b7bbe1dbe4eb45
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/177016
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31514}
2020-06-12 14:12:54 +00:00
Danil Chapovalov
f351cfffe2 Migrate RtcpTransceiver to use webrtc::TaskQueueBase instead of rtc::TaskQueue
This changes removes an extra layer of indirection
since RtcpTransceiver doesn't own TaskQueue it uses.

Bug: None
Change-Id: Ie1ef4cd8c3fb18a8e0b7ddaf0d6a319392b9e9f7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/126040
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30704}
2020-03-06 11:26:51 +00:00
Per Kjellander
c93595b4b9 Allow REMB messages to be sent immediately in RtcpTransceiver
This cl add a configuration flag to allow REMB messages to be sent immediately when the bitrate value have changed.
The remb message is still included in all following compound packets.

Bug: None
Change-Id: I9f71d30cddbccd095e1d2971247c731bd1727d32
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169221
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30627}
2020-02-27 13:48:05 +00:00
Danil Chapovalov
601504c5cc in RtcpTransceiver remove workaround for old bug in RtcpReceiver
the bug in RtcpReceiver was fixed Jan 30, i.e. 10.5 month ago

Bug: webrtc:8805
Change-Id: I5f5f00fba5e984ede906c5dbbe841ee5f4992e09
Reviewed-on: https://webrtc-review.googlesource.com/c/99822
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25683}
2018-11-19 10:13:02 +00:00
Erik Språng
eeaa8f929c Directly include VideoBitrateAllocation in modules/rtp_rtcp/ targets
Bug: webrtc:9271
Change-Id: Ic7415830588bef9d87bab92943460207890dada6
Reviewed-on: https://webrtc-review.googlesource.com/76960
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23277}
2018-05-17 11:22:56 +00:00
Erik Språng
566124a6df Move BitrateAllocation to api/ and rename it VideoBitrateAllocation
Since the webrtc_common build target does not have visibility set, we
cannot easily use BitrateAllocation in other parts of Chromium.
This is currently blocking parts of chromium:794608, and I know of other
usage outside webrtc already, so moving it to api/ should be warranted.

Also, since there's some naming confusion and this class is video
specific rename it VideoBitrateAllocation. This also fits with the
standard interface for producing these: VideoBitrateAllocator.

Bug: chromium:794608
Change-Id: I4c0fae40f9365e860c605a76a4f67ecc9b9cf9fe
Reviewed-on: https://webrtc-review.googlesource.com/70783
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22986}
2018-04-23 15:31:27 +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
49456a5b33 Add hack to RtcpTransceiver to mitigate bug in RtcpReceiver of remote endpoint.
Bug: webrtc:8805
Change-Id: I540ff1d2503ba43723e82800b0bebd322f1af351
Reviewed-on: https://webrtc-review.googlesource.com/44481
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21802}
2018-01-30 09:57:09 +00:00
Danil Chapovalov
7ca9ae2e26 Add rtcp observers for media receiver to RtcpTransceiverImpl
Bug: webrtc:8239
Change-Id: I7b6735f2efb87e303d1b8076c965a751db4af250
Reviewed-on: https://webrtc-review.googlesource.com/31980
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21240}
2017-12-13 12:22:41 +00:00
Danil Chapovalov
319a675318 Calculate RTT using ExtendedReports in RtcpTransceiver
Bug: webrtc:8239
Change-Id: Iec3d21d6297c53388bbae88611e147fe91027c83
Reviewed-on: https://webrtc-review.googlesource.com/22800
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20953}
2017-11-30 14:34:40 +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
8c8d49ea0f Add periodic compound packet sending to RtcpTransceiver
Bug: webrtc:8239
Change-Id: I1511db63a15e8c5101a933e55e66d3877ff963be
Reviewed-on: https://webrtc-review.googlesource.com/15440
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20480}
2017-10-30 16:51:29 +00:00
Danil Chapovalov
78161ca59d Add sending sdes to RtcpTransceiver.
Bug: webrtc:8239
Change-Id: Icff1528e177e0bb39dd82bd4f8533e1ed2736c40
Reviewed-on: https://webrtc-review.googlesource.com/15540
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20447}
2017-10-26 13:33:16 +00:00
Danil Chapovalov
398a7c67b1 Create skeleton of the rtcp transceiver.
RtcpTransceiver name reserved for thread-safe version that planned to
be wrapper of the RtcpTransceiverImpl

BUG=webrtc:8239

Change-Id: If8a3092eb1b8e4175e3efd23b52e1043cdabf19f
Reviewed-on: https://webrtc-review.googlesource.com/7920
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20414}
2017-10-24 19:35:38 +00:00