Henrik Boström
80850ca477
Fix crash happening when changing from legacy to standard VP9.
...
Attempting to ship "WebRTC-AllowDisablingLegacyScalability" revealed a
DCHECK that happens when negotiating 3 VP9 streams prior to the
setParameters() call:
1. By default, `scalability_mode` is missing, so those 3 streams
defaulted to legacy SVC, meaning only a single stream is used.
2. Then, setParameters() was called to make
`encodings[0].scalability_mode = "L2T2_KEY"` and
`encodings[1-2].active = false`. The inactive streams were just
dummies and never expected to exist.
Without simulcast support this is OK, because both 1) and 2) are
interpreted to have a single stream. But with simulcast support, 1) is
interpreted as single stream and 2) as three streams (1 active, 2
inactive). This should be roughly the same setup, but our code treats
them differently.
The DCHECK crash was a mismatch in number of streams in one of the
layers.
The fix is to re-create the streams when the number of streams change
for this reason. The new test revealed other issues and fixes too:
- Support for multiple spatial layers (e.g. "L2T2_KEY") when multiple
encodings exist but only one encoding is active.
- Allow inactive layers not to have a scalability mode set.
A laundry list (https://crbug.com/webrtc/15028 ) has been created to
update known places doing "if streams == 1" that need to do "if
active streams == 1" instead.
Credit:
The RecreateWebRtcStream() fix is based on eshr@'s POC from
https://webrtc-review.googlesource.com/c/src/+/298565 .
Bug: webrtc:15016
Change-Id: I909a3f83a4ef53562894549ade0a870b208cec7e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/298443
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@google.com>
Cr-Commit-Position: refs/heads/main@{#39651}
2023-03-23 10:46:17 +00:00
..
2023-01-31 09:30:04 +00:00
2022-04-20 13:18:33 +00:00
2023-03-22 16:47:28 +00:00
2023-03-07 12:57:35 +00:00
2023-01-10 06:44:27 +00:00
2023-01-10 06:44:27 +00:00
2022-06-15 09:47:38 +00:00
2022-05-30 10:28:57 +00:00
2023-03-22 00:28:02 +00:00
2023-03-07 12:57:35 +00:00
2023-03-07 12:57:35 +00:00
2023-03-07 12:57:35 +00:00
2023-03-07 12:57:35 +00:00
2023-03-02 13:37:38 +00:00
2023-03-02 13:37:38 +00:00
2023-03-20 14:57:44 +00:00
2023-03-22 16:47:28 +00:00
2023-03-23 08:38:33 +00:00
2022-05-23 15:51:21 +00:00
2023-03-22 00:28:02 +00:00
2021-04-19 19:32:23 +00:00
2021-04-19 19:32:23 +00:00
2023-03-12 17:28:14 +00:00
2022-05-20 15:21:21 +00:00
2022-03-29 10:14:00 +00:00
2022-03-29 10:14:00 +00:00
2022-06-15 09:47:38 +00:00
2022-06-15 09:47:38 +00:00
2021-05-21 21:45:29 +00:00
2022-08-03 14:16:35 +00:00
2022-09-09 10:44:17 +00:00
2022-09-09 10:44:17 +00:00
2021-07-30 22:13:59 +00:00
2022-03-10 18:36:43 +00:00
2022-11-03 12:16:08 +00:00
2022-11-03 12:16:08 +00:00
2022-10-12 11:23:22 +00:00
2023-01-24 08:24:55 +00:00
2021-02-10 15:04:55 +00:00
2022-03-10 18:36:43 +00:00
2022-02-24 11:05:06 +00:00
2021-05-17 14:37:55 +00:00
2022-02-24 11:05:06 +00:00
2022-02-24 11:05:06 +00:00
2022-02-24 11:05:06 +00:00
2023-03-02 12:28:29 +00:00
2022-05-04 11:57:50 +00:00
2022-05-04 11:57:50 +00:00
2022-08-12 23:42:16 +00:00
2022-11-03 08:18:53 +00:00
2022-06-15 09:47:38 +00:00
2022-08-19 10:55:47 +00:00
2022-08-22 13:51:17 +00:00
2022-08-22 13:51:17 +00:00
2022-11-14 12:10:06 +00:00
2023-03-07 12:57:35 +00:00
2023-01-05 09:04:12 +00:00
2022-11-11 10:29:25 +00:00
2019-01-11 17:11:39 +00:00
2022-06-15 09:47:38 +00:00
2019-01-25 20:29:58 +00:00
2022-05-30 13:05:03 +00:00
2021-11-02 11:51:31 +00:00
2023-02-01 12:37:44 +00:00
2023-02-01 12:37:44 +00:00
2022-11-08 10:32:47 +00:00
2022-04-20 13:18:33 +00:00
2022-04-20 13:18:33 +00:00
2022-04-21 12:32:17 +00:00
2022-02-15 21:55:59 +00:00
2022-05-20 15:21:21 +00:00
2022-06-15 09:47:38 +00:00
2022-04-21 12:32:17 +00:00
2023-01-30 20:09:07 +00:00
2023-03-22 09:10:27 +00:00
2022-06-07 11:24:16 +00:00
2023-01-24 08:24:55 +00:00
2022-04-20 13:18:33 +00:00
2022-06-27 12:45:28 +00:00
2023-03-22 09:10:27 +00:00
2023-03-22 09:10:27 +00:00
2023-03-22 09:10:27 +00:00
2023-03-22 09:10:27 +00:00
2023-03-22 09:10:27 +00:00
2023-03-21 14:33:41 +00:00
2022-06-15 09:47:38 +00:00
2023-01-24 08:24:55 +00:00
2023-03-07 14:27:47 +00:00
2023-03-22 09:10:27 +00:00
2023-03-22 16:47:28 +00:00
2022-05-02 18:07:24 +00:00
2023-03-07 12:57:35 +00:00
2023-03-10 15:22:01 +00:00
2022-11-11 10:29:25 +00:00
2022-11-11 10:29:25 +00:00
2022-10-19 09:13:08 +00:00
2023-03-22 09:10:27 +00:00
2022-10-19 09:13:08 +00:00
2022-08-19 10:21:36 +00:00
2023-03-23 10:46:17 +00:00
2023-01-24 15:03:52 +00:00
2023-03-22 09:10:27 +00:00
2023-02-10 12:24:47 +00:00
2023-03-22 16:47:28 +00:00
2023-03-22 16:47:28 +00:00
2022-06-15 09:47:38 +00:00
2021-05-28 06:53:29 +00:00
2022-09-21 15:15:30 +00:00
2022-12-14 11:00:17 +00:00
2022-12-14 11:00:17 +00:00
2023-03-20 14:57:44 +00:00
2023-03-07 14:27:47 +00:00
2023-03-07 14:27:47 +00:00
2023-03-16 06:46:19 +00:00
2023-01-05 08:37:31 +00:00
2023-03-07 14:27:47 +00:00
2021-07-30 22:13:59 +00:00
2019-01-11 17:11:39 +00:00
2021-08-11 21:50:08 +00:00
2019-01-11 17:11:39 +00:00
2019-07-08 13:45:15 +00:00
2021-11-15 21:44:59 +00:00
2022-03-10 18:36:43 +00:00
2022-02-24 11:05:06 +00:00
2022-07-05 13:28:33 +00:00
2022-02-24 11:05:06 +00:00
2021-05-28 06:53:29 +00:00
2022-02-24 11:05:06 +00:00
2023-01-05 09:04:12 +00:00
2022-11-15 15:31:40 +00:00
2023-03-07 12:57:35 +00:00
2022-12-22 10:05:02 +00:00
2022-12-22 10:05:02 +00:00
2023-03-21 14:33:41 +00:00
2023-03-21 14:33:41 +00:00
2023-03-07 10:55:58 +00:00
2023-01-19 15:49:04 +00:00
2022-12-14 11:00:17 +00:00
2022-06-06 10:31:26 +00:00
2022-02-24 11:05:06 +00:00
2022-06-23 12:30:22 +00:00
2022-06-23 12:30:22 +00:00
2023-03-22 00:28:02 +00:00
2023-03-22 00:28:02 +00:00
2023-03-21 13:57:47 +00:00
2023-03-21 13:57:47 +00:00
2022-08-22 13:51:17 +00:00
2023-03-12 17:28:14 +00:00
2023-03-21 13:45:51 +00:00
2023-03-21 13:45:51 +00:00
2023-03-16 11:17:26 +00:00
2023-03-23 08:38:33 +00:00
2023-03-22 16:47:28 +00:00
2022-02-24 11:05:06 +00:00
2023-03-20 18:16:10 +00:00
2021-07-30 22:13:59 +00:00
2020-10-26 10:22:46 +00:00
2022-02-24 11:05:06 +00:00
2021-01-29 16:14:10 +00:00
2022-02-24 11:05:06 +00:00
2022-06-09 08:29:33 +00:00
2022-11-22 22:44:21 +00:00
2022-01-25 08:25:50 +00:00
2022-01-25 08:25:50 +00:00
2023-03-01 15:53:37 +00:00
2021-11-04 14:46:27 +00:00
2022-02-24 11:05:06 +00:00
2022-01-27 12:55:44 +00:00
2022-03-09 13:23:21 +00:00
2022-04-06 07:41:52 +00:00
2022-04-06 07:41:52 +00:00
2022-03-09 13:23:21 +00:00
2022-06-23 12:30:22 +00:00
2022-06-06 10:31:26 +00:00
2022-04-20 13:18:33 +00:00
2022-07-27 11:18:41 +00:00
2022-07-27 11:28:25 +00:00
2022-07-27 11:28:25 +00:00
2022-05-02 18:07:24 +00:00
2022-05-02 18:07:24 +00:00
2019-02-05 15:12:20 +00:00
2022-05-02 10:13:54 +00:00
2020-10-09 08:29:45 +00:00
2021-07-30 22:13:59 +00:00
2022-02-24 11:05:06 +00:00
2022-01-18 13:46:37 +00:00
2023-02-09 14:29:08 +00:00
2023-01-10 06:44:27 +00:00
2023-01-10 06:44:27 +00:00
2022-08-02 13:52:36 +00:00
2021-01-29 16:14:10 +00:00
2022-01-20 11:00:18 +00:00
2022-03-18 16:17:24 +00:00
2022-02-24 11:05:06 +00:00
2022-02-09 16:54:06 +00:00
2022-02-24 11:05:06 +00:00
2022-06-15 09:47:38 +00:00
2022-09-09 10:44:17 +00:00
2022-05-30 10:28:57 +00:00
2023-03-02 12:28:29 +00:00
2023-02-10 19:42:14 +00:00
2022-12-23 11:47:42 +00:00
2022-08-24 16:12:39 +00:00
2022-08-24 16:12:39 +00:00