webrtc/modules/video_coding
philipel e8ed83003d WebRtcVideoChannel encoder fallback.
In this CL:
 - Added WEBRTC_VIDEO_CODEC_ENCODER_FAILURE return code that can
   be returned by the encoder wrapper in case of a broken encoder.
 - Added EncoderFailureCallback interface that can be called
   to request encoder fallback to be performed. Implemented by
   WebRtcVideoChannel and called from the VideoStreamEncoder.
 - Updated SelectSendVideoCodec to select all compatible codecs instead
   of just one.

Bug: webrtc:10795
Change-Id: I87a83fd02e48c40493c930471c06c3d0941031ab
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140888
Commit-Queue: Philip Eliasson <philipel@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#28462}
2019-07-03 12:31:42 +00:00
..
codecs Don't reset encoder on max/min bitrate change. 2019-07-02 12:52:55 +00:00
include WebRtcVideoChannel encoder fallback. 2019-07-03 12:31:42 +00:00
test Move frame_type member from RtpDepacketizer::ParsedPayload to RTPVideoHeader 2019-04-24 13:13:04 +00:00
utility Delete almost all includes of platform_file.h 2019-06-28 07:30:15 +00:00
BUILD.gn Pass FecControllerOverride to Vp8FrameBufferControllerFactory::Create 2019-07-02 10:55:55 +00:00
codec_timer.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
codec_timer.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
decoder_database.cc Remove kVideoCodecUnknown from WebRTC. 2018-08-16 15:15:39 +00:00
decoder_database.h Refactoring PayloadRouter. 2018-07-17 14:46:15 +00:00
decoding_state.cc Make VideoFrameType an enum class, and move to separate file and target 2019-03-22 12:44:51 +00:00
decoding_state.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
decoding_state_unittest.cc Move frame_type member from RtpDepacketizer::ParsedPayload to RTPVideoHeader 2019-04-24 13:13:04 +00:00
DEPS Prepare VideoProcessor for async simulcast support. 2018-03-08 17:41:13 +00:00
encoded_frame.cc Added video_coding::EncodedFrame copy ctor. 2019-06-20 11:19:50 +00:00
encoded_frame.h Added video_coding::EncodedFrame copy ctor. 2019-06-20 11:19:50 +00:00
fec_controller_default.cc FecControllerDefault nits (missing empty lines) 2019-06-05 10:17:15 +00:00
fec_controller_default.h Delete unneeded direct includes of common_types.h 2019-04-01 07:18:13 +00:00
fec_controller_unittest.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
fec_rate_table.h
frame_buffer.cc Move frame_type member from RtpDepacketizer::ParsedPayload to RTPVideoHeader 2019-04-24 13:13:04 +00:00
frame_buffer.h Delete unneeded direct includes of common_types.h 2019-04-01 07:18:13 +00:00
frame_buffer2.cc Add totalDecodeTime to RTCInboundRTPStreamStats 2019-07-02 08:28:06 +00:00
frame_buffer2.h Control rtt_mult addition cap via experiment. 2019-06-07 09:43:26 +00:00
frame_buffer2_unittest.cc Add totalDecodeTime to RTCInboundRTPStreamStats 2019-07-02 08:28:06 +00:00
frame_object.cc Add plumbing of RtpPacketInfos to each VideoFrame as input for SourceTracker. 2019-06-20 10:24:29 +00:00
frame_object.h Add plumbing of RtpPacketInfos to each VideoFrame as input for SourceTracker. 2019-06-20 10:24:29 +00:00
generic_decoder.cc Add totalDecodeTime to RTCInboundRTPStreamStats 2019-07-02 08:28:06 +00:00
generic_decoder.h Add plumbing of RtpPacketInfos to each VideoFrame as input for SourceTracker. 2019-06-20 10:24:29 +00:00
generic_decoder_unittest.cc Add totalDecodeTime to RTCInboundRTPStreamStats 2019-07-02 08:28:06 +00:00
h264_sprop_parameter_sets.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
h264_sprop_parameter_sets.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
h264_sprop_parameter_sets_unittest.cc Fully qualify googletest symbols. 2019-04-09 17:18:20 +00:00
h264_sps_pps_tracker.cc Insert startcodes for H264 single NALU packets. 2019-06-14 13:45:21 +00:00
h264_sps_pps_tracker.h Remove clang:find_bad_constructs suppression from call:call. 2018-08-29 11:57:00 +00:00
h264_sps_pps_tracker_unittest.cc Insert startcodes for H264 single NALU packets. 2019-06-14 13:45:21 +00:00
histogram.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
histogram.h
histogram_unittest.cc
inter_frame_delay.cc Remove unused method in VCMInterFrameDelay. 2019-04-03 07:35:28 +00:00
inter_frame_delay.h Remove unused method in VCMInterFrameDelay. 2019-04-03 07:35:28 +00:00
internal_defines.h Remove unused defines and methods in internal_defines.h 2019-01-28 10:31:40 +00:00
jitter_buffer.cc Add cap to video jitter buffer size/latency in experiment branches only. 2019-06-04 15:50:27 +00:00
jitter_buffer.h Delete VCMJitterBuffer::UpdateRtt and related unused code 2019-04-16 15:13:13 +00:00
jitter_buffer_common.h Delete all logic related to VCMDecodeErrorMode 2019-01-16 15:41:07 +00:00
jitter_buffer_unittest.cc Add plumbing of RtpPacketInfos to each VideoFrame as input for SourceTracker. 2019-06-20 10:24:29 +00:00
jitter_estimator.cc Avoids crash in VCMJitterEstimator due to incorrectly calculated mean FPS. 2019-06-11 12:04:52 +00:00
jitter_estimator.h Add cap to video jitter buffer size/latency in experiment branches only. 2019-06-04 15:50:27 +00:00
jitter_estimator_tests.cc Add cap to video jitter buffer size/latency in experiment branches only. 2019-06-04 15:50:27 +00:00
loss_notification_controller.cc Allowing buffering a LNTF (loss notification) feedback message in RTCPSender 2019-06-03 16:28:34 +00:00
loss_notification_controller.h Replacing SequencedTaskChecker with SequenceChecker. 2019-04-09 12:28:04 +00:00
loss_notification_controller_unittest.cc Allowing buffering a LNTF (loss notification) feedback message in RTCPSender 2019-06-03 16:28:34 +00:00
media_opt_util.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
media_opt_util.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
nack_module.cc Buffer RTCP feedback messages in RtpVideoStreamReceiver 2019-06-03 12:19:36 +00:00
nack_module.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
nack_module_unittest.cc Get rid of deprecated version of NackSender::SendNack [1/2] 2019-06-28 13:04:48 +00:00
OWNERS Make ilnik@ owner in video/ and modules/video_coding/ 2018-09-11 12:39:39 +00:00
packet.cc Add plumbing of RtpPacketInfos to each VideoFrame as input for SourceTracker. 2019-06-20 10:24:29 +00:00
packet.h Add plumbing of RtpPacketInfos to each VideoFrame as input for SourceTracker. 2019-06-20 10:24:29 +00:00
packet_buffer.cc Add plumbing of RtpPacketInfos to each VideoFrame as input for SourceTracker. 2019-06-20 10:24:29 +00:00
packet_buffer.h Rename "OnReceivedFrame" to "OnAssembledFrame" 2019-02-22 10:49:07 +00:00
receiver.cc Delete VCMJitterBuffer::UpdateRtt and related unused code 2019-04-16 15:13:13 +00:00
receiver.h Delete VCMJitterBuffer::UpdateRtt and related unused code 2019-04-16 15:13:13 +00:00
receiver_unittest.cc Add totalDecodeTime to RTCInboundRTPStreamStats 2019-07-02 08:28:06 +00:00
rtp_frame_reference_finder.cc ManageFrameH264 for temporal layers (PART 3/3) 2019-05-02 09:26:25 +00:00
rtp_frame_reference_finder.h ManageFrameH264 for temporal layers (PART 3/3) 2019-05-02 09:26:25 +00:00
rtp_frame_reference_finder_unittest.cc Add plumbing of RtpPacketInfos to each VideoFrame as input for SourceTracker. 2019-06-20 10:24:29 +00:00
rtt_filter.cc Fix typo in VCMRttFilter 2018-01-26 10:59:56 +00:00
rtt_filter.h Delete root header file typedef.h. 2018-07-25 14:59:26 +00:00
session_info.cc Move frame_type member from RtpDepacketizer::ParsedPayload to RTPVideoHeader 2019-04-24 13:13:04 +00:00
session_info.h Delete unneeded direct includes of common_types.h 2019-04-01 07:18:13 +00:00
session_info_unittest.cc Move frame_type member from RtpDepacketizer::ParsedPayload to RTPVideoHeader 2019-04-24 13:13:04 +00:00
timestamp_map.cc [Cleanup] Add missing #include. Remove useless ones. IWYU part 2. 2018-11-28 18:25:07 +00:00
timestamp_map.h Remove unimplemented function declarations VCMGenericDecoder::External and VCMTimestampMap::Reset. 2018-09-06 09:05:30 +00:00
timing.cc Add totalDecodeTime to RTCInboundRTPStreamStats 2019-07-02 08:28:06 +00:00
timing.h Add totalDecodeTime to RTCInboundRTPStreamStats 2019-07-02 08:28:06 +00:00
timing_unittest.cc Add totalDecodeTime to RTCInboundRTPStreamStats 2019-07-02 08:28:06 +00:00
video_codec_initializer.cc Delete unneeded direct includes of common_types.h 2019-04-01 07:18:13 +00:00
video_codec_initializer_unittest.cc Pass FecControllerOverride to Vp8FrameBufferControllerFactory::Create 2019-07-02 10:55:55 +00:00
video_coding_defines.cc Delete method DecodedImageCallback::ReceivedDecodedReferenceFrame 2019-04-18 08:14:40 +00:00
video_coding_impl.cc Delete deprecated method VideoCodingModule::SetReceiverRobustnessMode 2019-06-12 06:39:38 +00:00
video_coding_impl.h Change vcm::VideoReceiver::IncomingPacket to not use WebRtcRTPHeader 2019-04-25 10:15:39 +00:00
video_packet_buffer_unittest.cc Move frame_type member from RtpDepacketizer::ParsedPayload to RTPVideoHeader 2019-04-24 13:13:04 +00:00
video_receiver.cc Add plumbing of RtpPacketInfos to each VideoFrame as input for SourceTracker. 2019-06-20 10:24:29 +00:00
video_receiver_unittest.cc Change vcm::VideoReceiver::IncomingPacket to not use WebRtcRTPHeader 2019-04-25 10:15:39 +00:00