Commit Graph

24761 Commits

Author SHA1 Message Date
8285841e8f Adds handling of untracked data to congestion controller.
Bug: webrtc:9796
Change-Id: I097e8f72a6c8d323c3ea73dbb4ade60873dd4e8d
Reviewed-on: https://webrtc-review.googlesource.com/c/104883
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25129}
2018-10-11 18:47:44 +00:00
ca51189154 Roll chromium_revision f34485ffde..9d052f4b6f (598711:598839)
Change log: f34485ffde..9d052f4b6f
Full diff: f34485ffde..9d052f4b6f

Changed dependencies
* src/base: b9dc104727..eb0a6111a3
* src/build: 5c76555180..da51397657
* src/ios: e0efc28ed6..c948d82fc8
* src/testing: 6f660eacbb..c9751bf3b4
* src/third_party: 6a4d9a4ea8..62d54e67e7
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/ce00828c89..2d98d49cf7
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/cd3378c320..c8b97e37ec
* src/tools: 4e24c7a58e..5689eb464e
DEPS diff: f34485ffde..9d052f4b6f/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I2df81a0617dc472fa9566c9e1acb0242eeac079c
Reviewed-on: https://webrtc-review.googlesource.com/c/105440
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#25128}
2018-10-11 18:41:42 +00:00
0d399a855b Removes socket addresses from PacketInfo struct.
These are not used and removing them makes an upcoming CL moving
the PacketInfo struct much simpler.

Bug: webrtc:9586
Change-Id: I23acb93d9e15f6664e2fa93de744f156546dcbd0
Reviewed-on: https://webrtc-review.googlesource.com/c/105004
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25127}
2018-10-11 18:26:52 +00:00
20ad2544b4 Adds tracking of allocated but unacknowledged bitrate.
This adds tracking of traffic for streams that are part of bitrate
allocation but without packet feedback to send side congestion
controller.

This is part of a series of CLs that allows GoogCC to track sent bitrate
that is included in bitrate allocation but without transport feedback.

Bug: webrtc:9796
Change-Id: I13e994461c26638d76e8f2f115e6d375e4403116
Reviewed-on: https://webrtc-review.googlesource.com/c/104940
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25126}
2018-10-11 17:45:53 +00:00
26968bafc2 Delete unused utf8 conversion utilities
And drop a few unneeded includes of rtc_base/stringencode.h.

Bug: webrtc:6424
Change-Id: I8be92a2ca199afaae1d3a177c23acbf2b9bdc465
Reviewed-on: https://webrtc-review.googlesource.com/c/105002
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25125}
2018-10-11 16:16:33 +00:00
e8038e9aab Adds IP overhead info to PacketInfo.
This prepares for an upcoming CL removing the SocketAdress members.

Bug: webrtc:9586
Change-Id: Iacb03a106f1b143bd2d401a621abb99847a634ed
Reviewed-on: https://webrtc-review.googlesource.com/c/105325
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25124}
2018-10-11 16:15:27 +00:00
74cd1ef9f5 AEC3: Enabling by default the use of the stationarity properties at render at init
In this CL the use of the stationarity properties at init is set to true by default.

Bug: webrtc:9865, chromium:894439
Change-Id: I716ce0d792a50616dc38cc0ba6f2c702549a81cc
Reviewed-on: https://webrtc-review.googlesource.com/c/105303
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Jesus de Vicente Pena <devicentepena@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25123}
2018-10-11 16:14:22 +00:00
5350d1cafd RtcEventLogSource no longer uses deprecated parsing functions.
Also remove header extension map from NetEqEventLogInput and RtcEventLogSource.

Bug: webrtc:8111
Change-Id: Ic9be7b03e32ab8aa12284596e21e53b6763f483a
Reviewed-on: https://webrtc-review.googlesource.com/c/102622
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Minyue Li <minyue@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25122}
2018-10-11 16:13:17 +00:00
499bc6c5d0 Fix race conditions for ReofferDoesNotCallOnTrack test.
This CL extend critical sections to incorporate:
 * private_submodules_->echo_controller
 * config_

As a side benefit, it prevents weird interleaving where configuration
could have been changed in the middle of GetStatistics methods.

Bug: webrtc:9841
Change-Id: I0de5e756a684c2ff1be4effccf8c0f3d3175e3b9
Reviewed-on: https://webrtc-review.googlesource.com/c/105142
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Yves Gerey <yvesg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25121}
2018-10-11 16:12:12 +00:00
53e22113fd AEC3: Kill kill-switches
"Perfection is achieved, not when there is nothing more to add,
but when there is nothing left to take away."

This CL removes the following kill-switches from AEC3
- WebRTC-Aec3DownSamplingFactor8KillSwitch
- WebRTC-Aec3NewSuppressionKillSwitch
- WebRTC-Aec3ShadowFilterJumpstartKillSwitch
- WebRTC-Aec3SlowFilterAdaptationKillSwitch
- WebRTC-Aec3SuppressorNearendAveragingKillSwitch

It also removes code paths and configuration parameters that are no
longer in use. The list of kill-switches in the audio processing
fuzzer test is updated.

The change has been tested for bit-exactness.

Bug: webrtc:8671
Change-Id: Ie0af86a14baf853548bf9c00b2b9b3bbc32c1aaa
Reviewed-on: https://webrtc-review.googlesource.com/c/105324
Reviewed-by: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25120}
2018-10-11 16:11:07 +00:00
8b3cc4982f Adds default values for feedback/allocation indicators.
This is part of a series of CLs that allows GoogCC to track sent bitrate
that is included in bitrate allocation but without transport feedback.

Bug: webrtc:9796
Change-Id: I21b4d1fb72710ee3a101888bb6a0b11e0aea35d8
Reviewed-on: https://webrtc-review.googlesource.com/c/105328
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25119}
2018-10-11 16:10:02 +00:00
fb226af64d Remove some old logging in goog_cc for congestion window.
Bug: None
Change-Id: I05550e5099cd7b4bc9512d2ce4159222779c02a7
Reviewed-on: https://webrtc-review.googlesource.com/c/105326
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Reviewed-by: Ying Wang <yinwa@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25118}
2018-10-11 16:08:57 +00:00
a1d9ca47f9 Revert "Add ability to specify if rate controller of video encoder is trusted."
This reverts commit 3e335d1423cab06cca8cdb4f1fadb0b16c9e7d38.

Reason for revert: breaks downstream project

Original change's description:
> Add ability to specify if rate controller of video encoder is trusted.
>
> If rate controller is trusted, we disable the frame dropper in the
> media optimization module.
>
> Bug: webrtc:9722
> Change-Id: I821f21fd74a400ee9d5aa3f6b42d4e569033acbe
> Reviewed-on: https://webrtc-review.googlesource.com/c/105020
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Per Kjellander <perkj@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25107}

TBR=brandtr@webrtc.org,ilnik@webrtc.org,nisse@webrtc.org,sprang@webrtc.org,perkj@webrtc.org

Change-Id: Ifdb0aae684894854a184ec1e7423a7c62e7ba237
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9722
Reviewed-on: https://webrtc-review.googlesource.com/c/105360
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25117}
2018-10-11 15:37:40 +00:00
cdc959fb42 Compute video freeze metrics on rendered frames instead of on decoded
Bug: webrtc:9828
Change-Id: I1390c736785759a2d8712e71398db4f5069ebcd4
Reviewed-on: https://webrtc-review.googlesource.com/c/105100
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25116}
2018-10-11 14:20:40 +00:00
3bdbc84888 Moves pushback controller to GoogCC
Since the pushback controller doesn't strictly adhere to the congestion
window, it better belongs together with the congestion controller logic.

Also ensuring that it does not override the configured min bitrate.

Bug: webrtc:9586
Change-Id: I57dcfc946d470247e66c67adabddaafa3d9d83ad
Reviewed-on: https://webrtc-review.googlesource.com/c/105102
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Ying Wang <yinwa@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25115}
2018-10-11 13:49:07 +00:00
f81170b48f Add error logs to RtpPacketHistory::GetBestFittingPacket when no packet is found.
Make sure nullptr is returned if the packet is not in history.

Bug: webrtc:9863
Change-Id: I9658b1b271071a4bd38f062ed68c60cc04c63123
Reviewed-on: https://webrtc-review.googlesource.com/c/105300
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25114}
2018-10-11 12:33:07 +00:00
ade98c928b Adds srte to WATCHLISTS.
Bug: webrtc:9586
Change-Id: I69b6b1546eade0776ebf65555d33e6dc39c7e77f
Reviewed-on: https://webrtc-review.googlesource.com/c/105320
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25113}
2018-10-11 11:52:28 +00:00
2b1562632a Revert "Use unique_ptr and ArrayView in SSLFingerprint"
This reverts commit cc21e61e07e641f58315a8976427c77614138c90.

Reason for revert: Breaks WebRTC roll in Chromium. See https://chromium-review.googlesource.com/c/chromium/src/+/1275426

Original change's description:
> Use unique_ptr and ArrayView in SSLFingerprint
> 
> Bug: webrtc:9860
> Change-Id: Id919c3a53604357c5ab449f6ab8a1d2ea6575fbe
> Reviewed-on: https://webrtc-review.googlesource.com/c/105220
> Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
> Reviewed-by: Benjamin Wright <benwright@webrtc.org>
> Commit-Queue: Steve Anton <steveanton@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25102}

TBR=steveanton@webrtc.org,qingsi@webrtc.org,benwright@webrtc.org

Change-Id: Icd48314289f3285bfab034712bc022acb5eea88a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9860
Reviewed-on: https://webrtc-review.googlesource.com/c/105307
Reviewed-by: Henrik Grunell <henrikg@webrtc.org>
Commit-Queue: Henrik Grunell <henrikg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25112}
2018-10-11 11:16:01 +00:00
703259c6e9 Don't CHECK when parsing AEC3 parameters from json
This CL replaces CHECKs and crashes with DCHECKs and default values.

Bug: webrtc:9535
Change-Id: Ib4b16421699c633d0e9ef140189861c8179450f4
Reviewed-on: https://webrtc-review.googlesource.com/c/105003
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25111}
2018-10-11 10:37:41 +00:00
80bf775ab3 Roll chromium_revision 2499289737..f34485ffde (598606:598711)
Change log: 2499289737..f34485ffde
Full diff: 2499289737..f34485ffde

Changed dependencies
* src/build: 39b6c0c2cd..5c76555180
* src/ios: bbdec9eda9..e0efc28ed6
* src/testing: 21e4247f7e..6f660eacbb
* src/third_party: 4bb5fbd0ae..6a4d9a4ea8
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/fc2aa094ed..cd3378c320
* src/tools: e5e3a3079b..4e24c7a58e
DEPS diff: 2499289737..f34485ffde/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I22270aea35621abf2756aa8693436a3395e6f3e1
Reviewed-on: https://webrtc-review.googlesource.com/c/105268
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#25110}
2018-10-11 10:33:01 +00:00
f7fcaf0885 Use zero octets for rtp packet padding
RFC3550 Section 4 mention
"Octets designated as padding have the value zero."

Bug: None
Change-Id: Ife4c6226143c79ad7d152bc6099ba1d81f5492dd
Reviewed-on: https://webrtc-review.googlesource.com/c/103983
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25109}
2018-10-11 10:22:36 +00:00
3d255309e9 Reland "Export symbols needed by the Chromium component build (part 1)."
This reverts commit 16fe3f290a524a136f71660a114d0b03ef501f10.

Reason for revert:
After discussing this problem with nisse@ and yvesg@, we decided to modify
how RTC_EXPORT works and avoid to depend on the macro COMPONENT_BUILD.
RTC_EXPORT will instead depend on a macro WEBRTC_COMPONENT_BUILD (which
can be set as a GN argument which defaults to false).
When all the symbols needed by Chromium will be marked with RTC_EXPORT we
will flip the GN arg in Chromium, setting to to `component_build` and from
that moment, Chromium will depend on a WebRTC shared library when
`component_build=true`.

Original change's description:
> Revert "Export symbols needed by the Chromium component build (part 1)."
>
> This reverts commit 99eea42fc1fe0be0ebed13c5eba7e1e42059bc5a.
>
> Reason for revert:
> lld-link: error: undefined symbol: "__declspec(dllimport) bool __cdecl cricket::UnwrapTurnPacket(unsigned char const *, unsigned int, unsigned int *, unsigned int *)" (__imp_?UnwrapTurnPacket@cricket@@YA_NPBEIPAI1@Z)
> >>> referenced by obj/services/network/network_service/socket_manager.obj:("virtual void __thiscall network::P2PSocketManager::DumpPacket(class base::span<unsigned char const, 4294967295>, bool)" (?DumpPacket@P2PSocketManager@network@@EAEXV?$span@$$CBE$0PPPPPPPP@@base@@_N@Z))
> lld-link: error: undefined symbol: "__declspec(dllimport) bool __cdecl cricket::ValidateRtpHeader(unsigned char const *, unsigned int, unsigned int *)" (__imp_?ValidateRtpHeader@cricket@@YA_NPBEIPAI@Z)
> >>> referenced by obj/services/network/network_service/socket_manager.obj:("virtual void __thiscall network::P2PSocketManager::DumpPacket(class base::span<unsigned char const, 4294967295>, bool)" (?DumpPacket@P2PSocketManager@network@@EAEXV?$span@$$CBE$0PPPPPPPP@@base@@_N@Z))
> lld-link: error: undefined symbol: "__declspec(dllimport) bool __cdecl cricket::ApplyPacketOptions(unsigned char *, unsigned int, struct rtc::PacketTimeUpdateParams const &, unsigned __int64)" (__imp_?ApplyPacketOptions@cricket@@YA_NPAEIABUPacketTimeUpdateParams@rtc@@_K@Z)
> >>> referenced by obj/services/network/network_service/socket_tcp.obj:("virtual void __thiscall network::P2PSocketTcp::DoSend(class net::IPEndPoint const &, class std::vector<signed char, class std::allocator<signed char>> const &, struct rtc::PacketOptions const &, struct net::NetworkTrafficAnnotationTag)" (?DoSend@P2PSocketTcp@network@@MAEXABVIPEndPoint@net@@ABV?$vector@CV?$allocator@C@std@@@std@@ABUPacketOptions@rtc@@UNetworkTrafficAnnotationTag@4@@Z))
> >>> referenced by obj/services/network/network_service/socket_tcp.obj:("virtual void __thiscall network::P2PSocketStunTcp::DoSend(class net::IPEndPoint const &, class std::vector<signed char, class std::allocator<signed char>> const &, struct rtc::PacketOptions const &, struct net::NetworkTrafficAnnotationTag)" (?DoSend@P2PSocketStunTcp@network@@MAEXABVIPEndPoint@net@@ABV?$vector@CV?$allocator@C@std@@@std@@ABUPacketOptions@rtc@@UNetworkTrafficAnnotationTag@4@@Z))
> lld-link: error: undefined symbol: "__declspec(dllimport) bool __cdecl cricket::ApplyPacketOptions(unsigned char *, unsigned int, struct rtc::PacketTimeUpdateParams const &, unsigned __int64)" (__imp_?ApplyPacketOptions@cricket@@YA_NPAEIABUPacketTimeUpdateParams@rtc@@_K@Z)
> >>> referenced by obj/services/network/network_service/socket_udp.obj:("bool __thiscall network::P2PSocketUdp::DoSend(struct network::P2PSocketUdp::PendingPacket const &)" (?DoSend@P2PSocketUdp@network@@AAE_NABUPendingPacket@12@@Z))
>
> Original change's description:
> > Reland "Reland "Export symbols needed by the Chromium component build (part 1).""
> >
> > This reverts commit b49520bfc08f5c5832dda1d642125f0bb898f974.
> >
> > Reason for revert: Problem fixed in https://chromium-review.googlesource.com/c/chromium/src/+/1261398.
> >
> > Original change's description:
> > > Revert "Reland "Export symbols needed by the Chromium component build (part 1).""
> > >
> > > This reverts commit 588f4642d1a29f7beaf28265dbd08728191b4c52.
> > >
> > > Reason for revert: Breaks WebRTC Chromium FYI Win Builder (dbg).
> > > lld-link: error: undefined symbol: "__declspec(dllimport) __thiscall webrtc::Config::Config(void)" (__imp_??0Config@webrtc@@QAE@XZ)
> > > [...]
> > >
> > > Original change's description:
> > > > Reland "Export symbols needed by the Chromium component build (part 1)."
> > > >
> > > > This reverts commit 2ea9af227517556136fd629dd2663c0d75d77c7b.
> > > >
> > > > Reason for revert: The problem will be fixed by
> > > > https://chromium-review.googlesource.com/c/chromium/src/+/1261122.
> > > >
> > > > Original change's description:
> > > > > Revert "Export symbols needed by the Chromium component build (part 1)."
> > > > >
> > > > > This reverts commit 9e24dcff167c4eb3555bf0ce6eaba090c10fbe53.
> > > > >
> > > > > Reason for revert: Breaks chromium.webrtc.fyi bots.
> > > > >
> > > > > Original change's description:
> > > > > > Export symbols needed by the Chromium component build (part 1).
> > > > > >
> > > > > > This CL uses RTC_EXPORT (defined in rtc_base/system/rtc_export.h)
> > > > > > to mark WebRTC symbols as visible from a shared library, this doesn't
> > > > > > mean these symbols are part of the public API (please continue to refer
> > > > > > to [1] for info about what is considered public WebRTC API).
> > > > > >
> > > > > > [1] - https://webrtc.googlesource.com/src/+/HEAD/native-api.md
> > > > > >
> > > > > > Bug: webrtc:9419
> > > > > > Change-Id: I802abd32874d42d3aa5ecd3c8022e7cf5e043d99
> > > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/103505
> > > > > > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > > > > > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > > > > > Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
> > > > > > Cr-Commit-Position: refs/heads/master@{#24969}
> > > > >
> > > > > TBR=mbonadei@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org
> > > > >
> > > > > Change-Id: I01f6e18f0d2c0f0309cdaa6c943c3927e1f1f49f
> > > > > No-Presubmit: true
> > > > > No-Tree-Checks: true
> > > > > No-Try: true
> > > > > Bug: webrtc:9419
> > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/103720
> > > > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > > > > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > > > > Cr-Commit-Position: refs/heads/master@{#24974}
> > > >
> > > > TBR=mbonadei@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org
> > > >
> > > > Change-Id: I83bbc7f550fc23e823c4d055e0a6f60c828960dd
> > > > No-Presubmit: true
> > > > No-Tree-Checks: true
> > > > No-Try: true
> > > > Bug: webrtc:9419
> > > > Reviewed-on: https://webrtc-review.googlesource.com/c/103740
> > > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > > > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > > > Cr-Commit-Position: refs/heads/master@{#24980}
> > >
> > > TBR=mbonadei@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org
> > >
> > > Change-Id: I4b7cfe492f2c8eeda5c8ac52520e0cfc95ade9b0
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Bug: webrtc:9419
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/103801
> > > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#24983}
> >
> > TBR=mbonadei@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org
> >
> > # Not skipping CQ checks because original CL landed > 1 day ago.
> >
> > Bug: webrtc:9419
> > Change-Id: Id986a0a03cdc2818690337784396882af067f7fa
> > Reviewed-on: https://webrtc-review.googlesource.com/c/104602
> > Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> > Reviewed-by: Niels Moller <nisse@webrtc.org>
> > Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#25049}
>
> TBR=mbonadei@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org
>
> Change-Id: I6f58b9c90defccdb160307783fb55271ab424fa1
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:9419
> Reviewed-on: https://webrtc-review.googlesource.com/c/104623
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#25050}

TBR=mbonadei@webrtc.org,kwiberg@webrtc.org,nisse@webrtc.org

Change-Id: I4d01ed96ae40a8f9ca42c466be5c87653d75d7c1
Bug: webrtc:9419
Reviewed-on: https://webrtc-review.googlesource.com/c/104641
Reviewed-by: Yves Gerey <yvesg@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25108}
2018-10-11 09:50:21 +00:00
3e335d1423 Add ability to specify if rate controller of video encoder is trusted.
If rate controller is trusted, we disable the frame dropper in the
media optimization module.

Bug: webrtc:9722
Change-Id: I821f21fd74a400ee9d5aa3f6b42d4e569033acbe
Reviewed-on: https://webrtc-review.googlesource.com/c/105020
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25107}
2018-10-11 09:07:34 +00:00
88be972260 Delete post_encode_callback
Bug: webrtc:9864
Change-Id: I5e45a73e50e2cf6b25b415a83fe637f8f5b4e70e
Reviewed-on: https://webrtc-review.googlesource.com/c/14840
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25106}
2018-10-11 08:18:08 +00:00
74f6c7ed6c AEC3: Cleanup test code for platforms with clock-drift
This CL removes outdated code for testing of platforms with clock-drift

Bug: webrtc:8671
Change-Id: Ie202c514609d9f3d2357107b0daf895331275797
Reviewed-on: https://webrtc-review.googlesource.com/c/105183
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25105}
2018-10-11 08:13:58 +00:00
d6b079686f AEC3: Ensure that the usage of stationary signal properties is not unset
This CL ensures that the default setting for the usage of stationary signal
properties is not overridden by mistake.

Bug: chromium:894243
Change-Id: I85ab65383ee82b5f3153864da7a0cede7776c146
Reviewed-on: https://webrtc-review.googlesource.com/c/105181
Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25104}
2018-10-11 08:10:18 +00:00
23b2a25675 Remove unlimited retransmission for screenshare experiment code
Bug: webrtc:9659
Change-Id: I29d8f0d20b0faee5ec2e8e196581338770b1a74d
Reviewed-on: https://webrtc-review.googlesource.com/c/105001
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25103}
2018-10-11 07:53:47 +00:00
cc21e61e07 Use unique_ptr and ArrayView in SSLFingerprint
Bug: webrtc:9860
Change-Id: Id919c3a53604357c5ab449f6ab8a1d2ea6575fbe
Reviewed-on: https://webrtc-review.googlesource.com/c/105220
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25102}
2018-10-11 03:44:49 +00:00
e8d2b1be1a Roll chromium_revision 8afdf16764..2499289737 (598496:598606)
Change log: 8afdf16764..2499289737
Full diff: 8afdf16764..2499289737

Changed dependencies
* src/build: 350dbb63c3..39b6c0c2cd
* src/ios: 235e99121e..bbdec9eda9
* src/testing: 84f352405b..21e4247f7e
* src/third_party: 3b7412d75c..4bb5fbd0ae
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/86bdcbf37f..fc2aa094ed
* src/third_party/depot_tools: 83bd7f4cd5..2fddb95698
* src/tools: ed0845b636..e5e3a3079b
DEPS diff: 8afdf16764..2499289737/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I182db8eb5c5e6a373240901c768a45396f06eb6c
Reviewed-on: https://webrtc-review.googlesource.com/c/105240
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#25101}
2018-10-11 01:44:53 +00:00
f7dd9df7e1 Change TurnPort::Create to return a unique_ptr
Bug: webrtc:9198
Change-Id: I13c9eab549b4973ce4f8fd2f562f1ff7f7e0a2cb
Reviewed-on: https://webrtc-review.googlesource.com/c/105182
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25100}
2018-10-10 23:22:22 +00:00
9cfce17a2d Roll chromium_revision 0d09089dd5..8afdf16764 (598349:598496)
Change log: 0d09089dd5..8afdf16764
Full diff: 0d09089dd5..8afdf16764

Changed dependencies
* src/base: ad7cfddafe..b9dc104727
* src/build: a5cd715c0d..350dbb63c3
* src/ios: 2ebe7435ec..235e99121e
* src/testing: b71f668a96..84f352405b
* src/third_party: 5f0e018209..3b7412d75c
* src/tools: 3a746b4e61..ed0845b636
DEPS diff: 0d09089dd5..8afdf16764/DEPS

No update to Clang.

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I49cea12d4681d41e8b986bddf0fd32a5cc4d966a
Reviewed-on: https://webrtc-review.googlesource.com/c/105162
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#25099}
2018-10-10 22:35:06 +00:00
0854eb6aa2 Respond to SDP request extmap-allow-mixed.
The SDP attribute extmap-allow-mixed shows that the client supports
mixing of one- and two-byte header extensions within the same stream.

This is supported on the receive side since CL "Parse two-byte header
extensions", commit 07ba2b9445525da3eabf7c188d631abf32279d98.

Bug: webrtc:7990
Change-Id: I8419da48673f513fcca21a8722614f4601a075fc
Reviewed-on: https://webrtc-review.googlesource.com/c/103420
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25098}
2018-10-10 21:17:55 +00:00
a8f1e56532 Change Port::Create methods to return a unique_ptr
Bug: webrtc:9198
Change-Id: Iab3387857b7e7826b0d71863893912f3a8a9b95b
Reviewed-on: https://webrtc-review.googlesource.com/c/104260
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25097}
2018-10-10 19:05:47 +00:00
7940da0f2e Integration of media_transport in JSepTransportController
Basic integration of media_transport in JSepTransportController.

- Creates media_transport if media transport factory provided in jsep transport controller configuration.
- Unittest that makes sure media_transport is created with correct caller or callee setting.
- Added fake_media_transport, for now simple implementation which only stores caller/callee, but in the future fake media transport will be expanded to pass frames between two fake media_transports, which will enable audio / video integration tests.

NEXT STEPS: Once integration of media_transport with PeerConnection (https://webrtc-review.googlesource.com/c/src/+/103860) lands, we can start passing media transport factory from peer connection to jsep transport controller.

NOTE: Includes missing include change from https://webrtc-review.googlesource.com/c/src/+/103540 (otherwise this change will not compile)

Bug: webrtc:9719
Change-Id: I1e8a521beab445aa9f7ea93c8d7a537dc137d11c
Reviewed-on: https://webrtc-review.googlesource.com/c/104400
Commit-Queue: Anton Sukhanov <sukhanov@google.com>
Reviewed-by: Peter Slatala <psla@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25096}
2018-10-10 18:25:25 +00:00
6cc9cca5a6 Don't reset streams for the FrameEncryptor / FrameDecryptor unless they changed.
This change prevents resets unless someone actually set a FrameEncryptor
/ FrameDecryptor.

Bug: webrtc:9795
Change-Id: I29910b9ecc2f6f8eea371c5961ac7e9780de65d2
Reviewed-on: https://webrtc-review.googlesource.com/c/104901
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25095}
2018-10-10 16:45:39 +00:00
da67c16c81 Roll chromium_revision 8a25f94ac2..0d09089dd5 (598237:598349)
Change log: 8a25f94ac2..0d09089dd5
Full diff: 8a25f94ac2..0d09089dd5

Changed dependencies
* src/base: 504683e395..ad7cfddafe
* src/ios: 90ab17ff89..2ebe7435ec
* src/testing: 16faa10246..b71f668a96
* src/third_party: a7b8fc61e7..5f0e018209
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/357c5c287b..86bdcbf37f
* src/tools: aace7db64d..3a746b4e61
DEPS diff: 8a25f94ac2..0d09089dd5/DEPS

Clang version changed 343880:344066
Details: 8a25f94ac2..0d09089dd5/tools/clang/scripts/update.py

TBR=chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com,
BUG=None

Change-Id: I3c5ae2dca4dd46b705179336e4ad10530d961a3d
Reviewed-on: https://webrtc-review.googlesource.com/c/105066
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#25094}
2018-10-10 16:30:25 +00:00
ca27091f23 Remove rtc_base:rtc_base_approved_generic.
After landing https://webrtc-review.googlesource.com/c/src/+/104802, it
is finally possible to remove the complexity behind
rtc_base:rtc_base_approved and switch back to one build target.

The long term vision is to remove it too, in favor of smaller and more
focues build targets.

Bug: webrtc:9838
Change-Id: Ib98dfae103a20edb8c8b6706d376ad4f3c992886
Reviewed-on: https://webrtc-review.googlesource.com/c/105041
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25093}
2018-10-10 14:40:53 +00:00
ede87964ba Print per-frame VMAF score instead of average.
compare_videos.py will now print the VMAF score for each frame.
The CL also removes some stale comments.

Bug: webrtc:9642
Change-Id: I5623588580dea06dd487d7763dc3a2511bd2cd3c
Reviewed-on: https://webrtc-review.googlesource.com/c/105103
Commit-Queue: Paulina Hensman <phensman@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25092}
2018-10-10 14:31:00 +00:00
b3b017950a Fix backwards logic in rtc::Buffer::OnMovedFrom()
The logic in rtc::Buffer::OnMovedFrom was backwards w.r.t.
RTC_DCHECK_IS_ON. We intended to provoke bugs when DCHECKs are on and
play it safe when DCHECKs are off, but actually we did the reverse.
This CL fixes that.

It also adds a death test that would have caught the bug.

Bug: webrtc:9856
Change-Id: Ib6a4b07d12732e5a66e93b36b885abdab93e55c7
Reviewed-on: https://webrtc-review.googlesource.com/c/105040
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25091}
2018-10-10 13:38:52 +00:00
0213786b39 Add certificate gen/set functionality to bring Android closer to JS API
The JS API supports two operations which have never been implemented in
the Android counterpart:
 - generate a new certificate
 - use this certificate when creating a new PeerConnection

Both functions are illustrated in the generateCertificate example code:
 - https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/generateCertificate

Currently, on Android, a new certificate is automatically generated for
every PeerConnection with no programmatic way to set a specific
certificate.

A twin of this feature is already underway for iOS here:
 - https://webrtc-review.googlesource.com/c/src/+/87303

Work sponsored by |pipe|

Bug: webrtc:9546
Change-Id: Iac221517df3ae380aef83c18c9e59b028d709a4f
Reviewed-on: https://webrtc-review.googlesource.com/c/89980
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25090}
2018-10-10 13:37:47 +00:00
dcc023816e Don't increment timestamp on drop/reencode in LibvpxVp8Encoder.
I don't think this has any impact, just wanted to have a first unit
test to play around with.

Bug: None
Change-Id: I892e2642f0243c5c9ee807cf71abcd96112b25f4
Reviewed-on: https://webrtc-review.googlesource.com/c/105000
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25089}
2018-10-10 13:31:37 +00:00
5526e457e3 vp9: change x-google-profile-id to profile-id
spec in https://github.com/juberti/draughts/pull/106

Bug: None
Change-Id: I99e8d56dfc5ba39ea7ad621eb28719a95092d7c4
Reviewed-on: https://webrtc-review.googlesource.com/c/101980
Reviewed-by: Emircan Uysaler <emircan@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25088}
2018-10-10 12:24:33 +00:00
028248cbd7 Add rtc_enable_symbol_export to incrementally create a WebRTC component.
In order to implement a WebRTC component in Chromium, WebRTC needs to
export some symbols.

If RTC_EXPORT relies on COMPONENT_BUILD to mark symbols as exported
or imported, it will not be possible to incrementally add RTC_EXPORT
because the Chromium build will break (two Chromium components that
export a symbol or no component that exports it).

By using `rtc_enable_symbol_export` (which makes GN define
WEBRTC_ENABLE_SYMBOL_EXPORT), WebRTC will be able to incrementally mark
symbols with RTC_EXPORT and flip the value of `rtc_enable_symbol_export`
in the Chromium build when everything will be ready.

Bug: webrtc:9419
Change-Id: I57ab63c53545c500eaaefd75c112b4674aa7cf19
Reviewed-on: https://webrtc-review.googlesource.com/c/104980
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25087}
2018-10-10 11:04:34 +00:00
b686396ec6 Makes AudioSendStream signal that it's part of allocation.
This adds calls to the underlying RtpRtcp module to indicate when audio
is part of bitrate allocation. This information is propagated and set in
the packet info for each packet.

This is part of a series of CLs that allows GoogCC to track sent bitrate
that is included in bitrate allocation but without transport feedback.

Bug: webrtc:9796
Change-Id: I79b024cb7f2eb8c86421cfa34d38ef68467776c3
Reviewed-on: https://webrtc-review.googlesource.com/c/104882
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25086}
2018-10-10 09:47:46 +00:00
99a70a2d78 Remove rtc_base_approved_objc and introduce rtc_base:logging_mac.
This CL removes the need of having rtc_base:rtc_base_approved_generic
and rtc_base:rtc_base_approved_objc since it removes the _objc build
target by moving the declaration of rtc::DescriptionFromOSStatus into
rtc_base/logging_mac.h in order to have a new target
rtc_base:logging_mac on which rtc_base:logging can depend on.

The target rtc_base:rtc_base_approved_generic will be removed in a
follow up CL.

Bug: webrtc:9838
Change-Id: Id93ac7bced213128e7d654694ff15337c26dab62
Reviewed-on: https://webrtc-review.googlesource.com/c/104802
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25085}
2018-10-10 09:43:46 +00:00
edc49c1d6e [Cleanup] Remove unused swap function.
If the need arises, please use:
  using std::swap;
  swap(a, b);
which falls back to a generic std::swap.

Bug: webrtc:9855
Change-Id: I819839d160fc7ae289310a13e3988cdb3f0b3086
Reviewed-on: https://webrtc-review.googlesource.com/c/104100
Commit-Queue: Yves Gerey <yvesg@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25084}
2018-10-10 09:37:33 +00:00
a4c8514258 Add JSON parsing and corresponding ToString to EchoCanceller3Config
Bug: webrtc:9535
Change-Id: I51eaaac4009a30536444292a32938b21e69386bf
Reviewed-on: https://webrtc-review.googlesource.com/c/102980
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25083}
2018-10-10 09:17:09 +00:00
2558c4e938 Remove ortc folder.
Since it is currently unused and not actively maintained, code under
ortc/ will be deleted by this CL.

Bug: webrtc:9824
Change-Id: I20f890b1a1e5e1dbd2b3949af916ae0a6bc8a032
Reviewed-on: https://webrtc-review.googlesource.com/c/102601
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25082}
2018-10-10 09:06:57 +00:00
88b68ace17 Create field trial for setting a minimum value for Opus encoder packet loss rate
Bug: webrtc:9848
Change-Id: I0663ee3af7729a220de7aff08cd74545e1a7409a
Reviewed-on: https://webrtc-review.googlesource.com/c/104800
Reviewed-by: Minyue Li <minyue@webrtc.org>
Commit-Queue: Jakob Ivarsson‎ <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25081}
2018-10-10 08:52:56 +00:00
f08dd9db34 Disable flaky tests on mac perf bot
Bug: webrtc:9840
Change-Id: Ie95fdb7bc698604a85ad56242ba092c36a99002e
Reviewed-on: https://webrtc-review.googlesource.com/c/104801
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25080}
2018-10-10 08:40:04 +00:00