aboutsummaryrefslogtreecommitdiff
path: root/rtc_base
AgeCommit message (Collapse)Author
2020-04-16Remove deprecated ssl_identity methodsHarald Alvestrand
This is a followup to https://webrtc-review.googlesource.com/c/src/+/170637 Bug: webrtc:11450 Change-Id: I69928ed7236c6a8a569c7dc0383f7debb4408179 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171224 Commit-Queue: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31086}
2020-04-15Reland of the test portion of:Tommi
https://webrtc-review.googlesource.com/c/src/+/172847 ------------ original description -------------- Preparation for ReceiveStatisticsProxy lock reduction. Update tests to call VideoReceiveStream::GetStats() in the same or at least similar way it gets called in production (construction thread, same TQ/thread). Mapped out threads and context for ReceiveStatisticsProxy, VideoQualityObserver and VideoReceiveStream. Added follow-up TODOs for webrtc:11489. One functional change in ReceiveStatisticsProxy is that when sender side RtcpPacketTypesCounterUpdated calls are made, the counter is updated asynchronously since the sender calls the method on a different thread than the receiver. Make CallClient::SendTask public to allow tests to run tasks in the right context. CallClient already does this internally for GetStats. Remove 10 sec sleep in StopSendingKeyframeRequestsForInactiveStream. Bug: webrtc:11489 Change-Id: I491e13344b9fa714de0741dd927d907de7e39e83 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173583 Commit-Queue: Tommi <tommi@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31077}
2020-04-15Mark static const class/struct members as constexpr.Mirko Bonadei
This change fixes declarations that have initial values but are technically not definitions by marking them constexpr (which counts as a definition). Bug: None Change-Id: Icbecf8d83faffa83b9f7e1ffe4d6ef3a3f0b0c2a Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173587 Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31073}
2020-04-14Remove deprecated SSLAdapter::SetIdentity.Mirko Bonadei
Bug: webrtc:10198 Change-Id: I675bc08bffa2774546357fb0b554bd52ca69c095 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173465 Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31061}
2020-04-14Remove OpenSSLIdentity::GenerateWithExpiration.Mirko Bonadei
These static functions were marked as deprecated and since they are not used this CL just removes them. Bug: webrtc:10198 Change-Id: I4872e31701543c988fe71ab4e0b32bd73ff07753 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173467 Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31057}
2020-04-14Remove OpenSSLAdapter restartable_ data member.Mirko Bonadei
Bug: webrtc:10198 Change-Id: I5beabba3837b92d600e2d7067954adf334adbdd0 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173335 Reviewed-by: Justin Uberti <juberti@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31056}
2020-04-09Adds tiny rtc::StringFormat utilityhenrika
Bug: webrtc:11493 Change-Id: If11a0362dfa820e4464129d0ea58ff8bc4ce86bc Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173323 Commit-Queue: Henrik Andreassson <henrika@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31043}
2020-04-09Fix socket not getting registered for epoll eventsmmorrison
When epoll is enabled in the PhysicalSocketServer, a socket may not get registered for its epoll events. If an AsyncSocket is closed and re-created during one of its signal callbacks, its old epoll events and new epolls events bitmasks may be the same, even though the fd has changed. This causes the epoll implementation to not register the new fd for any events. Fix this by resetting the saved events bitmask when the socket is closed. This ensures the new fd, if any, is registered if needed. Bug: webrtc:11497 Change-Id: Idea499e09aefdf292430d1a774a046f963603b95 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173103 Reviewed-by: Taylor <deadbeef@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Commit-Queue: Karl Wiberg <kwiberg@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31039}
2020-04-07Revert "Preparation for ReceiveStatisticsProxy lock reduction."Artem Titov
This reverts commit 24eed2735b2135227bcfefbabf34a89f9a5fec99. Reason for revert: Speculative revert: breaks downstream project Original change's description: > Preparation for ReceiveStatisticsProxy lock reduction. > > Update tests to call VideoReceiveStream::GetStats() in the same or at > least similar way it gets called in production (construction thread, > same TQ/thread). > > Mapped out threads and context for ReceiveStatisticsProxy, > VideoQualityObserver and VideoReceiveStream. Added > follow-up TODOs for webrtc:11489. > > One functional change in ReceiveStatisticsProxy is that when sender > side RtcpPacketTypesCounterUpdated calls are made, the counter is > updated asynchronously since the sender calls the method on a different > thread than the receiver. > > Make CallClient::SendTask public to allow tests to run tasks in the > right context. CallClient already does this internally for GetStats. > > Remove 10 sec sleep in StopSendingKeyframeRequestsForInactiveStream. > > Bug: webrtc:11489 > Change-Id: Ib45bfc59d8472e9c5ea556e6ecf38298b8f14921 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172847 > Commit-Queue: Tommi <tommi@webrtc.org> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> > Reviewed-by: Magnus Flodman <mflodman@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#31008} TBR=mbonadei@webrtc.org,henrika@webrtc.org,kwiberg@webrtc.org,tommi@webrtc.org,juberti@webrtc.org,mflodman@webrtc.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: webrtc:11489 Change-Id: I48b8359cdb791bf22b1a2c2c43d46263b01e0d65 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/173082 Reviewed-by: Artem Titov <titovartem@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31023}
2020-04-06Preparation for ReceiveStatisticsProxy lock reduction.Tommi
Update tests to call VideoReceiveStream::GetStats() in the same or at least similar way it gets called in production (construction thread, same TQ/thread). Mapped out threads and context for ReceiveStatisticsProxy, VideoQualityObserver and VideoReceiveStream. Added follow-up TODOs for webrtc:11489. One functional change in ReceiveStatisticsProxy is that when sender side RtcpPacketTypesCounterUpdated calls are made, the counter is updated asynchronously since the sender calls the method on a different thread than the receiver. Make CallClient::SendTask public to allow tests to run tasks in the right context. CallClient already does this internally for GetStats. Remove 10 sec sleep in StopSendingKeyframeRequestsForInactiveStream. Bug: webrtc:11489 Change-Id: Ib45bfc59d8472e9c5ea556e6ecf38298b8f14921 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172847 Commit-Queue: Tommi <tommi@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Magnus Flodman <mflodman@webrtc.org> Cr-Commit-Position: refs/heads/master@{#31008}
2020-04-03Don't trigger OnNetworkChange when changing from 3G to 4GJonas Oreland
This patch is a follow up to https://webrtc-review.googlesource.com/c/src/+/172582 and change so that a switch from CELLULAR_X to CELLULAR_Y does not trigger OnNetworkChange. This is needed as the OnNetworkChange signals triggers BasicPortAllocator to rescan all networks and generate new candidates. The actual adapter type change is still possible to react on using SignalTypeChanged. BUG: webrtc:11473 Change-Id: Icc1a945b8a4df1714c6ec4b02ec759ecada92d7f Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172802 Commit-Queue: Jonas Oreland <jonaso@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30992}
2020-04-02Replace std::string::find() == 0 with absl::StartsWith (part 2).Mirko Bonadei
This CL has been generated using clang-tidy [1] except for changes to BUILD.gn files. [1] - https://clang.llvm.org/extra/clang-tidy/checks/abseil-string-find-startswith.html Bug: None Change-Id: Ibf75601065a53bde28623b8eef57bec067235640 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172586 Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30984}
2020-04-02Fix errors C2238, C2248 and C2059 on MSVC bots.Mirko Bonadei
This CL fixes the following errors on MSVC bots: ../../rtc_base/units/unit_base_unittest.cc(42): error C2059: syntax error: '<' ../../rtc_base/units/unit_base_unittest.cc(42): error C2238: unexpected token(s) preceding ';' ../..\rtc_base/units/unit_base.h(39): error C2248: 'webrtc::`anonymous-namespace'::TestUnit::TestUnit': cannot access protected member declared in class 'webrtc::`anonymous-namespace'::TestUnit' No-Try: True Bug: None Change-Id: Ic63a75132107381474aca2e1d42ba96d1f6a1c00 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172621 Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30972}
2020-04-02Extend rtc::AdapterType with 2g, 3G, 4G & 5G enum values.Jonas Oreland
This patch adds new enum values for different types of cellular connections. The new costs are currently blocked when sending to remote, (so that arbitrary network switches does not starts occurring). The end-game for this series to be able to distinguish between different type of cellular connections in the ice-layer (e.g when selecting/switching connections). BUG: webrtc:11473 Change-Id: I587ac8fdff4f6cdd0f8905f327232f58818db4f6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172582 Commit-Queue: Jonas Oreland <jonaso@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30970}
2020-04-01Remove unnecessary breaks after return.Mirko Bonadei
Patch author: thakis@chromium.org. TBR=kwiberg@webrtc.org No-Try: True Bug: chromium:1066980 Change-Id: Ifcc7e831337bb2a9bf06b0af0bbd9d1c586db78a Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172627 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Nico Weber <thakis@chromium.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30968}
2020-04-01Remove some more instances of IP logging.Paulina Hensman
Bug: b/152662380 Change-Id: I1f33f470c4dd5458c2d2598e2f17f6691f72df4a Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172446 Reviewed-by: Sami Kalliomäki <sakal@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Commit-Queue: Paulina Hensman <phensman@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30957}
2020-03-30Add test for relay bandwidth capping.Christoffer Rodbro
Feature was added in https://webrtc-review.googlesource.com/c/src/+/171226 Bug: webrtc:11434 Change-Id: Iee1e350976ab4043f15c5932cdc4f53b413bb302 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171861 Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Commit-Queue: Christoffer Rodbro <crodbro@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30940}
2020-03-30Revert "Add interface_id to rtc::Network"Olga Sharonova
This reverts commit 7e91482fcc496103f36333a569992c81b6dc9e9c. Reason for revert: Speculative revert, as Android FYI bots are red starting https://webrtc.googlesource.com/src/+/7e91482fcc496103f36333a569992c81b6dc9e9c where this CL landed. See also https://bugs.chromium.org/p/chromium/issues/detail?id=1065805. Original change's description: > Add interface_id to rtc::Network > > This patch adds an interface_id property > to rtc::Network. It is an enumeration of the > interface names that are present. > > This enables a local ICE agent to keep track > of which connections are using which interfaces, > something that is useful for predicting how > connections behave. > > This is part 1 of https://webrtc-review.googlesource.com/c/src/+/85520 > > Bug: webrtc:9446 > Change-Id: Ia6ec1f14ac240799fb1be49d67d82e2733e87acf > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171061 > Reviewed-by: Harald Alvestrand <hta@webrtc.org> > Commit-Queue: Jonas Oreland <jonaso@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#30882} No-Presubmit: True Bug: webrtc:9446 TBR=hta@webrtc.org, jonaso@webrtc.org Change-Id: If86e2e0653b53a8eae26a97ce9fa68748b440607 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/172092 Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Olga Sharonova <olka@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30937}
2020-03-25Add interface_id to rtc::NetworkJonas Oreland
This patch adds an interface_id property to rtc::Network. It is an enumeration of the interface names that are present. This enables a local ICE agent to keep track of which connections are using which interfaces, something that is useful for predicting how connections behave. This is part 1 of https://webrtc-review.googlesource.com/c/src/+/85520 BUG: webrtc:9446 Change-Id: Ia6ec1f14ac240799fb1be49d67d82e2733e87acf Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171061 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Jonas Oreland <jonaso@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30882}
2020-03-25remove deprecated fields in rtc::NetworkRouteJonas Oreland
this patch is a followup to https://webrtc-review.googlesource.com/c/src/+/170628 and removed the now deprecated fields {local/remote}_network_id that is now no longer used by downstream. BUG: webrtc:11434 Change-Id: Ia322609c0b4f07b05b8592cbca7f001a115da109 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171515 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Commit-Queue: Jonas Oreland <jonaso@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30874}
2020-03-24Only print route if it has changedJonas Oreland
This is a follow up change to https://webrtc-review.googlesource.com/c/src/+/170628 and modifies code to only LOG if the route really has changed. Existing code will LOG like this, which is slightly annoying. Notice that the same route change is LOG:ed twice. 03-23 13:28:49.281 17986 18850 I rtp_transport_controller_send.cc: [1183:590] [18850] (line 253): Network route changed on transport audio: new_route = [ connected: 1 local: [ 2/4 Wifi turn: 0 ] remote: [ 2/3 Wifi turn: 0 ] packet_overhead_bytes: 32 ] 03-23 13:28:49.281 17986 18850 I rtp_transport_controller_send.cc: [1183:590] [18850] (line 278): old_route = [ connected: 1 local: [ 2/4 Wifi turn: 1 ] remote: [ 2/3 Wifi turn: 0 ] packet_overhead_bytes: 28 ] 03-23 13:28:49.281 17986 18850 I rtp_transport_controller_send.cc: [1183:591] [18850] (line 253): Network route changed on transport audio: new_route = [ connected: 1 local: [ 2/4 Wifi turn: 0 ] remote: [ 2/3 Wifi turn: 0 ] packet_overhead_bytes: 32 ] 03-23 13:28:49.282 17986 18850 I rtp_transport_controller_send.cc: [1183:591] [18850] (line 278): old_route = [ connected: 1 local: [ 2/4 Wifi turn: 0 ] remote: [ 2/3 Wifi turn: 0 ] packet_overhead_bytes: 32 ] The way this method is called twice with same argument is out of scope for this change. BUG: webrtc:11434 Change-Id: I052d089c59714513a09cbaed49f24c8f1300af58 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171460 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Björn Terelius <terelius@webrtc.org> Commit-Queue: Jonas Oreland <jonaso@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30865}
2020-03-23Fix -Wunreachable-code on Linux.Mirko Bonadei
Starting from [1] the toolchain has started to enforce -Wunreachable-code on Linux, this CL fixes the issues that are preventing the Chromium roll into WebRTC. Error example at [2]. [1] - https://chromium-review.googlesource.com/c/chromium/src/+/2093537 [2] - https://ci.chromium.org/p/webrtc/builders/try/linux_rel/34282? Bug: webrtc:11448 Change-Id: I96e8901ae80c44d69143ed8d972e250b6b926a7d Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171500 Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30858}
2020-03-21Refactor ssl_stream_adapter API to show object ownershipHarald Alvestrand
Backwards compatible overloads are provided. Bug: none Change-Id: I065ad6b269fe074745f9debf68862ff70fd09628 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170637 Commit-Queue: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30851}
2020-03-20Extend NetworkRoute with more info about local/remote endpointsJonas Oreland
This patch extends the NetworkRoute struct with more information about local/remote endpoints. It adds - adapter type - adapter id - relay (previously it was "only" network_id) The patch leaves the {local/remote}_network_id fields around and populated since downstream projects depend on them. They will be removed once they have migrated. OWNER: srte@ call/ test/ OWNER: asapersson@ video/ OWNER: hta@ p2p/ pc/ rtc_base/ BUG: webrtc:11434 Change-Id: I9bcec385b40d707db385fef40b2c7a315dd35dd0 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170628 Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Åsa Persson <asapersson@webrtc.org> Commit-Queue: Jonas Oreland <jonaso@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30848}
2020-03-18Reland "Leverage dispatch_queue_create_with_target when possible."Yura Yaroshevich
This is a reland of de86381161651816c078adeb354902b15d03a35b Original change's description: > Leverage dispatch_queue_create_with_target when possible. > > Replacing dispatch_queue_create followed by > dispatch_set_target_queue with dispatch_queue_create_with_target > is claimed to be source of GCD performance improvement: > https://developer.apple.com/videos/play/wwdc2017/706/ > Video since 40 min. Slides since 199. > > Bug: webrtc:9055 > Change-Id: I0136f7faaef0951a7ad243bc8772f3ee952d5470 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168491 > Reviewed-by: Tommi <tommi@webrtc.org> > Reviewed-by: Kári Helgason <kthelgason@webrtc.org> > Commit-Queue: Yura Yaroshevich <yura.yaroshevich@gmail.com> > Cr-Commit-Position: refs/heads/master@{#30781} Bug: webrtc:9055 Change-Id: I36b0b6423c81c0497f66f7c993741c33ff6ec5ba Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170443 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Tommi <tommi@webrtc.org> Reviewed-by: Kári Helgason <kthelgason@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30821}
2020-03-13Revert "Leverage dispatch_queue_create_with_target when possible."Alex Loiko
This reverts commit de86381161651816c078adeb354902b15d03a35b. Reason for revert: Fails downstream project, """fatal error: 'rtc_base/system/gcd_helpers.h' file not found""" Original change's description: > Leverage dispatch_queue_create_with_target when possible. > > Replacing dispatch_queue_create followed by > dispatch_set_target_queue with dispatch_queue_create_with_target > is claimed to be source of GCD performance improvement: > https://developer.apple.com/videos/play/wwdc2017/706/ > Video since 40 min. Slides since 199. > > Bug: webrtc:9055 > Change-Id: I0136f7faaef0951a7ad243bc8772f3ee952d5470 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168491 > Reviewed-by: Tommi <tommi@webrtc.org> > Reviewed-by: Kári Helgason <kthelgason@webrtc.org> > Commit-Queue: Yura Yaroshevich <yura.yaroshevich@gmail.com> > Cr-Commit-Position: refs/heads/master@{#30781} TBR=tommi@webrtc.org,kthelgason@webrtc.org,yura.yaroshevich@gmail.com Change-Id: I47fafa47afa2c825c8f100253d8a1f035203d9e8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: webrtc:9055 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170361 Reviewed-by: Alex Loiko <aleloi@google.com> Commit-Queue: Alex Loiko <aleloi@google.com> Cr-Commit-Position: refs/heads/master@{#30785}
2020-03-12Leverage dispatch_queue_create_with_target when possible.Yura Yaroshevich
Replacing dispatch_queue_create followed by dispatch_set_target_queue with dispatch_queue_create_with_target is claimed to be source of GCD performance improvement: https://developer.apple.com/videos/play/wwdc2017/706/ Video since 40 min. Slides since 199. Bug: webrtc:9055 Change-Id: I0136f7faaef0951a7ad243bc8772f3ee952d5470 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168491 Reviewed-by: Tommi <tommi@webrtc.org> Reviewed-by: Kári Helgason <kthelgason@webrtc.org> Commit-Queue: Yura Yaroshevich <yura.yaroshevich@gmail.com> Cr-Commit-Position: refs/heads/master@{#30781}
2020-03-10Allow TimestampAligner to translate timestamp without new observation of ↵Minyue Li
system clock. Bug: chromium:1054403 Change-Id: I32c622851fc0bed2c47ae142c743399acb91ae84 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169924 Commit-Queue: Minyue Li <minyue@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Reviewed-by: Niels Moller <nisse@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30744}
2020-03-09Make a switch to disable DTLS 1.0, TLS 1.0 and TLS 1.1 downgrade in WebRTC.Harald Alvestrand
This reverts commit af1f8655b2cb69af382396ea642eb0a2bf04bb4d Landing the change with default set to "enabled" (DTLS 1.0 will continue to work by default), so that flipping the default can be a separate CL. Original change's description: > Revert "Disable DTLS 1.0, TLS 1.0 and TLS 1.1 downgrade in WebRTC." > > This reverts commit 7276b974b78ea4f409d8738b1b6f1515f7a8968e. > > Reason for revert: Changing to a later Chrome release. > > Original change's description: > > Disable DTLS 1.0, TLS 1.0 and TLS 1.1 downgrade in WebRTC. > > > > This change disables DTLS 1.0, TLS 1.0 and TLS 1.1 in WebRTC by default. This > > is part of a larger effort at Google to remove old TLS protocols: > > https://security.googleblog.com/2018/10/modernizing-transport-security.html > > > > For the M74 timeline I have added a disabled by default field trial > > WebRTC-LegacyTlsProtocols which can be enabled to support these cipher suites > > as consumers move away from these legacy cipher protocols but it will be off > > in Chrome. > > > > This is compliant with the webrtc-security-arch specification which states: > > > > All Implementations MUST implement DTLS 1.2 with the > > TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 cipher suite and the P-256 > > curve [FIPS186]. Earlier drafts of this specification required DTLS > > 1.0 with the cipher suite TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, and > > at the time of this writing some implementations do not support DTLS > > 1.2; endpoints which support only DTLS 1.2 might encounter > > interoperability issues. The DTLS-SRTP protection profile > > SRTP_AES128_CM_HMAC_SHA1_80 MUST be supported for SRTP. > > Implementations MUST favor cipher suites which support (Perfect > > Forward Secrecy) PFS over non-PFS cipher suites and SHOULD favor AEAD > > over non-AEAD cipher suites. > > > > Bug: webrtc:10261 > > Change-Id: I847c567592911cc437f095376ad67585b4355fc0 > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/125141 > > Commit-Queue: Benjamin Wright <benwright@webrtc.org> > > Reviewed-by: David Benjamin <davidben@webrtc.org> > > Reviewed-by: Qingsi Wang <qingsi@webrtc.org> > > Cr-Commit-Position: refs/heads/master@{#27006} > > TBR=steveanton@webrtc.org,davidben@webrtc.org,qingsi@webrtc.org,benwright@webrtc.org > > # Not skipping CQ checks because original CL landed > 1 day ago. > > Bug: webrtc:10261 > Change-Id: I34727e65c069e1fb2ad71838828ad0a22b5fe811 > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/130367 > Commit-Queue: Benjamin Wright <benwright@webrtc.org> > Reviewed-by: Benjamin Wright <benwright@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#27403} Bug: webrtc:10261 Change-Id: I28c6819d37665976e396df280b4abf48fb91d533 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169851 Commit-Queue: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Benjamin Wright <benwright@webrtc.org> Reviewed-by: Qingsi Wang <qingsi@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30733}
2020-03-06Refactor TimestampAligner for more general use.Minyue Li
This only changes the comments and rename variables. Bug: chromium:1054403 Change-Id: Ie7419ca23e482361e9f90405587b8c8f839b26d2 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169101 Commit-Queue: Minyue Li <minyue@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Reviewed-by: Niels Moller <nisse@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30710}
2020-03-04Update RTC_CHECK and RTC_LOG macros so they work when called from xxxxx::rtc ↵Jiawei Ou
namespaces Adding :: before rtc allow us to use the macro in nested rtc namespace for external components like namespace xxxxxxx { namespace rtc { RTC_CHECK(true); } } Bug: webrtc:11400 Change-Id: I79349b847c3fce8197c82aec31b672a1a16e5388 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169683 Commit-Queue: Jiawei Ou <ouj@fb.com> Reviewed-by: Tommi <tommi@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30684}
2020-03-03Makes Thread::Send execute sent messages after pending posted messages.Sebastian Jansson
Bug: webrtc:11255 Change-Id: I4b9036d22c9db3a5ec0e19fc5f2f5ac0d7e2289a Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168058 Commit-Queue: Sebastian Jansson <srte@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Reviewed-by: Ali Tofigh <alito@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30667}
2020-03-02BoundedInlineVector: Add resize() methodKarl Wiberg
Bug: webrtc:11391 Change-Id: I34d659d0e295617e9058393d4d1b510111a78b83 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169520 Commit-Queue: Karl Wiberg <kwiberg@webrtc.org> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30664}
2020-03-02BoundedInlineVector: Vector class of bounded size with inline allocationKarl Wiberg
Selling point is that it never touches the heap. Intended use case is cheaply returning a variable, bounded, and small number of things from a function. Specifically, there are situations where we'd like to return things like ArrayView<ArrayView<float>> where we currently have to allocate an array of ArrayView<float> for the outer ArrayView to point to, which is a bother; however, although the outer ArrayView is of variable size, that size is statically guaranteed to not exceed some small constant. After this CL, we'll be able to instead return BoundedInlineVector<ArrayView<float>, kSmallConstant> which is much more convenient. We already had the option of returning e.g. std::vector<ArrayView<float>> but that would bloat our binary with code to handle heap allocations in places we'd rather be lean and mean. https://godbolt.org/z/r-vcPj demonstrates that the overhead compared to a raw C array + a size is ~zero. Bug: webrtc:11391 Change-Id: Ifb6d937193052588be641aa62cc67ba0ec64ded6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168944 Commit-Queue: Karl Wiberg <kwiberg@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Per Åhgren <peah@webrtc.org> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30663}
2020-03-02Cleanup: Use common IP overhead definitions in test and prod codeSebastian Jansson
This avoid duplication. As part of this moving the overhead calculation to the IP address class so it's easier to find and more natural to use. Bug: webrtc:9883 Change-Id: If4d865f445bc1a302572896932966ce30294e339 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169445 Commit-Queue: Sebastian Jansson <srte@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30657}
2020-02-20Delete header file rtc_base/memory/aligned_array.hNiels Möller
Move definition of AlignedArray to the only code using it, the test-only LappedTransform class, and delete unused methods. Bug: webrtc:6424, webrtc:9577 Change-Id: I1bb5f57400f7217345b7ec7376235ad4c4bae858 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168701 Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Commit-Queue: Niels Moller <nisse@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30576}
2020-02-19Remove wildcard ownership for build files.Mirko Bonadei
No-Try: True Bug: webrtc:10381 Change-Id: I852d9a2da7e0c5c12f508a1c788b0b5753503aba Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168769 Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30558}
2020-02-19Remove inactive OWNERS.Mirko Bonadei
No-Try: True Bug: webrtc:10381 Change-Id: I3b56c74d913a47e4297518005b0cb19de8fafbff Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168421 Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30556}
2020-02-18Replace DataSize and DataRate factories with newer versionsDanil Chapovalov
This is search and replace change: find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/DataSize::Bytes<\(.*\)>()/DataSize::Bytes(\1)/g" find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/DataSize::bytes/DataSize::Bytes/g" find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/DataRate::BitsPerSec<\(.*\)>()/DataRate::BitsPerSec(\1)/g" find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/DataRate::BytesPerSec<\(.*\)>()/DataRate::BytesPerSec(\1)/g" find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/DataRate::KilobitsPerSec<\(.*\)>()/DataRate::KilobitsPerSec(\1)/g" find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/DataRate::bps/DataRate::BitsPerSec/g" find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/DataRate::kbps/DataRate::KilobitsPerSec/g" git cl format Bug: webrtc:9709 Change-Id: I65aaca69474ba038c1fe2dd8dc30d3f8e7b94c29 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168647 Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30545}
2020-02-14Removing dead codeXavier Lepaul
This is a follow-up of https://webrtc-review.googlesource.com/c/src/+/168403, removing code that was only used from the now-deleted code. The if.h include is still needed for some IFF_xxx flags, but can be simplified to use the POSIX version as route.h isn't needed anymore. Bug: None Change-Id: Ic2def8b54a9d3aa1a0e3eabf6f1a837a0cf8a5a8 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168483 Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Reviewed-by: Niels Moller <nisse@webrtc.org> Commit-Queue: Xavier Lepaul <xalep@google.com> Cr-Commit-Position: refs/heads/master@{#30523}
2020-02-10Remove unused method `set_ignore_non_default_routes`Xavier Lepaul
Also removing the corresponding unit test. Bug: None Change-Id: I585b88b794a78f5cdf5dd339a6d94788578cf2c7 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168403 Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Commit-Queue: Xavier Lepaul <xalep@google.com> Cr-Commit-Position: refs/heads/master@{#30493}
2020-02-10Use newer version of TimeDelta and TimeStamp factories in webrtcDanil Chapovalov
find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/TimeDelta::Micros<\(.*\)>()/TimeDelta::Micros(\1)/g" find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/TimeDelta::Millis<\(.*\)>()/TimeDelta::Millis(\1)/g" find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/TimeDelta::Seconds<\(.*\)>()/TimeDelta::Seconds(\1)/g" find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/TimeDelta::us/TimeDelta::Micros/g" find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/TimeDelta::ms/TimeDelta::Millis/g" find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/TimeDelta::seconds/TimeDelta::Seconds/g" find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/Timestamp::Micros<\(.*\)>()/Timestamp::Micros(\1)/g" find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/Timestamp::Millis<\(.*\)>()/Timestamp::Millis(\1)/g" find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/Timestamp::Seconds<\(.*\)>()/Timestamp::Seconds(\1)/g" find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/Timestamp::us/Timestamp::Micros/g" find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/Timestamp::ms/Timestamp::Millis/g" find . -type f \( -name "*.h" -o -name "*.cc" \) | xargs sed -i -e "s/Timestamp::seconds/Timestamp::Seconds/g" git cl format Bug: None Change-Id: I87469d2e4a38369654da839ab7c838215a7911e7 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168402 Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Commit-Queue: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30491}
2020-02-07Enable congestion window pushback to reduce bitrate by only drop video frames.Ying Wang
With current congestion window pushback, when congestion window is filling up, it will reduce bitrate directly and encoder may reduce encode quality, resolution, or framerate to adapt to the allocated bitrate, the behavior is depending on the degradation preference. This change enable congestion window to only drop frames to reduce bitrate (when needed) instead of reduce general bitrate allocation. Bug: webrtc:11334 Change-Id: I9cf5c20a0858c4d07d006942abe72aa5e1f7cb38 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168059 Commit-Queue: Ying Wang <yinwa@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Reviewed-by: Åsa Persson <asapersson@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30483}
2020-02-07Add DSCP support for POSIX platforms.Taylor Brandstetter
This CL only includes the necessary changes in PhysicalSocketServer, and doesn't include the Java or Objective C API. Note that this is doing exactly the same thing as UDPSocketPosix in chromium. BUG=webrtc:5658 Change-Id: I295455eaccba2a83cdd1bc55848f325c310f8d32 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168260 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Qingsi Wang <qingsi@webrtc.org> Commit-Queue: Taylor <deadbeef@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30478}
2020-02-06Add a method to report number of samples in MovingMedianFilter.Minyue Li
Bug: webrtc:11342 Change-Id: Ie76a750ca43ee2e563b702e9e7e07eceb77e782b Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168222 Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Chen Xing <chxg@google.com> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Commit-Queue: Minyue Li <minyue@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30471}
2020-02-04Define rtc::BufferT::const_iteratorKarl Wiberg
So that we can use rtc::Buffer with gmock container matchers. Bug: none Change-Id: I2f6e98850e82902636824168edaa37a90681ad98 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168188 Commit-Queue: Karl Wiberg <kwiberg@webrtc.org> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30454}
2020-02-03AsyncTCPSocket: try sending outgoing data until EWOULDBLOCKSteve Anton
The AsyncTCPSocket is an AsyncPacketSocket which means it emulates UDP-like (packet) semantics via a TCP stream. When sending, if the entire packet could not be written then the packet socket should indicate it wrote the whole thing and flush out the remaining later when the socket is available. The WriteEvent signal was already wired up but was not getting fired (at least with the virtual sockets) since it would not call Send() enough on the underlying socket to get an EWOULDBLOCK that would register the async event. This changes AsyncTCPSocket to repeatedly call Send() on the underlying socket until the entire packet has been written or EWOULDBLOCK was returned. Bug: webrtc:6655 Change-Id: I41e81e0c106c9b3e712a8a0f792d28745d93f2d2 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168083 Reviewed-by: Qingsi Wang <qingsi@webrtc.org> Commit-Queue: Steve Anton <steveanton@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30449}
2020-01-29Makes all units and operations constexprSebastian Jansson
Since RTC_DCHECK was made constexpr compatible, we can now make the unit classes fully constexpr. Bug: webrtc:9883 Change-Id: I18973c2f318449869cf0bd45699c41be53fba806 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167722 Commit-Queue: Sebastian Jansson <srte@webrtc.org> Reviewed-by: Ali Tofigh <alito@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30403}
2020-01-28Remove iceRegatherIntervalRangeSteve Anton
This was an ICE configuration experiment added a couple years ago that did not end up being used. Bug: webrtc:11316 Change-Id: Iafb7e1c4f7b4598815f045808dbf6e470172f119 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/167680 Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Reviewed-by: Qingsi Wang <qingsi@webrtc.org> Commit-Queue: Steve Anton <steveanton@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30395}
2020-01-22Moves ownership of time controller into NetworkEmulationManager.Sebastian Jansson
This makes it easier to maintain consistency between real time and simulated time modes. The RealTimeController is updated to use an explicit main thread, this ensures that pending destruction tasks are run as the network emulator goes out of scope. Bug: webrtc:11255 Change-Id: Ie73ab778c78a68d7c58c0f857f14a8d8ac027c67 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/166164 Commit-Queue: Sebastian Jansson <srte@webrtc.org> Reviewed-by: Steve Anton <steveanton@webrtc.org> Reviewed-by: Artem Titov <titovartem@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30342}