Commit graph

68 commits

Author SHA1 Message Date
Florent Castelli
8037fc6ffa Migrate absl::optional to std::optional
Bug: webrtc:342905193
No-Try: True
Change-Id: Icc968be43b8830038ea9a1f5f604307220457807
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/361021
Auto-Submit: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42911}
2024-09-02 12:16:47 +00:00
Per K
61fff586b1 Split out time_util to separate target ntp_time_util
Split out time_util.h and cc from target rtp_rtcp to its own target.
This is to avoid possible circular dependencies and not having all targets using them to depend on the full RtpRcp module.


Bug: webrtc:343076000
Change-Id: I7b3c84456b17f1920f71afdd5a644d27e28caed2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/352480
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Auto-Submit: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#42392}
2024-05-28 13:31:00 +00:00
Harald Alvestrand
d43af9172b Remove internal overrides using old SendRtp and SendRtcp interfaces.
This CL takes away all usages except for Android code.

Low-Coverage-Reason: Refactoring old code
Bug: webrtc:15410
Change-Id: I66bed6a4a2787b4177a82e599b48623ca67cd235
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/315940
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#40554}
2023-08-15 13:20:21 +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
677c1ddde5 Migrate rtp_rtcp to absl::AnyInvocable based TaskQueueBase interface
Bug: webrtc:14245
Change-Id: I037f964130648caf0bd1de86611f8681d475b078
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268146
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37481}
2022-07-07 12:39:25 +00:00
Danil Chapovalov
a3cb977679 in rtcp::TransportFeedback delete functions with time represented as raw int
Bug: webrtc:13757
Change-Id: I53c8ed21ac37a3aee13482c6bb68a0c5ee8fcbee
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/265681
Auto-Submit: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37259}
2022-06-17 13:03:49 +00:00
Artem Titov
c374d11fac Move to_queued_task.h and pending_task_safety_flag.h into public API
Bug: b/235812579
Change-Id: I9fa3dc4a65044df8b44fff4e9bfeac7233fa381c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/266080
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37248}
2022-06-17 09:20:39 +00:00
Danil Chapovalov
fa6ec69232 Restructure RtcpTransceiver tests to use fake time instead of real time
to make tests faster and more determenistic.

Bug: webrtc:8239
Change-Id: I18067251a1f1a349fda28bbfbb59bce333bfddca
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/201737
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36938}
2022-05-20 07:52:29 +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
7ab3ecd4c2 Use TimeDelta to convert to to/from compact ntp time
Bug: webrtc:13757
Change-Id: I1c5f0a666da8e6b30291763d110ff049df573490
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256103
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36333}
2022-03-25 10:41:39 +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
Niels Möller
be74b8058b Fix spelling of receiver and transceiver.
Bug: None
Change-Id: I439e217d67283b182833e48da15af9ae367ac14e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/256015
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36257}
2022-03-18 14:54:10 +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
8968bcae8d In RtcpTransceiver avoid generating rtcp sender reports for inactive senders
Bug: webrtc:8239
Change-Id: I97d50c628db04c56669179ab7039a3fe3bd61d34
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251901
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36030}
2022-02-18 16:44:52 +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
8c0aaae664 In RtcpTransceiver support sending more than one rtcp receiver report per packet
Bug: webrtc:8239
Change-Id: I7670b8c10fbcfad7238afecd96edd55ad65dd3aa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/249792
Reviewed-by: Emil Lundmark <lndmrk@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35913}
2022-02-04 17:39:41 +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
Danil Chapovalov
35b21ba8d4 In RtcpTransceiver avoid extra PostTask during construction
it is not required because during construction members can be set on
wrong thread, and in some corner cases it may even cause a crash.

Bug: none
Change-Id: I37d7f2a7772b6ab5e574077d3f53bca2529f9ae1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222651
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34315}
2021-06-17 08:36:34 +00:00
Danil Chapovalov
be53049555 Reland "Avoid sending empty receiver reports with RtcpTransceiver"
This reverts commit 48420fa947.

Reason for revert: downstream unittests adjusted

Original change's description:
> Revert "Avoid sending empty receiver reports with RtcpTransceiver"
>
> This reverts commit e5f1a3992e.
>
> Reason for revert: Speculative revert due to failing downstream unittest.
>
> Original change's description:
> > Avoid sending empty receiver reports with RtcpTransceiver
> >
> > Bug: None
> > Change-Id: Ia017c2df285febefb72ba88ba43366455bde5a78
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222402
> > Reviewed-by: Per Kjellander <perkj@webrtc.org>
> > Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#34281}
>
> TBR=danilchap@webrtc.org,perkj@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com
>
> Change-Id: I895317ad0381756e97e501a36d6440f83a68b6f8
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: None
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222440
> Reviewed-by: Björn Terelius <terelius@webrtc.org>
> Commit-Queue: Björn Terelius <terelius@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34284}

# Not skipping CQ checks because this is a reland.

Bug: None
Change-Id: I3481b9b12ddabaef7303ba80e9cd885930988caa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222600
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34291}
2021-06-15 12:57:56 +00:00
Björn Terelius
48420fa947 Revert "Avoid sending empty receiver reports with RtcpTransceiver"
This reverts commit e5f1a3992e.

Reason for revert: Speculative revert due to failing downstream unittest.

Original change's description:
> Avoid sending empty receiver reports with RtcpTransceiver
>
> Bug: None
> Change-Id: Ia017c2df285febefb72ba88ba43366455bde5a78
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222402
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#34281}

TBR=danilchap@webrtc.org,perkj@webrtc.org,webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com

Change-Id: I895317ad0381756e97e501a36d6440f83a68b6f8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222440
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34284}
2021-06-14 17:29:09 +00:00
Danil Chapovalov
e5f1a3992e Avoid sending empty receiver reports with RtcpTransceiver
Bug: None
Change-Id: Ia017c2df285febefb72ba88ba43366455bde5a78
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222402
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34281}
2021-06-14 16:19:47 +00:00
Paul Hallak
fe3dd51f32 Use the injected clock in rtcp_transciever.
Bug: webrtc:11327
Change-Id: Idb02842f2eb679f972c0449a01a81a26ceb85827
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/219789
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Paul Hallak <phallak@google.com>
Cr-Commit-Position: refs/heads/master@{#34080}
2021-05-21 17:34:33 +00:00
Erik Språng
de5507d31b Updates rtcp::CompoundPacket to contain unique pointers to packets.
Currently test code passes pointer to temporary objects, while
RtcpSender passes raw pointers to objects that are then seen as owned,
and will be manually deleted by a overloaded destructor, which is scary
and fragile.

This CL moves all usage to std::unique_ptr<RtcpPacket> instead, which
may create some heap churn in unit tests but that should be fine.

Bug: webrtc:11925
Change-Id: I981bc7ccd6a74115c5a3de64b8427adbf3f16cc7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183920
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32084}
2020-09-11 14:34:07 +00:00
Danil Chapovalov
014197b581 In modules/ replace mock macros with unified MOCK_METHOD macro
Bug: webrtc:11564
Change-Id: I8a87389a795029feb818449ab1e5bbe69486db28
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175908
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31364}
2020-05-27 10:21:08 +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
5528402ef8 Use newer version of TimeDelta and TimeStamp factories in modules/
This change generated with following commands:
find modules -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/TimeDelta::Micros<\(.*\)>()/TimeDelta::Micros(\1)/g"
find modules -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/TimeDelta::Millis<\(.*\)>()/TimeDelta::Millis(\1)/g"
find modules -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/TimeDelta::Seconds<\(.*\)>()/TimeDelta::Seconds(\1)/g"
find modules -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/TimeDelta::us/TimeDelta::Micros/g"
find modules -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/TimeDelta::ms/TimeDelta::Millis/g"
find modules -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/TimeDelta::seconds/TimeDelta::Seconds/g"
find modules -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/Timestamp::Micros<\(.*\)>()/Timestamp::Micros(\1)/g"
find modules -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/Timestamp::Millis<\(.*\)>()/Timestamp::Millis(\1)/g"
find modules -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/Timestamp::Seconds<\(.*\)>()/Timestamp::Seconds(\1)/g"
find modules -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/Timestamp::us/Timestamp::Micros/g"
find modules -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/Timestamp::ms/Timestamp::Millis/g"
find modules -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/Timestamp::seconds/Timestamp::Seconds/g"
git cl format

Bug: None
Change-Id: I117d64a54950be040d996035c54bc0043310943a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168340
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30489}
2020-02-10 11:49:57 +00:00
Evan Shrubsole
577b88dae7 Add new_request flag to SendFullIntraRequest
This allows one to request the same sequence number again
in the case of resending an FIR to the a sender before the
sender has time to send a key-frame.

Bug: webrtc:11171
Change-Id: Idd8e8120ccbcc194cefb8d0cf3f7cc64e7f76aa5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161236
Commit-Queue: Evan Shrubsole <eshr@google.com>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30006}
2019-12-04 13:45:02 +00:00
Danil Chapovalov
59e1464fcd Fix 28 ClangTidy - Readability findings in modules/rtp_rtcp/
These fixes are automatically created by various analysis tools, but have been manually triggered to be applied.
 * the 'empty' method should be used to check for emptiness instead of 'size' (3 times)
 * using decl 'Return' is unused (4 times)
 * using decl '_' is unused (3 times)
 * using decl 'DoAll' is unused (2 times)
 * using decl 'SetArgPointee' is unused
 * using decl 'Dlrr' is unused
 * using decl 'IsEmpty' is unused
 * redundant get() call on smart pointer
 * using decl 'Invoke' is unused (2 times)
 * using decl 'SizeIs' is unused (3 times)
 * using decl 'make_tuple' is unused
 * using decl 'NiceMock' is unused
 * using decl 'SaveArg' is unused (2 times)
 * using decl 'AtLeast' is unused
 * using decl 'ElementsAre' is unused
 * using decl 'Gt' is unused

Bug: None
Change-Id: I97658fb0e94620b8319d7c3da29b15e27ec23188
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/151133
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29056}
2019-09-04 07:38:20 +00:00
Sebastian Jansson
40889f35fc Removes TimeMicros interface from ThreadProcessingFakeClock.
Bug: webrtc:9883
Change-Id: Ib48872f81f734b09e3ffa4d9d26da79177b02303
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/133341
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27668}
2019-04-17 15:37:48 +00:00
Danil Chapovalov
dd025d85b0 Avoid using global task queue factory in RtcpTransciever tests
by not using convenient rtc::TaskQueue constructor
and using TaskQueueForTest instead.

Bug: webrtc:10284
Change-Id: I882ce4d1404a1cb9ab8bf97fca6beac3f89bb41d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128604
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#27212}
2019-03-20 15:20:20 +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
Mirko Bonadei
970f2f7c1a [clang-tidy] Apply bugprone-argument-comment fixes.
This CL applies clang-tidy's bugprone-argument-comment [1] to the
WebRTC codebase.

All changes in this CL are automatically generated by both clang-tidy
and 'git cl format'.

[1] - https://clang.llvm.org/extra/clang-tidy/checks/bugprone-argument-comment.html

Bug: webrtc:10252
Change-Id: I77fec17509311275f18e730e482fb9f3fb2998ad
Reviewed-on: https://webrtc-review.googlesource.com/c/124989
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26900}
2019-02-28 14:51:51 +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
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
Niels Möller
c572ff3c71 Add default constructor for rtc::Event
Bug: webrtc:9962
Change-Id: Icaa91e657e6881fcb1553f354c07866109a0ea68
Reviewed-on: https://webrtc-review.googlesource.com/c/109500
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25535}
2018-11-07 08:57:50 +00:00
Danil Chapovalov
1a6a4f3d62 Replace WeakPtr with CancelablePeriodicTask in RtcpTransceiverImpl
This allow to destroy the RtcpTransceiverImpl off the task queue
with assumption it is destroyed after task queue.
i.e. it allows to post destruction of RtcpTransceiverImpl to the TaskQueue without waiting.

BUG: webrtc:8239
Change-Id: I4bea7a6d2edc97061ebd00f2f275c1ab827bc3c5
Reviewed-on: https://webrtc-review.googlesource.com/97160
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24574}
2018-09-05 11:06:16 +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
Yves Gerey
665174fdbb Reformat the WebRTC code base
Running clang-format with chromium's style guide.

The goal is n-fold:
 * providing consistency and readability (that's what code guidelines are for)
 * preventing noise with presubmit checks and git cl format
 * building on the previous point: making it easier to automatically fix format issues
 * you name it

Please consider using git-hyper-blame to ignore this commit.

Bug: webrtc:9340
Change-Id: I694567c4cdf8cee2860958cfe82bfaf25848bb87
Reviewed-on: https://webrtc-review.googlesource.com/81185
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23660}
2018-06-19 14:00:39 +00:00
Danil Chapovalov
d264df587f Replace rtc::Optional with absl::optional in modules/rtp_rtcp
This is a no-op change because rtc::Optional is an alias to absl::optional

This CL generated using script:
#!/bin/bash
dir=modules/rtp_rtcp
find $dir -type f \( -name \*.h -o -name \*.cc \) \
-exec sed -i 's|rtc::Optional|absl::optional|' {} \+ \
-exec sed -i 's|rtc::nullopt|absl::nullopt|' {} \+ \
-exec sed -i 's|#include "api/optional.h"|#include "absl/types/optional.h"|' {} \+

find $dir -type f -name BUILD.gn \
-exec sed -r -i 's|"(../)*api:optional"|"//third_party/abseil-cpp/absl/types:optional"|' {} \+;

git cl format

Bug: webrtc:9078
Change-Id: Ife720849709959046329c1c9faa3f31aa13274dc
Reviewed-on: https://webrtc-review.googlesource.com/83584
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23624}
2018-06-15 09:53:35 +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