webrtc/call
Erik Språng 632a03c0cd Revert "Remove PlayoutDelayOracle and make RtpSenderVideo guarantee delivery"
This reverts commit 4f68f5398d.

Reason for revert: Breaks downstream project

Original change's description:
> Remove PlayoutDelayOracle and make RtpSenderVideo guarantee delivery
> 
> The PlayoutDelayOracle was responsible for making sure the PlayoutDelay
> header extension was successfully propagated to the receiving side. Once
> it was determined that the receiver had received a frame with the new
> delay tag, it's no longer necessary to propagate.
> 
> The issue with this implementation is that it is based on max
> extended sequence number reported via RTCP, which makes it often slow
> to react, could theoretically fail to produce desired outcome (max
> received > X does not guarantee X was fully received and decoded), and
> added a lot of code complexity.
> 
> The guarantee of delivery can in fact be accomplished more reliably and
> with less code by making sure to tag each frame until an undiscardable
> frame is sent.
> 
> This allows containing the logic fully within RTPSenderVideo.
> 
> Bug: webrtc:11340
> Change-Id: I2d1d2b6b67f4f07b8b33336f8fcfcde724243eef
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168221
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Reviewed-by: Sebastian Jansson <srte@webrtc.org>
> Commit-Queue: Erik Språng <sprang@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#30473}

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

Change-Id: Ide922e680ae36bb69b95e58002482cf5ed57e254
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:11340
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168304
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30475}
2020-02-06 16:05:02 +00:00
..
adaptation [Overuse] Implement Resource and ResourceUsageListener. 2020-02-06 12:45:14 +00:00
test Reland "Reland "Only include overhead if using send side bandwidth estimation."" 2020-01-29 18:42:34 +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 Delete media transport integration. 2019-11-26 19:19:36 +00:00
audio_send_stream.cc Delete media transport integration. 2019-11-26 19:19:36 +00:00
audio_send_stream.h Refactoring AudioSender api out of AudioSendStream for more abstraction to reuse AudioTransportImpl for voip api 2020-01-13 18:31:30 +00:00
audio_sender.h Refactoring AudioSender api out of AudioSendStream for more abstraction to reuse AudioTransportImpl for voip api 2020-01-13 18:31:30 +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 Propagating TargetRate struct to BitrateAllocator. 2019-09-19 14:03:04 +00:00
bitrate_allocator.cc Converts const methods in BitrateAllocator to non-member functions. 2019-09-25 11:55:13 +00:00
bitrate_allocator.h Converts const methods in BitrateAllocator to non-member functions. 2019-09-25 11:55:13 +00:00
bitrate_estimator_tests.cc Migrate WebRTC on FrameGeneratorInterface and remove FrameGenerator class 2019-12-07 00:54:26 +00:00
BUILD.gn Reformat GN files. 2020-01-21 12:13:11 +00:00
call_config.cc [Cleanup] Add missing #include. Remove useless ones. 2018-10-23 11:32:56 +00:00
call_config.h Adds injectable trials from peerconnection down to transport controller. 2019-11-21 12:41: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 Migrate several call tests from legacy RtpHeaderParser to RtpPacket parsing. 2020-01-07 13:02:52 +00:00
call_unittest.cc Trials should always be populated in call config. 2019-12-03 10:34:55 +00:00
call.cc Reduce some logging at INFO level by moving log statements 2019-12-12 21:54:06 +00:00
call.h Remove MediaTransport from Call. 2019-08-08 10:58:57 +00:00
degraded_call.cc Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +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 Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +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 Concatenate string literals at compile time. 2020-01-14 14:47:48 +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 Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +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 Do not stop SingleThreadedTaskQueueForTestingTest near the end of the tests 2019-10-31 13:07:30 +00:00
rampup_tests.h Update call Rampup tests not to rely on DEPRECATED_SingleThreadedTaskQueueForTesting 2019-10-21 12:33:27 +00:00
receive_time_calculator_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
receive_time_calculator.cc Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +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 Revert "In RtpBitrateConfigurator ignore new parameters when set to default values." 2020-01-10 16:39:51 +00:00
rtp_bitrate_configurator.cc Revert "In RtpBitrateConfigurator ignore new parameters when set to default values." 2020-01-10 16:39:51 +00:00
rtp_bitrate_configurator.h Remove api/bitrate_constraints.h. 2019-09-18 06:37:58 +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 Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +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 Pass picture_id from generic packetizer through codec-specific field 2020-01-28 19:26:28 +00:00
rtp_payload_params.cc Reland "[VP9] Shift spatial layers on RTP level to always start from 0." 2020-02-04 10:06:44 +00:00
rtp_payload_params.h Revert "Delete RtpPayloadParams::SetDependenciesVp8Deprecated as unused" 2020-01-07 19:16:48 +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 Concatenate string literals at compile time. 2020-01-14 14:47:48 +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 Reland "Reland "Only include overhead if using send side bandwidth estimation."" 2020-01-29 18:42:34 +00:00
rtp_transport_controller_send.cc Reland "Adds trial to use correct overhead calculation in pacer." 2020-01-29 18:45:16 +00:00
rtp_transport_controller_send.h Reland "Reland "Only include overhead if using send side bandwidth estimation."" 2020-01-29 18:42:34 +00:00
rtp_video_sender_interface.h Cleanup: Propagating BitrateAllocationUpdate to RtpVideoSender 2019-10-15 14:40:48 +00:00
rtp_video_sender_unittest.cc Adds scenario test for transport wide feedback based retransmission. 2020-01-14 16:00:14 +00:00
rtp_video_sender.cc Revert "Remove PlayoutDelayOracle and make RtpSenderVideo guarantee delivery" 2020-02-06 16:05:02 +00:00
rtp_video_sender.h Revert "Remove PlayoutDelayOracle and make RtpSenderVideo guarantee delivery" 2020-02-06 16:05:02 +00:00
rtx_receive_stream_unittest.cc Propagate RtpPacketReceived::arival_time_ms() when demuxing RTX packets 2019-12-03 21:10:53 +00:00
rtx_receive_stream.cc Propagate RtpPacketReceived::arival_time_ms() when demuxing RTX packets 2019-12-03 21:10:53 +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 Concatenate string literals at compile time. 2020-01-14 14:47:48 +00:00
simulated_network.h Exposing more features in the network emulation manager API. 2019-12-06 08:47:19 +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 Add estimatedPlayoutTimestamp to RTCInboundRTPStreamStats. 2019-10-23 07:46:39 +00:00
video_receive_stream.cc Delete media transport integration. 2019-11-26 19:19:36 +00:00
video_receive_stream.h VideoReceiveStream: Enable encoded frame sink. 2019-12-03 15:55:04 +00:00
video_send_stream.cc Delete media transport integration. 2019-11-26 19:19:36 +00:00
video_send_stream.h Delete media transport integration. 2019-11-26 19:19:36 +00:00