Commit Graph

1800 Commits

Author SHA1 Message Date
c908f1c19a Declare the Clone operator of SessionDescriptionInterface as const.
Bug: webrtc:12215
Change-Id: I8e44e2b9365893ecf481e69060771c2c208bbcdf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/198125
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32858}
2020-12-17 21:01:37 +00:00
0e7b3a9dad Add a Clone() method to SessionDescriptionInterface
This should allow us to remove some SDP parsing in Chromium.

Bug: webrtc:12215
Change-Id: Ib85593d1c9226b29f2ec18617f945c76eca3b2d7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197806
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32840}
2020-12-16 08:05:10 +00:00
ebe5acb27a VideoCodecTextFixture and YuvFrameReader improvements.
Adds ability to specify desired frame size separate from actual clip
resolution, as well as clip and desired fps.
This allows e.g. reading an HD clip but running benchmarks in VGA, and
to specify e.g. 60fps for the clip but 30for encoding where frame
dropping kicks in so that motion is actually correct rather than just
plaing the clip slowly.

Bug: webrtc:12229
Change-Id: I4ad4fcc335611a449dc2723ffafbec6731e89f55
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195324
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32839}
2020-12-15 23:18:06 +00:00
46ea5d7f82 Surface the number of encoded channels
Two audio channels going into the AudioSource::Sink can either be
down-mixed to mono or encoded as stereo. This change enables WebRTC
users (such as Chromium) to query the number of audio channels actually
encoded. That information can in turn be used to tailor the audio
processing to the number of channels actually encoded.

This change fixes webrtc:8133 from a WebRTC perspective and will be
followed up with the necessary Chromium changes.

Bug: webrtc:8133
Change-Id: I8e8a08292002919784c05a5aacb21707918809c8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197426
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32836}
2020-12-15 16:38:04 +00:00
9325d343e5 Enforcing return type handling on VoIP API.
- This CL also affects some return type handling in Android Voip demo
app due to changes in return type handling.

Bug: webrtc:12193
Change-Id: Id76faf7c871476ed1f2d08fb587211ae234ae8d3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196625
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Tim Na <natim@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32821}
2020-12-11 20:38:15 +00:00
370e60098c Remove EncodedFrame::inter_layer_predicted.
Bug: webrtc:12206
Change-Id: I52246e81aa9a814fc211df19fbe27aff197a85b7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196743
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32815}
2020-12-10 18:11:49 +00:00
cb327d9162 Remove use of inter_layer_predicted in FrameBuffer2.
Now that RtpVp9RefFinder sets an additional reference on the frame instead of marking it as inter_layer_predicted it is no longer used.

Bug: webrtc:12206
Change-Id: I10e0930336eafc32dc86feb2f690cb131e55be2c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196740
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32814}
2020-12-10 14:18:09 +00:00
b95d90b78a Rename UNIT_TEST to WEBRTC_UNIT_TEST
Current name conflicts with upstream project code.

Bug: webrtc:12247
Change-Id: Ibd78273a75262772fc18fca688c29b9ba9525ce5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196653
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32813}
2020-12-10 11:04:58 +00:00
d7808f1c46 Add DVQA support for scenarios with new participants joining
Bug: webrtc:12247
Change-Id: Id51a2ab34e0b802e11931cad13f48ce8eefddcae
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196361
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32804}
2020-12-08 18:24:08 +00:00
992a96f68e AEC3: Prevent diverging coarse filter from influencing the refined filter
After the refined filter has been determined to perform better than
the coarse filter, and the coefficients of the coarse filters are
overwritten by the ones from the refined filter, at least 100 ms have
to pass before the adaptation of the refined filter is allowed to speed
up due to good coarse filter performance.

This change solves the vicious circle described in webrtc:12265, where
the coarse and refined filters can diverge over time.

This feature can be disabled remotely via a kill-switch. When disabled
the AEC output is bit-exact to before the change.

Bug: webrtc:12265,chromium:1155477
Change-Id: Iacd6e325e987dd8a475bb3e8163fee714c65b20a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196501
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32801}
2020-12-08 15:05:23 +00:00
c20baf6067 Remove nesting of Naggy/Strict/NiceMock
This will soon become a compile-time error. Fix class hierarchies that
wrap StrictMock in a NiceMock or vice-versa by removing redundant
wrappings and removing inheritance from Nice/StrictMock and fixing the
call sites as appropriate.

Bug: b/173702213
Change-Id: Ic90b1f270c180f7308f40e52e358a8f6a6baad86
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196461
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32783}
2020-12-07 08:19:50 +00:00
6c80aebd00 Remove kwiberg@webrtc.org from OWNERS files
Bug: none
Change-Id: I7f399449026de58dee28abcede2630269c6b95b5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196505
Reviewed-by: Magnus Flodman <mflodman@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32774}
2020-12-04 15:11:26 +00:00
837f13c84c Relax check for unknown STUN attribute lengths
Bug: chromium:1155459
Change-Id: I51cb8162a989ba934e3292c86c3ecf749f26f601
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196500
Commit-Queue: Jonas Oreland <jonaso@google.com>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32773}
2020-12-04 10:47:06 +00:00
8dbbd648e7 Revert "Ignore frames that are comming to DVQA after Stop is called"
This reverts commit 8d4cdd11d8d4ce3e6ddbe9c729c7cfbd8f495880.

Reason for revert: Upstream project needs have changed

Original change's description:
> Ignore frames that are comming to DVQA after Stop is called
>
> Bug: webrtc:12247
> Change-Id: Ie3e773bdff66c900956019ac3131bbdb9ee874cd
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196084
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
> Commit-Queue: Andrey Logvin <landrey@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32738}

TBR=mbonadei@webrtc.org,srte@webrtc.org,landrey@webrtc.org

Change-Id: Ie7483435eae9b0344f875673ca9651ff4d591bd3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:12247
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196280
Reviewed-by: Andrey Logvin <landrey@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32746}
2020-12-02 18:42:58 +00:00
ccfcec402d Adds more owners to api/test
Bug: None
Change-Id: Ica95e15f8521274c41b475d8c39a0b27a50c7724
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196090
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32740}
2020-12-02 11:19:55 +00:00
8d4cdd11d8 Ignore frames that are comming to DVQA after Stop is called
Bug: webrtc:12247
Change-Id: Ie3e773bdff66c900956019ac3131bbdb9ee874cd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196084
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Andrey Logvin <landrey@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32738}
2020-12-02 09:22:14 +00:00
f30c47fc79 Add Chromium metrics OWNERS as OWNERS of api/uma_metrics.h
As requested on bugs.webrtc.org/12096#c2, this CL adds a Chromium
metric OWNERS in order to always have their review when WebRTC's UMA
metrics are updated.

Bug: webrtc:12096
Change-Id: Icd9ab7dda5f7a4ba6ac078f667c1fd39f3314123
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/191702
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32728}
2020-12-01 10:34:17 +00:00
faaaa87960 Remember the proxies
CL that should have been part of CL 195541

Bug: webrtc:12238
Change-Id: I3ab7a7a5f0d0bfdbc00904a01444acda02d49e90
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195543
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32712}
2020-11-27 12:51:54 +00:00
a3dd772e7a Add create function for PeerConnection that can return an error.
Needed in order to return different codes for different failures
in initialization.

Sideswipe: Check TURN URL hostnames for illegal characters.

Bug: webrtc:12238
Change-Id: I1af3a37b9654b83b268304f7356049f9f3786b7a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/195541
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32710}
2020-11-27 11:08:10 +00:00
7b463c5f67 Add a "Smart flushing" feature to NetEq.
Instead of flushing all packets, it makes sense to flush down to the target level instead. This CL also initiates a flush when the packet buffer is a multiple of the target level, instead of waiting until it is completely full.

Bug: webrtc:12201
Change-Id: I8775147624536824eb88752f6e8ffe57ec6199cb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/193941
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32701}
2020-11-26 11:20:28 +00:00
b223cb60e9 Defining API result types on VoIP API
Bug: webrtc:12193
Change-Id: I6f5ffd82cc838e6982257781f225f9d8159e6b82
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/193720
Commit-Queue: Tim Na <natim@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32656}
2020-11-20 18:02:05 +00:00
87e99095a7 Make video scalability mode configurable from peerconnection level.
This CL does not aim at cleaning up simulcast/SVC configuration, just to make it possible to set the scalability mode for AV1. Implementing a codec agnostic SVC/simulcast API is a (big) project on its own.

Change-Id: Ia88df31eb1111713e5f8832e95c8db44f92887ca

BUG: webrtc:11607
Change-Id: Ia88df31eb1111713e5f8832e95c8db44f92887ca
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/192541
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32631}
2020-11-18 12:06:03 +00:00
a9961b3839 Allow temporal based switch if temporal layers are undefined.
Bug: webrtc:11324
Change-Id: Iee4717f453bb9883683d752832fbc7bf999a96c2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/193704
Commit-Queue: Jakob Ivarsson <jakobi@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32630}
2020-11-18 10:59:22 +00:00
97050115f0 Add TURN server to Emulated Network infrastructure
This can be used to test ICE behavior.

Bug: chromium:1024965
Change-Id: Ie4ba9cd5c3cf3c2f71bab3637f925263dbc6296e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/193701
Commit-Queue: Jonas Oreland <jonaso@webrtc.org>
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32625}
2020-11-17 21:07:56 +00:00
95157a054b stats: add transportId to codec stats
BUG=webrtc:12181

Change-Id: Ib8e38f19ef2ddcb98455356087781f146af8c6b5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/193280
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32618}
2020-11-17 12:34:39 +00:00
a58cae3eae VoipVolumeControl subAPI for VoIP API
- mute/unmute API.
- speech level/energy/duration API.

Bug: webrtc:12111
Change-Id: I54757b9874d15d59a145f2ca70801ee9ef0f4430
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/191060
Commit-Queue: Tim Na <natim@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32607}
2020-11-13 19:27:12 +00:00
bee6408d7b Introduce length checking of all STUN byte string attributes
This will cause encoding of a STUN message with an over-long
byte string attribute to fail.

Bug: chromium:1144646
Change-Id: I265174577376ce01439835c03f2d46700842d211
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/191322
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Justin Uberti <juberti@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32603}
2020-11-13 12:31:37 +00:00
254ad1b914 Delay VoipCore initialization.
Starting from Android N, mobile app may not be able to access
microphone while in background where it fails the call.
In order to mitigate the issue, delay the ADM initialization
as late as possible.

Bug: webrtc:12120
Change-Id: I0fbf0300299b6c53413dfaaf88f748edc0a06bc1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/191100
Commit-Queue: Tim Na <natim@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32598}
2020-11-12 18:05:19 +00:00
c95b939667 Introduce RTC_CHECK_NOTREACHED(), an always-checking RTC_NOTREACHED()
And use it in a few places that were using RTC_CHECK(false) or FATAL()
to do the exact same job. There should be no change in behavior.

Bug: none
Change-Id: I36d5e6bcf35fd41534e08a8c879fa0811b4f1967
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/191963
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32567}
2020-11-09 10:47:55 +00:00
9c99b7964f Use SvcRateAllocator for av1
same as VP9, Av1 encoder supports spatial scalability and thus
SvcRateAllocator better fits for it than SimulcastRateAllocator

Bug: webrtc:12148
Change-Id: I3f78afb3aec00b6a8a7242fe8dce07752e7a514e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/191960
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32565}
2020-11-06 10:23:17 +00:00
43ef5d99c1 Add publicly visible mock for RtpTransceiverInterface
Bug: webrtc:11642
Change-Id: Iadcaddecb9e02781e1946c37a72eeb678cd91b5b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/191822
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32564}
2020-11-05 23:56:19 +00:00
60be6a9c60 Add publicly visible mocks for AudioSourceInterface and AudioTrackInterface
Bug: webrtc:11642
Change-Id: Ia8807623ea7ca2e49fc795b907aec83fd10e3305
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/191821
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32563}
2020-11-05 22:34:19 +00:00
c49c7d2644 Add publicly visible mock for DataChannelInterface
Bug: webrtc:11642
Change-Id: I20fc57122fc29602028f2cc2fb27a0122117f855
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/191840
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32562}
2020-11-05 22:28:48 +00:00
5481784385 Add kill-switch to RTC event log factory.
Bug: webrtc:12084
Change-Id: Iac2c05b59a20e272fe302a5580357f6f141dc328
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/190983
Reviewed-by: Christoffer Rodbro <crodbro@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32558}
2020-11-05 14:08:02 +00:00
c780f25f1a Remove remaining variables related to incomplete frames.
Bug: webrtc:9378, webrtc:7408
Change-Id: I5b26f09a2da13906b421d0bcf615e721b66d4ce7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/190860
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32552}
2020-11-04 16:07:43 +00:00
d0948bec4f uma_metrics: clean up and follow histogram recommendations
described in
  https://chromium.googlesource.com/chromium/src.git/+/HEAD/tools/metrics/histograms/README.md#requirements

BUG=webrtc:12096

Change-Id: I00a45b88582668952a7e207b63b70da8212e06a9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/190580
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
Cr-Commit-Position: refs/heads/master@{#32548}
2020-11-04 10:48:49 +00:00
cd4203bf72 Adding total duration and more test cases to VoipStatistics.
- Introduced IngressStatistics to cover total_duration which
comes from AudioLevel.

Bug: webrtc:11989
Change-Id: Iba52d3722b5fe6286b048ab5690e32a4f75e972a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/190940
Commit-Queue: Tim Na <natim@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32538}
2020-11-03 07:15:42 +00:00
7e4ad828d6 Increased high frequency transparency
Avoid excessive echo suppression in frequencies above 2 kHz when
there is a dominant nearend. Calls with clock drift will not be affected
by this change as they tend to have less accurate linear filters.

Bug: webrtc:11985
Change-Id: Iddc628da5e2ba572c1b47acd87dd3be35260dca1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/188580
Reviewed-by: Per Åhgren <peah@webrtc.org>
Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32533}
2020-11-02 10:42:10 +00:00
b72cc6d670 Analyze quality of dropped frames in VideoProcessor.
Calculate quality metrics for dropped frames by comparing original
frame against last decoded one.

This feature makes comparison of encoders which do/don't drop frames
more fair.

The feature is controlled by analyze_quality_of_dropped_frames flag
and is disabled by default.

Bug: none
Change-Id: Ifab8df92d0b76e743ff3193c05d7c8dbd14921c4
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/190660
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32518}
2020-10-29 08:23:49 +00:00
f4347f7bac VoipStatistics subAPI and implementation.
- Adding an interface that fetches lifetime NetEq statistics struct.

Bug: webrtc:11989
Change-Id: I871455bccdd53a33dd260f744e03ec81d29fbfd8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/190200
Commit-Queue: Tim Na <natim@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32516}
2020-10-28 21:59:05 +00:00
1b0d5437c9 Removed _completeFrame since we never allow incomplete frames.
In the old jitter buffer the two VCMVideoProtection modes |kProtectionNone| and |kProtectionFEC| could be set on the jitter buffer for it to not wait for NACK and instead generate incomplete frames. This has not been possible for a long time.

Bug: webrtc:9378, webrtc:7408
Change-Id: I0a2d3ec34d721126c1128306d5fad88314f8d59f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/190680
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32513}
2020-10-28 16:00:27 +00:00
2963d303b0 Remove deprecated PacketArrived method from NetEqController interface.
A new version of this method was added in https://webrtc-review.googlesource.com/c/src/+/188385

Bug: webrtc:11005
Change-Id: I8ee959b6b0239462ee3caf784962ed2bb2d349ea
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/188622
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32508}
2020-10-27 14:58:52 +00:00
05f9ccdf23 unify "control reaches end of non-void function" style
BUG=webrtc:12008

Change-Id: I1cabe99738b3968af60a305bd9593bd47f7e9b6b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/190480
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32506}
2020-10-27 13:05:37 +00:00
f8b5bfeaf2 Fix "control reaches end of non-void function" warnings
"warning: control reaches end of non-void function [-Wreturn-type]"
Reported by gcc (8.3)

In all the reported cases, the end of function is never actually
reached. Add RTC_CHECK(false) to ensure the compiler is aware that
this path is a dead-end.

Bug: webrtc:12008
Change-Id: I7f816fde3d1897ed2774057c7e05da66e1895e60
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/189784
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Fabien VALLÉE <fabien.vallee@netgem.com>
Cr-Commit-Position: refs/heads/master@{#32503}
2020-10-27 10:22:23 +00:00
111e981466 Signaling for low-latency renderer algorithm
This feature is active if and only if the RTP header extension
playout-delay is used with min playout delay=0 and max playout delay>0.

In this case, a maximum composition delay will be calculated and attached
to the video frame as a signal to use the low-latency renderer algorithm,
which is landed in a separate CL in Chromium.

The maximum composition delay is specified in number of frames and is
calculated based on the max playout delay.

The feature can be completetly disabled by specifying the field trial
WebRTC-LowLatencyRenderer/enabled:false/

Bug: chromium:1138888
Change-Id: I05f461982d0632bd6e09e5d7ec1a8985dccdc61b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/190141
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32493}
2020-10-26 15:03:56 +00:00
6216693363 Change PeerConnection creation to use a static "Create" method
This allows making more members (including IsUnifiedPlan) const in a future CL.

Also revises the test for ReportUsageHistogram to use a configuration member
variable rather than a hook function in PeerConnectionFactory.

Bug: webrtc:12079
Change-Id: I6f1af7d6164c8a0d8466f76378a925d72d57d685
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/190280
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32485}
2020-10-26 10:04:06 +00:00
70c8945c15 Offer VideoLayersAllocation if field trial enabled
Enable using the field trial WebRTC-VideoLayersAllocationAdvertised/Enabled/

Bug: webrtc:1200
Change-Id: I7c1d94c6051aace8d22c16e0f2e2256dd7ade7fd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/189960
Commit-Queue: Per Kjellander <perkj@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32465}
2020-10-21 15:40:09 +00:00
e2c548503b rtc::ArrayView reverse iterators
- rtc::ArrayView::rbegin()
- rtc::ArrayView::rend()
- rtc::ArrayView::crbegin()
- rtc::ArrayView::crend()

Bug: webrtc:7494
Change-Id: Id773d66cc9da8bd58def1dba35a706914440ef37
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/189880
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32458}
2020-10-21 08:57:13 +00:00
4e8c115960 Reland "introduce an unsupported content description type"
This is a reland of 239f92ecf7fc8ca27e0376dd192b33ce33377b3c

Original change's description:
> introduce an unsupported content description type
>
> This carries around unsupported content descriptions
> (i.e. things where webrtc does not understand the media type
> or protocol) in a special data type so that a rejected content or
> mediasection is added to the answer SDP.
>
> BUG=webrtc:3513
>
> Change-Id: Ifc4168eae11e899f2504649de5e1eecb6801a9fb
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/179082
> Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
> Reviewed-by: Harald Alvestrand <hta@webrtc.org>
> Commit-Queue: Philipp Hancke <philipp.hancke@googlemail.com>
> Cr-Commit-Position: refs/heads/master@{#32410}

Bug: webrtc:3513
Change-Id: I48e338100f829f1df5b8165217c89b5ef860fe79
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/188820
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32457}
2020-10-21 08:20:05 +00:00
d40c764ba8 Delete leftover mention of AsyncInvoker
Bug: None
Change-Id: I8900873f096225fecfbb2115642fa16178078db6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/189545
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32440}
2020-10-19 13:10:42 +00:00