Commit Graph

30845 Commits

Author SHA1 Message Date
5cad55b240 Signal requested resolution alignment requirements from sinks to sources.
Bug: webrtc:11218
Change-Id: I593b0515ea389bece472234a3c4082ccc5321ea5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162400
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30113}
2019-12-19 10:39:04 +00:00
c04242548c Make the high-pass filter operate in full-band
This CL moves the high-pass filter to run in the full-band domain
instead of the split-band domain.

Bug: webrtc:11193
Change-Id: Ie61f4a80afda11236ecbb1ad544bbd0350c7bbfd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161453
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30112}
2019-12-18 16:01:24 +00:00
26335a94de Roll chromium_revision 98124fd660..26cf7e7d6c (725465:725941)
Change log: 98124fd660..26cf7e7d6c
Full diff: 98124fd660..26cf7e7d6c

Changed dependencies
* src/base: 9238aaece0..6109a80975
* src/build: 2da4a4ab32..4abd203d72
* src/ios: 11ba078b59..4bc3bea248
* src/testing: b1a11372f7..873e02ab19
* src/third_party: 64f463c5bb..b0673e3c20
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/ba22253ee9..d04ef219dd
* src/third_party/depot_tools: ba4699fef5..6037820448
* src/tools: 4a950d6680..3c85ad5a73
DEPS diff: 98124fd660..26cf7e7d6c/DEPS

No update to Clang.

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

Change-Id: I44e028ff47f369604659b6105eace1695659d48d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162561
Reviewed-by: Yves Gerey <yvesg@webrtc.org>
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Commit-Queue: Yves Gerey <yvesg@google.com>
Cr-Commit-Position: refs/heads/master@{#30111}
2019-12-18 15:46:24 +00:00
7ab41e59ba Fix typo in abseil-in-webrtc.md.
NOTRY=True  # ios bots failing

Bug: None
Change-Id: Id3f3ea98be9cfef22c3431ae30cc15e282423ee2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162521
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30110}
2019-12-18 14:27:34 +00:00
ae10029bff Prevents probing while paused.
The pacing controller allowed sending bitrate probes, despite it being
paused. This CL adresses that, and makes sure the task-queue based mode
also properly repsects pausing.

Bug: webrtc:10809
Change-Id: I79643c9a24666110d7583fce3ed1bfd6865e9e10
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162520
Reviewed-by: Florent Castelli <orphis@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30109}
2019-12-17 17:57:38 +00:00
768c5f438c Roll chromium_revision faed30b47a..98124fd660 (724977:725465)
Manual tweak: don't roll src/ios and src/testing

Change log: faed30b47a..98124fd660
Full diff: faed30b47a..98124fd660

Changed dependencies
* src/base: 1a89c23360..9238aaece0
* src/build: 03d0c36c52..2da4a4ab32
* src/third_party: 23379e2aee..64f463c5bb
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/243b5cc9e3..cb3f04f584
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/69337c37de..ba22253ee9
* src/third_party/freetype/src: 0c14a3adb0..7e1b39f6cd
* src/third_party/libjpeg_turbo: bc13578529..ce0e57e8e6
* src/tools: 87947b9472..4a950d6680
DEPS diff: faed30b47a..98124fd660/DEPS

No update to Clang.

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

Change-Id: Ic6402faa70bf0ee9ad957aaa33bf7331604535e2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162393
Commit-Queue: Yves Gerey <yvesg@google.com>
Reviewed-by: Yves Gerey <yvesg@webrtc.org>
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#30108}
2019-12-17 15:06:03 +00:00
6fd58b3388 Add maxFramerate support to SimulcastEncoderAdapter
Bug: webrtc:11117
Change-Id: I134964e669804e1a3c5acb9b9c7ddb6c911cf610
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162203
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Florent Castelli <orphis@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30107}
2019-12-17 14:08:47 +00:00
9b540cb553 Correctly process disabled streams in FrameEncodeMetadataWriter
If the first simulcast stream is disabled, but the second one is enabled,
FrameEncodeMetadataWriter would fail to store frame metadata for all
streams and later fail to restore it for encoded frames.

Bug: none
Change-Id: Ib0d257abb863716ea94e56730f7caabef6ebeb64
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162480
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30106}
2019-12-17 12:28:04 +00:00
00a1bcb441 Ensure that unset capture timestamp wouldn't cause incorrect SR rtp timestamps
If for some reason capture timestamp is unset, the default value of 0 would be
passed to RtcpSender. This will cause rtp timestamps to grow at double the rate
in Sender Reports because it has time since the last frame capture as a term.

Bug: none
Change-Id: I2fe09dabef6b0957fb504deaa06393dedc4a9e70
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162481
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30105}
2019-12-17 12:03:24 +00:00
f4cf4c789a Don't allow creation of sockets for wild card IPs in emulated networks.
The network emulation framework does not support creation sockets that
receive from all addresses (e.g. 0.0.0.0) but would instead crash at
runtime. This CL explicitly ensures that we don't provide such networks.

Bug: webrtc:9883
Change-Id: I1d77df0f2c68f878eace30e4b037ebc7eb9f1aa6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162482
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30104}
2019-12-17 10:16:59 +00:00
3a8df884d1 Add field trial to avoid extra backoffs in AIMD rate control.
Bug: None
Change-Id: Iaa7dd0ffd6cfabb933e8e68a002b5432d13b9aab
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161946
Commit-Queue: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30103}
2019-12-16 18:01:20 +00:00
32fe4ef967 Move vp9 rtp depacketization to VideoRtpDepacketizerVp9
Bug: webrtc:11152
Change-Id: I560d4cd62fabae093e3df592f0e7cc4001c10657
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162420
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30102}
2019-12-16 17:11:13 +00:00
094396fb76 Use a fake clock for rtc::Thread::PostDelayedTask test
The test would flake using a real clock since time may pass between
calls to PostDelayedTask which would result in the tasks running
out of the expected order.

Bug: webrtc:11208, webrtc:11219
Change-Id: Ice5fe6ec4e9bf2ce89f00c6de7ed06b89dbe88cc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162100
Reviewed-by: Yves Gerey <yvesg@google.com>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30101}
2019-12-16 15:46:48 +00:00
f9d92ed2c8 Revert "Reland "Distinguish between send and receive video codecs""
This reverts commit 77eb338ae48acb0cb1437da05d86941bb4063228.

Reason for revert: Speculative revert, as it seems to have broken webrtc-importer

Original change's description:
> Reland "Distinguish between send and receive video codecs"
> 
> This reverts commit f2d6fe62f23f13b974d50baa9ef60426a242af03.
> 
> Reason for revert: Downstream test updated.
> 
> Original change's description:
> > Revert "Reland "Distinguish between send and receive video codecs""
> > 
> > This reverts commit 26e6afe93f134c844d739384784e78acc07cc145.
> > 
> > Reason for revert: Breaks another downstream test.
> > 
> > Original change's description:
> > > Reland "Distinguish between send and receive video codecs"
> > > 
> > > This reverts commit f22af3cca7cfe517e4126db4b7083475722c3e6d.
> > > 
> > > Reason for revert: Downstream tests have been updated.
> > > 
> > > Original change's description:
> > > > Revert "Distinguish between send and receive video codecs"
> > > > 
> > > > This reverts commit 18314bd8d2cb27fa58e4d304bbc428e3ed1736ba.
> > > > 
> > > > Reason for revert: Breaks downstream test.
> > > > 
> > > > Original change's description:
> > > > > Distinguish between send and receive video codecs
> > > > > 
> > > > > Even though send and receive codecs are the same,
> > > > > they might have different support in HW.
> > > > > Distinguish between send and receive codecs to be able to keep
> > > > > track of which codecs have HW support.
> > > > > 
> > > > > Bug: chromium:1029737
> > > > > Change-Id: I16a80da44c5061ca42f2aabda76e6bf0b879bf7b
> > > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161306
> > > > > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > > > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > > Cr-Commit-Position: refs/heads/master@{#30041}
> > > > 
> > > > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > > > 
> > > > Change-Id: I7e5807460006db613e9b3b369ec6036b88f164fd
> > > > No-Presubmit: true
> > > > No-Tree-Checks: true
> > > > No-Try: true
> > > > Bug: chromium:1029737
> > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161662
> > > > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > Cr-Commit-Position: refs/heads/master@{#30042}
> > > 
> > > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > > 
> > > # Not skipping CQ checks because original CL landed > 1 day ago.
> > > 
> > > Bug: chromium:1029737
> > > Change-Id: Ia70b11376b43888e2495ef21838c2d2e3c68d735
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161734
> > > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#30078}
> > 
> > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > 
> > Change-Id: Ia4971b898c9209a3736a916a1c2c48d392dfdad6
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: chromium:1029737
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162140
> > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30079}
> 
> TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: chromium:1029737
> Change-Id: If2c3c5b5e7d86cb852a1f20f02b6ceae62b2e0c8
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162186
> Reviewed-by: Johannes Kron <kron@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30097}

TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org

Change-Id: I73d4fe3bb18e40a01f1b1b0c71f9dc7b85c513b7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1029737
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162208
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30100}
2019-12-16 15:28:41 +00:00
2697ac1a1b Stop an SCTP connection when the DTLS transport closes.
This CL propagates a "closed" signal from DTLS up to the
SCTP section of the data channel controller, where it causes
closing of all open datachannels.

Bug: chromium:1030631, webrtc:10360
Change-Id: I88bb9e1aff5c25f330edfd092ef609d4fcc3a9f8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162206
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30099}
2019-12-16 14:54:56 +00:00
8525a8028a Add ability to resize buffers pool in decoder and use it in IVF generator
Bug: webrtc:10138
Change-Id: I452f08f1d9af57de789bd947a1fcb95536845f80
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162183
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30098}
2019-12-16 14:51:16 +00:00
77eb338ae4 Reland "Distinguish between send and receive video codecs"
This reverts commit f2d6fe62f23f13b974d50baa9ef60426a242af03.

Reason for revert: Downstream test updated.

Original change's description:
> Revert "Reland "Distinguish between send and receive video codecs""
> 
> This reverts commit 26e6afe93f134c844d739384784e78acc07cc145.
> 
> Reason for revert: Breaks another downstream test.
> 
> Original change's description:
> > Reland "Distinguish between send and receive video codecs"
> > 
> > This reverts commit f22af3cca7cfe517e4126db4b7083475722c3e6d.
> > 
> > Reason for revert: Downstream tests have been updated.
> > 
> > Original change's description:
> > > Revert "Distinguish between send and receive video codecs"
> > > 
> > > This reverts commit 18314bd8d2cb27fa58e4d304bbc428e3ed1736ba.
> > > 
> > > Reason for revert: Breaks downstream test.
> > > 
> > > Original change's description:
> > > > Distinguish between send and receive video codecs
> > > > 
> > > > Even though send and receive codecs are the same,
> > > > they might have different support in HW.
> > > > Distinguish between send and receive codecs to be able to keep
> > > > track of which codecs have HW support.
> > > > 
> > > > Bug: chromium:1029737
> > > > Change-Id: I16a80da44c5061ca42f2aabda76e6bf0b879bf7b
> > > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161306
> > > > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > > Cr-Commit-Position: refs/heads/master@{#30041}
> > > 
> > > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > > 
> > > Change-Id: I7e5807460006db613e9b3b369ec6036b88f164fd
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Bug: chromium:1029737
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161662
> > > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#30042}
> > 
> > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > 
> > # Not skipping CQ checks because original CL landed > 1 day ago.
> > 
> > Bug: chromium:1029737
> > Change-Id: Ia70b11376b43888e2495ef21838c2d2e3c68d735
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161734
> > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30078}
> 
> TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> 
> Change-Id: Ia4971b898c9209a3736a916a1c2c48d392dfdad6
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:1029737
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162140
> Reviewed-by: Johannes Kron <kron@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30079}

TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: chromium:1029737
Change-Id: If2c3c5b5e7d86cb852a1f20f02b6ceae62b2e0c8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162186
Reviewed-by: Johannes Kron <kron@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30097}
2019-12-16 14:03:46 +00:00
5331079132 Protect against assigning current_offset_ negative value.
Bug: webrtc:11176
Change-Id: Ic3937da6f1ee9cd118372693cb71d70beb43159c
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161329
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30096}
2019-12-16 13:06:52 +00:00
cebdbf650d switch RtpVideoStreamReceiver to use VideoRtpDepacketizer interface
instead of creating each time an object with RtpDepacketizer interface

this moves packet payload memcpy from RtpVideoStreamReceiver into
the depacketizers with possibility to remove it from there in follow ups.

Bug: webrtc:11152
Change-Id: If474207eb84d7e9d0207075bd395e60895f0d842
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162185
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30095}
2019-12-16 12:08:11 +00:00
0f6bf75ab4 Make video engine tests aware of padding packets
Specifically do not try to parse them as rtx packets.

Bug: webrtc:11213, webrtc:11188
Change-Id: I3aa5929af433b1ada9fb26516618d11207f075a5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162204
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Yves Gerey <yvesg@google.com>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30094}
2019-12-16 11:43:11 +00:00
73eb784676 Don't crash the test process when X11 isn't available.
It's not great to use asserts in util functions like this because it
breaks the arrange-act-assert rule, but using checks is worse because
they will crash the test process on failure (= no other tests get run
after that).

Bug: b/143587130
Change-Id: If4d085311de0792b9fca1584db299fd24199e72e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162360
Reviewed-by: Artem Titov <titovartem@webrtc.org>
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30093}
2019-12-16 09:57:59 +00:00
774fb933a3 Roll chromium_revision cd7700164d..faed30b47a (724740:724977)
Manual tweak: Don't roll src/ios and src/testing.

Change log: cd7700164d..faed30b47a
Full diff: cd7700164d..faed30b47a

Changed dependencies
* src/base: b3e5fa8e95..1a89c23360
* src/build: ddbcd10b58..03d0c36c52
* src/third_party: 76b48eb36f..23379e2aee
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/67b9c374e8..69337c37de
* src/third_party/depot_tools: f1ad6e46ed..ba4699fef5
* src/third_party/freetype/src: 11d4ce23ac..0c14a3adb0
* src/tools: d811596acb..87947b9472
DEPS diff: cd7700164d..faed30b47a/DEPS

No update to Clang.

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

Change-Id: Id53027ecd5c582cd3efbef8d5f3483304740e6c0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162340
Commit-Queue: Yves Gerey <yvesg@google.com>
Reviewed-by: Yves Gerey <yvesg@webrtc.org>
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#30092}
2019-12-15 22:25:37 +00:00
17ea068e8c Integration test that verifies that data channels open.
This is in preparation for writing tests that verify that
they close, and that they close at the right times.

Bug: chromium:1030631, webrtc:10360
Change-Id: I8129a9fc9731c1bfe1a660e82e23c1aeff1e5087
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162181
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30091}
2019-12-13 23:03:34 +00:00
04158be200 Roll chromium_revision da78695105..cd7700164d (724157:724740)
Manual tweak: Don't roll src/ios and src/testing.

Change log: da78695105..cd7700164d
Full diff: da78695105..cd7700164d

Changed dependencies
* src/base: 74d23bf118..b3e5fa8e95
* src/build: dfe5662014..ddbcd10b58
* src/buildtools: 6b3e658d6f..fa02977a1a
* src/buildtools/linux64: git_revision:ad9e442d92dcd9ee73a557428cfc336b55cbd533..git_revision:6feb55993083dfd27b93da195c8a82a3a9529848
* src/buildtools/mac: git_revision:ad9e442d92dcd9ee73a557428cfc336b55cbd533..git_revision:6feb55993083dfd27b93da195c8a82a3a9529848
* src/buildtools/win: git_revision:ad9e442d92dcd9ee73a557428cfc336b55cbd533..git_revision:6feb55993083dfd27b93da195c8a82a3a9529848
* src/third_party: 4ca87a167e..76b48eb36f
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/4082c9147b..67b9c374e8
* src/third_party/depot_tools: 8b34eb4d1e..f1ad6e46ed
* src/third_party/libvpx/source/libvpx: d2a5e26359..b7e03724b3
* src/tools: 6bcb3d7f48..d811596acb
DEPS diff: da78695105..cd7700164d/DEPS

No update to Clang.

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

Change-Id: Ibfb9022bd21986eff6523dbbcec0f76d37b8e39f
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162220
Commit-Queue: Yves Gerey <yvesg@google.com>
Reviewed-by: Yves Gerey <yvesg@webrtc.org>
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#30090}
2019-12-13 21:58:57 +00:00
95059e0779 Moved the legacy noise suppressor to a separate build target
Bug: webrtc:5298
Change-Id: Ia1c5eb9d0f7b4ba578acb646e73229de63ae91fb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161441
Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
Commit-Queue: Per Åhgren <peah@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30089}
2019-12-13 15:26:16 +00:00
eae6896f76 Move vp8 rtp depacketization to VideoRtpDepacketizerVp8
Bug: webrtc:11152
Change-Id: Ic2b7fd091cb4d095ce29fbe06196f6424c08fce1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161451
Reviewed-by: Markus Handell <handellm@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30088}
2019-12-13 15:10:46 +00:00
41466b7bef Revert "Extracts ssrc based feedback tracking from feedback adapter."
This reverts commit 08c46adc1e9f9a8d74357fe132a68906ae6e6974.

Reason for revert: Incomplete.

Original change's description:
> Extracts ssrc based feedback tracking from feedback adapter.
> 
> This prepares for moving TransportFeedbackAdapter to TaskQueue.
> 
> Bug: webrtc:9883
> Change-Id: Ib333f6a6837ff6dd8b10813e8953e4d8cd5d8633
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162040
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30076}

TBR=sprang@webrtc.org,srte@webrtc.org

Change-Id: I6a79e7627f9de2d8c876d6a13ca36f3ac06fde7f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:9883
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162200
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30087}
2019-12-13 14:47:48 +00:00
9d06bc2e6d Replace sequence checker with lock in IvfFrameGemerator.
It was found that generator can be destroyed on another thread
comparing to the one, from which frame were generated. It can happen
because generator injected into PC though scoped_ref object and the
last pointer to that object can be destroyed on different thread
depending on machine load.

To fix this sequence checker is replaced with lock. It is required
to ensure that generator won't be destroyed while it is reading frame,
because otherwise it can catch SIGSEGV.

Bug: webrtc:10138
Change-Id: Ia3488bd8ae396c209b90977469593784bb82114b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162182
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30086}
2019-12-13 14:06:30 +00:00
b57fe17e7c Migrate video tests and tool to VideoRtpDepacketizer interface
Bug: webrtc:11152
Change-Id: I1e7868ca88b162db8615cb4903bd89d3daac4827
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161452
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30085}
2019-12-13 11:41:04 +00:00
c9e532a7eb Fix PacketBuffer::LastReceivedKeyframePacketMs
to return time of the last receieved packet of a key frame rather than
last received first packet of a key frame.

To match VideoReceiveStream expectation and prevent requesting
a new key frame if a large key frame is currently on the way.

Bug: None
Change-Id: I443a60872a3580d324f050080a9868f7b90d71a2
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161730
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30084}
2019-12-13 11:36:24 +00:00
5e9cac984f Don't try to resend packets that were removed out of order.
Bug: webrtc:11206
Change-Id: Iae05e1db80afd871d37aca203e17bad40dbc9522
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162041
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30083}
2019-12-13 10:29:49 +00:00
d77c829d37 Fix incorrect log message in FilterNetworks function.
This log should print removed elements in 'networks' which pointer to
vector<Network*> really. But it was printing just tailing elements of
the vector. For example, assume that there are 4 elements in 'networks',
and 1st and 3rd elements are removed. Then 'networks' will be changed
like this.

<Before>
[0] id = 1
[1] id = 2
[2] id = 3
[3] id = 4

<After>
[0] id = 2
[1] id = 4

Then this log should print the elements with id=1, id=3 which removed.
But currently it is printing the elements with id=3 and id=4 which
tailing 2 elements of the vector. It's related with how std::remove_if
works. So I replaced it with std::partition.

Bug: none
Change-Id: Idfdae04f2d321212310bddb4d8742ba2dccc4db9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159060
Reviewed-by: Qingsi Wang <qingsi@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30082}
2019-12-13 10:22:17 +00:00
9338bbcd90 Replace assert() with RTC_DCHECK
Remove some uses of assert() breaking MSVC compiling, use RTC_DCHECK
instead.

Bug: webrtc:11201
Change-Id: Ie6c3607e422ea17d3393352b4915da3fa24779f9
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161949
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@google.com>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30081}
2019-12-13 10:06:07 +00:00
0808a8c690 Explicitly set and use WEBRTC_USE_X11 instead of USE_X11.
USE_X11 is magically set by the toolchain. Let's tie this to
whether X11 extensions is on or not. WEBRTC_USE_X11 is used
in the audio device module so let's be consistent with that.

Bug: b/143587130
Change-Id: I15b1744c9acb534dbdf2119deb2dc5d17aa04184
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161901
Commit-Queue: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30080}
2019-12-13 09:36:25 +00:00
f2d6fe62f2 Revert "Reland "Distinguish between send and receive video codecs""
This reverts commit 26e6afe93f134c844d739384784e78acc07cc145.

Reason for revert: Breaks another downstream test.

Original change's description:
> Reland "Distinguish between send and receive video codecs"
> 
> This reverts commit f22af3cca7cfe517e4126db4b7083475722c3e6d.
> 
> Reason for revert: Downstream tests have been updated.
> 
> Original change's description:
> > Revert "Distinguish between send and receive video codecs"
> > 
> > This reverts commit 18314bd8d2cb27fa58e4d304bbc428e3ed1736ba.
> > 
> > Reason for revert: Breaks downstream test.
> > 
> > Original change's description:
> > > Distinguish between send and receive video codecs
> > > 
> > > Even though send and receive codecs are the same,
> > > they might have different support in HW.
> > > Distinguish between send and receive codecs to be able to keep
> > > track of which codecs have HW support.
> > > 
> > > Bug: chromium:1029737
> > > Change-Id: I16a80da44c5061ca42f2aabda76e6bf0b879bf7b
> > > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161306
> > > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#30041}
> > 
> > TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> > 
> > Change-Id: I7e5807460006db613e9b3b369ec6036b88f164fd
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: chromium:1029737
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161662
> > Reviewed-by: Johannes Kron <kron@webrtc.org>
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30042}
> 
> TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: chromium:1029737
> Change-Id: Ia70b11376b43888e2495ef21838c2d2e3c68d735
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161734
> Reviewed-by: Johannes Kron <kron@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30078}

TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org

Change-Id: Ia4971b898c9209a3736a916a1c2c48d392dfdad6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:1029737
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162140
Reviewed-by: Johannes Kron <kron@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30079}
2019-12-12 22:30:25 +00:00
26e6afe93f Reland "Distinguish between send and receive video codecs"
This reverts commit f22af3cca7cfe517e4126db4b7083475722c3e6d.

Reason for revert: Downstream tests have been updated.

Original change's description:
> Revert "Distinguish between send and receive video codecs"
> 
> This reverts commit 18314bd8d2cb27fa58e4d304bbc428e3ed1736ba.
> 
> Reason for revert: Breaks downstream test.
> 
> Original change's description:
> > Distinguish between send and receive video codecs
> > 
> > Even though send and receive codecs are the same,
> > they might have different support in HW.
> > Distinguish between send and receive codecs to be able to keep
> > track of which codecs have HW support.
> > 
> > Bug: chromium:1029737
> > Change-Id: I16a80da44c5061ca42f2aabda76e6bf0b879bf7b
> > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161306
> > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > Reviewed-by: Steve Anton <steveanton@webrtc.org>
> > Commit-Queue: Johannes Kron <kron@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#30041}
> 
> TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org
> 
> Change-Id: I7e5807460006db613e9b3b369ec6036b88f164fd
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:1029737
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161662
> Reviewed-by: Johannes Kron <kron@webrtc.org>
> Commit-Queue: Johannes Kron <kron@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30042}

TBR=steveanton@webrtc.org,andersc@webrtc.org,kron@webrtc.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: chromium:1029737
Change-Id: Ia70b11376b43888e2495ef21838c2d2e3c68d735
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161734
Reviewed-by: Johannes Kron <kron@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30078}
2019-12-12 22:13:02 +00:00
977b265702 Reduce some logging at INFO level by moving log statements
from LS_INFO to LS_VERBOSE.

By default, unit tests run with logging at info level.
A random run today produced more than 70.000 lines of
output. This CL would reduce that by approximately 15.000.

Bug: none
Change-Id: Ie62708cebf109510a2443aa5ab5c4e645ffc6707
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161950
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30077}
2019-12-12 21:54:06 +00:00
08c46adc1e Extracts ssrc based feedback tracking from feedback adapter.
This prepares for moving TransportFeedbackAdapter to TaskQueue.

Bug: webrtc:9883
Change-Id: Ib333f6a6837ff6dd8b10813e8953e4d8cd5d8633
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/162040
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30076}
2019-12-12 18:25:25 +00:00
3a7e8b0403 BalancedDegradationSettings: update codec specific settings.
Bug: none
Change-Id: I126aa4aafcf43a294197b83443c093bd5f22b57e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161954
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30075}
2019-12-12 18:23:25 +00:00
22619b3ed6 Allow external initialization of libsrtp.
Bug: webrtc:11205
Change-Id: I906651e3afc5c50977ff567f13a44e5087604028
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161952
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30074}
2019-12-12 17:23:29 +00:00
6286bb0b2c Roll chromium_revision ac00cfc7cd..da78695105 (723527:724157)
Manual tweak:
 * do not roll src/testing (iossim update).
 * do not roll src/ios

Change log: ac00cfc7cd..da78695105
Full diff: ac00cfc7cd..da78695105

Changed dependencies
* src/base: 7ef8e2b029..74d23bf118
* src/build: 4da2a5b127..dfe5662014
* src/third_party: f5a239ae12..4ca87a167e
* src/third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/8953fbe6c5..4082c9147b
* src/third_party/depot_tools: e9aeaee522..8b34eb4d1e
* src/tools: 25869a7ef1..6bcb3d7f48
DEPS diff: ac00cfc7cd..da78695105/DEPS

No update to Clang.

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

Change-Id: Ic345277fc9881362a1e6c09c4958774851d13698
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161984
Commit-Queue: Yves Gerey <yvesg@google.com>
Reviewed-by: Yves Gerey <yvesg@webrtc.org>
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#30073}
2019-12-12 14:22:54 +00:00
82f33c566a Delete transitional method EncodedImage.maybeRetain
Bug: webrtc:9378
Change-Id: Ibe3d5bad835d1725faa38f8e2a804efc9272776e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/155661
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30072}
2019-12-12 14:11:14 +00:00
3927298c22 Adds queue length setter to simulated network node builder.
Bug: webrtc:9883
Change-Id: Icf3d2c78200f0a5e716c872ab973af0e4026f362
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161305
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30071}
2019-12-12 09:15:21 +00:00
ce911263a4 Allows creating a test network node builder without manager.
This is used to allow using a pre-configured builders as arguments to
fixture code.

Bug: webrtc:9510
Change-Id: I7837d284580fdbc926535ce5b2d8f582056534ce
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161948
Reviewed-by: Per Kjellander <perkj@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30070}
2019-12-12 09:14:34 +00:00
bcc1a765fb Add rtc::Thread::PostDelayedTask
Earlier, rtc::Thread::PostTask was added as a convenient
alternative to MessageHandlers. This CL additionally adds support
for posting delayed tasks in a similar manner.

Bug: webrtc:10294
Change-Id: I0957b59ca2133a882c980bd2ad109fa03d701a16
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161740
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30069}
2019-12-11 20:42:43 +00:00
26fe811623 Roll chromium_revision 5939567173..ac00cfc7cd (722888:723527)
Manual tweak: revert ios roll.

Change log: 5939567173..ac00cfc7cd
Full diff: 5939567173..ac00cfc7cd

Changed dependencies
* src/base: 4a67f656da..7ef8e2b029
* src/build: b1050d1e6a..4da2a5b127
* src/testing: 2363b239d0..b1a11372f7
* src/third_party: 244bb7a24b..f5a239ae12
* src/third_party/depot_tools: 6b52dc21e1..e9aeaee522
* src/third_party/ffmpeg: fa04e15e1a..68b4dfdbd6
* src/third_party/freetype/src: dfc9a049de..11d4ce23ac
* src/tools: 3f49cabf04..25869a7ef1
DEPS diff: 5939567173..ac00cfc7cd/DEPS

No update to Clang.

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

Change-Id: I3dc959c95144fe6f298469505cf2883b25225992
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161752
Commit-Queue: Yves Gerey <yvesg@google.com>
Reviewed-by: Yves Gerey <yvesg@webrtc.org>
Reviewed-by: Autoroller <chromium-webrtc-autoroll@webrtc-ci.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#30068}
2019-12-11 19:27:51 +00:00
dcb4fcc361 Execute cached video encoder switching request if encoder switching is allowed after the switch request was made.
Bug: webrtc:10795
Change-Id: Ib045794bf7ecec67812e1fad2ec8db987f6011df
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161943
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30067}
2019-12-11 17:16:04 +00:00
1e51a388bc Makes padding prefer video SSRCs instead of audio.
Some clients will not count audio packets into the bandwidth estimate
despite negotiating e.g. abs-send-time for that SSRC.
If padding is sent on such an RTP module, we might get stuck in a low
resolution.

This CL works around that by preferring to send padding on video SSRCs.

Bug: webrtc:11196
Change-Id: I1ff503a31a85bc32315006a4f15f8b08e5d4e883
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161941
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30066}
2019-12-11 16:32:14 +00:00
184da528a7 Fix ASAN bug in iSAC codec
There is a value missing in an array, causing indexing to sometimes be off by one.
The result is never used anyway, so the "solution" is to insert an extra zero at the end.

Details:

In an old refactoring CL, the corresponding array in the floating point version of iSAC is declared with 578 elements, the fixed point version has 577.
See WebRtcIsac_kQKltCodeLenShape:
https://webrtc-codereview.appspot.com/548004/patch/10002/11005
Perhaps the entire array was not carried over to fixed point.

However, the floating point version does not actually have 578 elements in its definition, it has 568. The remaining 10 elements are initialized to 0. So there is no value to use from there, and using a zero instead will mimic the behavior of the floating point code.


Use of the value:
WebRtcIsacfix_kCodeLenShapeQ11 is only accessed in one place [0].
The value sumQQ is set to is only used to compute the BitsQQ,
which is only used to populate the sizeQ11 param of EstCodeLpcCoef,
which is never used anywhere. Not within EstCodeLpcCoef, not within the calling function WebRtcIsacfix_EncodeLpc [1], not in the calling function's calling function [2]. Then it falls out of scope.

[0] https://cs.chromium.org/chromium/src/third_party/webrtc/modules/audio_coding/codecs/isac/fix/source/entropy_coding.c?l=1223&rcl=3c4fda2ed8140a330634c0a2704a3cf0311a89de
[1] https://cs.chromium.org/chromium/src/third_party/webrtc/modules/audio_coding/codecs/isac/fix/source/entropy_coding.c?l=1468&rcl=3c4fda2ed8140a330634c0a2704a3cf0311a89de
[2] https://cs.chromium.org/chromium/src/third_party/webrtc/modules/audio_coding/codecs/isac/fix/source/encode.c?l=214&rcl=3c4fda2ed8140a330634c0a2704a3cf0311a89de

Tested: Instructions in linked bug. No longer repro after applying this CL.
Bug: webrtc:10584
Change-Id: I87a90e8cf58d82f615217e05ea401d3259887769
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/161942
Commit-Queue: Sam Zackrisson <saza@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30065}
2019-12-11 15:59:14 +00:00
75bc75ccef Optimize FindNaluIndices
We can add i by 3 even if it's not 001, because in any xx1 combination, 1 could not be part of start code.

Bug: None
Change-Id: Ica653d9e49b9f7c665027b9cf4453753c5fdd3ed
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/159721
Commit-Queue: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Kári Helgason <kthelgason@webrtc.org>
Reviewed-by: Tommi <tommi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30064}
2019-12-11 15:28:06 +00:00