webrtc/call
Erik Språng eea605deeb Make fake network degradation work also for sent audio
Previously this functionality only worked correctly with a single
Transport instance, meaning a single video track.
This CL moves the transport pointer from being a member in
FakeNetworkPipe to being set on each packet, so that e.g. audio packets
point to the audio transport and video packet to the video transport.
This means we need a separate adapter per stream in DegradedCall.
Additionally, since Transport instances can potentially be destroyed
before it's time to forward the message to it, we need to keep track
of which instance that are live and ignore packets we can't forward.

Bug: None
Change-Id: I314d431c04ff81c3859cf661e2722c99342f785e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/148586
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28831}
2019-08-12 15:20:18 +00:00
..
test Add RtpPacketPacer interface for pacer control 2019-07-29 15:37:39 +00:00
audio_receive_stream.cc Remove chromium clang style errors affecting sdk/android/media_jni 2018-04-09 13:55:49 +00:00
audio_receive_stream.h Reland of "Reporting of decoding_codec_plc events"" 2019-08-07 18:41:46 +00:00
audio_send_stream.cc Introduce MediaTransportConfig 2019-05-21 18:58:33 +00:00
audio_send_stream.h [getStats] Implement "media-source" audio levels, fixing Chrome bug. 2019-07-04 08:13:45 +00:00
audio_state.cc Remove chromium clang style errors affecting sdk/android/media_jni 2018-04-09 13:55:49 +00:00
audio_state.h [getStats] Implement "media-source" audio levels, fixing Chrome bug. 2019-07-04 08:13:45 +00:00
bitrate_allocator_unittest.cc Reland "Remove the injectable bitrate allocation strategy API." 2019-07-17 10:20:45 +00:00
bitrate_allocator.cc Reland "Remove the injectable bitrate allocation strategy API." 2019-07-17 10:20:45 +00:00
bitrate_allocator.h Reland "Remove the injectable bitrate allocation strategy API." 2019-07-17 10:20:45 +00:00
bitrate_estimator_tests.cc Use explicit TaskQueueFactory for FrameGeneratorCapturer in BitrateEstimatorTest. 2019-04-18 14:17:12 +00:00
BUILD.gn Delete deprecated rtc_event_log header 2019-08-07 10:58:17 +00:00
call_config.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
call_config.h Make TaskQueueFactory required construction parameter for Call 2019-07-03 14:02:45 +00:00
call_factory.cc DegradedCall: fake network using TaskQueue instead of ProcessThread 2019-08-06 15:05:30 +00:00
call_factory.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
call_perf_tests.cc Delete deprecated rtc_event_log header 2019-08-07 10:58:17 +00:00
call_unittest.cc Remove MediaTransport from Call. 2019-08-08 10:58:57 +00:00
call.cc Enable thread check in Call::GetStats(). 2019-08-09 11:43:16 +00:00
call.h Remove MediaTransport from Call. 2019-08-08 10:58:57 +00:00
degraded_call.cc Make fake network degradation work also for sent audio 2019-08-12 15:20:18 +00:00
degraded_call.h Make fake network degradation work also for sent audio 2019-08-12 15:20:18 +00:00
DEPS Make fec controller plug-able. 2018-01-22 11:48:16 +00:00
fake_network_pipe_unittest.cc ClangTidy fixes for call/ 2019-03-14 09:38:01 +00:00
fake_network_pipe.cc Make fake network degradation work also for sent audio 2019-08-12 15:20:18 +00:00
fake_network_pipe.h Make fake network degradation work also for sent audio 2019-08-12 15:20:18 +00:00
flexfec_receive_stream_impl.cc Format almost everything. 2019-07-08 13:45:15 +00:00
flexfec_receive_stream_impl.h Injecting Clock in video receive. 2019-03-04 21:53:57 +00:00
flexfec_receive_stream_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
flexfec_receive_stream.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
flexfec_receive_stream.h Format almost everything. 2019-07-08 13:45:15 +00:00
OWNERS Remove myself from OWNERS in a few places. 2019-06-10 07:57:46 +00:00
packet_receiver.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
rampup_tests.cc Fix RampUp tests to call Call::GetStats() from the right thread - and remove the need for a dedicated polling thread. 2019-08-06 08:18:07 +00:00
rampup_tests.h Call Call::GetStats() from the correct thread in ProbingEndToEndTest. 2019-08-08 06:40:26 +00:00
receive_time_calculator_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
receive_time_calculator.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
receive_time_calculator.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtcp_demuxer_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtcp_demuxer.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtcp_demuxer.h Delete unneeded includes of basictypes.h. 2018-05-21 19:35:08 +00:00
rtcp_packet_sink_interface.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
rtp_bitrate_configurator_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_bitrate_configurator.cc Replace rtc::Optional with absl::optional in audio, call and video 2018-06-15 12:09:49 +00:00
rtp_bitrate_configurator.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
rtp_config.cc Negotiate use of RTCP loss notification feedback (LNTF) 2019-05-24 12:44:14 +00:00
rtp_config.h Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_demuxer_unittest.cc Fully qualify googletest symbols. 2019-04-09 17:18:20 +00:00
rtp_demuxer.cc Log details when RtpDemuxer fails to deliver a packet 2019-04-16 00:47:53 +00:00
rtp_demuxer.h Log details when RtpDemuxer fails to deliver a packet 2019-04-16 00:47:53 +00:00
rtp_packet_sink_interface.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
rtp_payload_params_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_payload_params.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_payload_params.h Reland "Populate the GFD-00 for H264 and generic codecs." 2019-06-14 14:47:06 +00:00
rtp_rtcp_demuxer_helper_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_rtcp_demuxer_helper.cc Replace rtc::Optional with absl::optional in audio, call and video 2018-06-15 12:09:49 +00:00
rtp_rtcp_demuxer_helper.h [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
rtp_stream_receiver_controller_interface.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
rtp_stream_receiver_controller.cc Use absl::make_unique and absl::WrapUnique directly 2018-07-05 10:59:49 +00:00
rtp_stream_receiver_controller.h (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
rtp_transport_controller_send_interface.h Delete deprecated rtc_event_log header 2019-08-07 10:58:17 +00:00
rtp_transport_controller_send.cc Add RtpPacketPacer interface for pacer control 2019-07-29 15:37:39 +00:00
rtp_transport_controller_send.h Add RtpPacketPacer interface for pacer control 2019-07-29 15:37:39 +00:00
rtp_video_sender_interface.h Define FecControllerOverride and plumb it down to VideoEncoder 2019-06-28 15:57:22 +00:00
rtp_video_sender_unittest.cc Delete deprecated rtc_event_log header 2019-08-07 10:58:17 +00:00
rtp_video_sender.cc Don't crash when simulcast layer count is different from RID count 2019-07-24 15:23:44 +00:00
rtp_video_sender.h Delete deprecated rtc_event_log header 2019-08-07 10:58:17 +00:00
rtx_receive_stream_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtx_receive_stream.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtx_receive_stream.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
simulated_network_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
simulated_network.cc Adds CoDel implementation to network simulation. 2019-02-25 09:54:03 +00:00
simulated_network.h Format almost everything. 2019-07-08 13:45:15 +00:00
simulated_packet_receiver.h Calculate next process time in simulated network. 2019-02-08 19:33:17 +00:00
ssrc_binding_observer.h Delete unneeded includes of basictypes.h. 2018-05-21 19:35:08 +00:00
syncable.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
syncable.h Replace rtc::Optional with absl::optional in audio, call and video 2018-06-15 12:09:49 +00:00
video_receive_stream.cc Format almost everything. 2019-07-08 13:45:15 +00:00
video_receive_stream.h Add totalDecodeTime to RTCInboundRTPStreamStats 2019-07-02 08:28:06 +00:00
video_send_stream.cc Reland "Inform VideoEncoder of negotiated capabilities" 2019-06-11 14:49:37 +00:00
video_send_stream.h Reland "Remove the injectable bitrate allocation strategy API." 2019-07-17 10:20:45 +00:00