gecko-dev/third_party/libwebrtc/pc
Michael Froman ec171f7887 Bug 1924098 - Vendor libwebrtc from 28b793b4dd
Upstream commit: https://webrtc.googlesource.com/src/+/28b793b4dd275bf2b901b87e01c0ee8d4f5732fc
    [Merge-130] Fix LibvpxVp9Encoder simulcast bug.

    As of [1], a single VP9 encoder instance can produce simulcast 4:2:1.
    When it does, the EncodedImage has its simulcast index set (0, 1, 2).

    The bug is that if you then go back to a single encoder instance,
    either because you're doing singlecast or because you're doing
    simulcast with scaling factors that are not power of two (not 4:2:1),
    then the simulcast index which was previously set to 2 is not reset due
    to the old code path never calling SetSimulcastIndex.

    Example repro:
    1. Send VP9 simulcast {180p, 360p, 720p}, i.e. 4:2.1.
    2. Reconfigure to {180p, 360p, 540p}, i.e. no longer 4:2:1.

    What should happen: all three layers are sent.
    What actually happened: 180p is not sent and the 540p layer flips flops
    between 180p and 540p because the EncodedImage says simulcast index is
    2 for both encodings[0] and encodings[2].

    The fix is a one-line change: `SetSimulcastIndex(std::nullopt)` in the
    case that we don't have a `simulcast_to_svc_converter_` that sets it
    (0, 1, 2) for us.

    [1] https://webrtc-review.googlesource.com/c/src/+/360280

    (cherry picked from commit a6fbb35ac1849c5cd823ec90121d92fc5b776b35)

    Bug: chromium:370299916
    Change-Id: I94ce1a0bde43ef56cba930cb69b744877bbd4bf9
    Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/363941
    Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
    Commit-Queue: Henrik Boström <hbos@webrtc.org>
    Cr-Original-Commit-Position: refs/heads/main@{#43109}
    Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/364302
    Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
    Cr-Commit-Position: refs/branch-heads/6723@{#2}
    Cr-Branched-From: 13e377b804f68aa9c20ea5e449666ea5248e3286-refs/heads/main@{#43019}
2024-10-15 19:12:04 -05:00
..
g3doc
scenario_tests Bug 1909234 - Vendor libwebrtc from 5566b91356 2024-07-24 14:05:19 -05:00
test Bug 1924098 - Vendor libwebrtc from 64d68c3984 2024-10-15 17:37:25 -05:00
audio_rtp_receiver_unittest.cc Bug 1876843 - Vendor libwebrtc from a6544377bc 2024-02-09 17:23:16 -05:00
audio_rtp_receiver.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
audio_rtp_receiver.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
audio_track.cc
audio_track.h Bug 1876843 - Vendor libwebrtc from a6544377bc 2024-02-09 17:23:16 -05:00
BUILD.gn Bug 1924098 - Vendor libwebrtc from 83d1f9abd0 2024-10-15 18:45:43 -05:00
channel_interface.h
channel_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
channel.cc Bug 1924098 - Vendor libwebrtc from dc56a36ff8 2024-10-15 18:37:17 -05:00
channel.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
connection_context.cc Bug 1909234 - Vendor libwebrtc from 4158678b46 2024-07-29 12:33:16 -05:00
connection_context.h Bug 1909234 - Vendor libwebrtc from c74412b304 2024-07-29 12:40:11 -05:00
data_channel_controller_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
data_channel_controller.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
data_channel_controller.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
data_channel_integrationtest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
data_channel_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
data_channel_utils.cc
data_channel_utils.h
DEPS
dtls_srtp_transport_unittest.cc
dtls_srtp_transport.cc
dtls_srtp_transport.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
dtls_transport_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
dtls_transport.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
dtls_transport.h Bug 1883116 - Vendor libwebrtc from 3ba809d6a6 2024-03-15 14:37:28 -06:00
dtmf_sender_unittest.cc
dtmf_sender.cc
dtmf_sender.h
external_hmac.cc
external_hmac.h Bug 1918268 - Vendor libwebrtc from 8089959877 2024-09-17 10:03:43 -05:00
ice_server_parsing_unittest.cc Bug 1876843 - Vendor libwebrtc from a6544377bc 2024-02-09 17:23:16 -05:00
ice_server_parsing.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
ice_server_parsing.h
ice_transport_unittest.cc Bug 1876843 - Vendor libwebrtc from a6544377bc 2024-02-09 17:23:16 -05:00
ice_transport.cc
ice_transport.h
jitter_buffer_delay_unittest.cc
jitter_buffer_delay.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
jitter_buffer_delay.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
jsep_ice_candidate.cc
jsep_session_description_unittest.cc Bug 1909234 - Vendor libwebrtc from 4158678b46 2024-07-29 12:33:16 -05:00
jsep_session_description.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
jsep_transport_collection.cc Bug 1924098 - Vendor libwebrtc from 84ce5453ad 2024-10-11 13:13:24 -05:00
jsep_transport_collection.h
jsep_transport_controller_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
jsep_transport_controller.cc Bug 1924098 - Vendor libwebrtc from dc56a36ff8 2024-10-15 18:37:17 -05:00
jsep_transport_controller.h Bug 1924098 - Vendor libwebrtc from dc56a36ff8 2024-10-15 18:37:17 -05:00
jsep_transport_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
jsep_transport.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
jsep_transport.h Bug 1924098 - Vendor libwebrtc from dc56a36ff8 2024-10-15 18:37:17 -05:00
legacy_stats_collector_interface.h
legacy_stats_collector_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
legacy_stats_collector.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
legacy_stats_collector.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
local_audio_source_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
local_audio_source.cc
local_audio_source.h
media_factory.h Bug 1918268 - Vendor libwebrtc from 5079e8a30a 2024-09-17 10:26:40 -05:00
media_protocol_names.cc
media_protocol_names.h
media_session_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
media_session.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
media_session.h Bug 1903098 - Vendor libwebrtc from f42d2b9ab5 2024-06-24 09:49:48 -05:00
media_stream_observer.cc
media_stream_observer.h
media_stream_proxy.h
media_stream_track_proxy.h
media_stream_unittest.cc Bug 1876843 - Vendor libwebrtc from a6544377bc 2024-02-09 17:23:16 -05:00
media_stream.cc
media_stream.h
OWNERS
peer_connection_adaptation_integrationtest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
peer_connection_bundle_unittest.cc Bug 1903098 - Vendor libwebrtc from f4673f97ed 2024-06-18 10:48:18 -05:00
peer_connection_crypto_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
peer_connection_data_channel_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
peer_connection_encodings_integrationtest.cc Bug 1924098 - Vendor libwebrtc from 28b793b4dd 2024-10-15 19:12:04 -05:00
peer_connection_end_to_end_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
peer_connection_factory_proxy.h Bug 1876843 - Vendor libwebrtc from a6544377bc 2024-02-09 17:23:16 -05:00
peer_connection_factory_unittest.cc Bug 1903098 - Vendor libwebrtc from f4673f97ed 2024-06-18 10:48:18 -05:00
peer_connection_factory.cc Bug 1918268 - Vendor libwebrtc from 5079e8a30a 2024-09-17 10:26:40 -05:00
peer_connection_factory.h Bug 1918268 - Vendor libwebrtc from 5079e8a30a 2024-09-17 10:26:40 -05:00
peer_connection_field_trial_tests.cc Bug 1924098 - Vendor libwebrtc from b4c1f2f6fc 2024-10-14 15:27:48 -05:00
peer_connection_header_extension_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
peer_connection_histogram_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
peer_connection_ice_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
peer_connection_integrationtest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
peer_connection_interface_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
peer_connection_internal.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
peer_connection_jsep_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
peer_connection_media_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
peer_connection_message_handler.cc
peer_connection_message_handler.h
peer_connection_proxy.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
peer_connection_rampup_tests.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
peer_connection_rtp_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
peer_connection_signaling_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
peer_connection_simulcast_unittest.cc Bug 1912989 - Vendor libwebrtc from 187a4363c0 2024-08-27 17:29:47 -06:00
peer_connection_svc_integrationtest.cc Bug 1909234 - Vendor libwebrtc from 4158678b46 2024-07-29 12:33:16 -05:00
peer_connection_wrapper.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
peer_connection_wrapper.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
peer_connection.cc Bug 1924098 - Vendor libwebrtc from 83d1f9abd0 2024-10-15 18:45:43 -05:00
peer_connection.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
proxy_unittest.cc Bug 1909234 - Vendor libwebrtc from c74412b304 2024-07-29 12:40:11 -05:00
proxy.h Bug 1924098 - Vendor libwebrtc from 28ce65c6f9 2024-10-15 18:41:56 -05:00
remote_audio_source.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
remote_audio_source.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
rtc_stats_collector_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
rtc_stats_collector.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
rtc_stats_collector.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
rtc_stats_integrationtest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
rtc_stats_traversal_unittest.cc Bug 1876843 - Vendor libwebrtc from a6544377bc 2024-02-09 17:23:16 -05:00
rtc_stats_traversal.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
rtc_stats_traversal.h
rtcp_mux_filter_unittest.cc
rtcp_mux_filter.cc
rtcp_mux_filter.h
rtp_media_utils_unittest.cc
rtp_media_utils.cc
rtp_media_utils.h Bug 1912989 - Vendor libwebrtc from 55c3600781 2024-08-27 16:20:07 -06:00
rtp_parameters_conversion_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
rtp_parameters_conversion.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
rtp_parameters_conversion.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
rtp_receiver_proxy.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
rtp_receiver.cc Bug 1909234 - Vendor libwebrtc from 6431a64f02 2024-07-29 12:21:00 -05:00
rtp_receiver.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
rtp_sender_proxy.h Bug 1903098 - Vendor libwebrtc from b0e7057e1b 2024-06-18 17:26:03 -05:00
rtp_sender_receiver_unittest.cc Bug 1924098 - Vendor libwebrtc from c5b9a609ea 2024-10-15 16:38:11 -05:00
rtp_sender.cc Bug 1924098 - Vendor libwebrtc from c5b9a609ea 2024-10-15 16:38:11 -05:00
rtp_sender.h Bug 1924098 - Vendor libwebrtc from c5b9a609ea 2024-10-15 16:38:11 -05:00
rtp_transceiver_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
rtp_transceiver.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
rtp_transceiver.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
rtp_transmission_manager.cc Bug 1924098 - Vendor libwebrtc from c5b9a609ea 2024-10-15 16:38:11 -05:00
rtp_transmission_manager.h Bug 1924098 - Vendor libwebrtc from c5b9a609ea 2024-10-15 16:38:11 -05:00
rtp_transport_internal.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
rtp_transport_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
rtp_transport.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
rtp_transport.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
sctp_data_channel.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
sctp_data_channel.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
sctp_transport_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
sctp_transport.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
sctp_transport.h Bug 1918268 - Vendor libwebrtc from 0012bfa128 2024-09-17 11:03:25 -05:00
sctp_utils_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
sctp_utils.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
sctp_utils.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
sdp_offer_answer_unittest.cc Bug 1909234 - Vendor libwebrtc from 635d365d49 2024-07-24 18:51:13 -05:00
sdp_offer_answer.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
sdp_offer_answer.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
sdp_state_provider.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
sdp_utils.cc
sdp_utils.h
session_description_unittest.cc
session_description.cc
session_description.h Bug 1888181 - Vendor libwebrtc from 974044efca 2024-04-04 09:00:56 +02:00
simulcast_description.cc
simulcast_description.h
simulcast_sdp_serializer_unittest.cc
simulcast_sdp_serializer.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
simulcast_sdp_serializer.h
slow_peer_connection_integration_test.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
srtp_session_unittest.cc Bug 1918268 - Vendor libwebrtc from 13b327b05f 2024-09-19 14:59:04 -05:00
srtp_session.cc Bug 1876843 - Vendor libwebrtc from 977b56c9e9 2024-02-09 16:40:44 -05:00
srtp_session.h Bug 1876843 - Vendor libwebrtc from 977b56c9e9 2024-02-09 16:40:44 -05:00
srtp_transport_unittest.cc Bug 1912989 - Vendor libwebrtc from db519e75b7 2024-08-27 17:13:07 -06:00
srtp_transport.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
srtp_transport.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
stream_collection.h
track_media_info_map_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
track_media_info_map.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
track_media_info_map.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
transceiver_list.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
transceiver_list.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
transport_stats.cc
transport_stats.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
usage_pattern.cc
usage_pattern.h
used_ids_unittest.cc Bug 1888181 - Vendor libwebrtc from cea1c0b9a9 2024-04-04 08:59:36 +02:00
used_ids.h Bug 1888181 - Vendor libwebrtc from cea1c0b9a9 2024-04-04 08:59:36 +02:00
video_rtp_receiver_unittest.cc Bug 1876843 - Vendor libwebrtc from a6544377bc 2024-02-09 17:23:16 -05:00
video_rtp_receiver.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
video_rtp_receiver.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
video_rtp_track_source_unittest.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
video_rtp_track_source.cc
video_rtp_track_source.h
video_track_source_proxy.cc
video_track_source_proxy.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
video_track_source.cc
video_track_source.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
video_track_unittest.cc
video_track.cc
video_track.h Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
webrtc_sdp_unittest.cc Bug 1924098 - Vendor libwebrtc from 6aab4ccf42 2024-10-15 19:06:17 -05:00
webrtc_sdp.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
webrtc_sdp.h Bug 1909234 - Vendor libwebrtc from c6c6971d97 2024-07-24 14:04:06 -05:00
webrtc_session_description_factory.cc Bug 1924098 - Vendor libwebrtc from 8037fc6ffa 2024-10-14 16:36:27 -05:00
webrtc_session_description_factory.h Bug 1888181 - Vendor libwebrtc from 974044efca 2024-04-04 09:00:56 +02:00