webrtc/modules/video_coding
Tommi a4e71b9e7e VCMGenericDecoder threading updates for all but Android.
* All methods now have thread checks.
* Variable access associated with thread checkers.
* Remove need for |rtc::CriticalSection lock_|

Since the android decoder is inherently asynchronous, and
FrameBuffer2's decoder doesn't support posting tasks to it
yet (for async decode completion), we need to tackle android
separately. Once FrameBuffer2 gets changed to use a TaskQueue
or ProcessThread, we can move Android over to delivering decoded
frames on the right thread/queue and delete generic_decoder_android.*.

Note: This is a subset of code that was previously reviewed here:
  - https://codereview.webrtc.org/2764573002/

Bug: webrtc:7361, webrtc:8907, chromium:695438
Change-Id: I118609dfa5c0f0180287d8c2b6d62987b7473c5c
Reviewed-on: https://webrtc-review.googlesource.com/55060
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22119}
2018-02-21 09:27:06 +00:00
..
codecs Add batch script for running multiple VideoProcessor tests in parallel. 2018-02-21 08:00:06 +00:00
include Cleanup of unused RTP structs and packetizer for stereo codec 2018-01-25 01:25:56 +00:00
test Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
utility Break VP8 temporal_layers dependency on libvpx. 2018-01-25 10:37:21 +00:00
BUILD.gn VCMGenericDecoder threading updates for all but Android. 2018-02-21 09:27:06 +00:00
codec_database.cc Delete unused VCMCodecDataBase::SendCodec methods. 2018-02-05 08:48:16 +00:00
codec_database.h Delete unused VCMCodecDataBase::SendCodec methods. 2018-02-05 08:48:16 +00:00
codec_timer.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
codec_timer.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
decoding_state_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
decoding_state.cc Stop using LOG macros in favor of RTC_ prefixed macros. 2017-11-09 11:56:32 +00:00
decoding_state.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
DEPS Move all Android specific stuff to android_codec_factory_helper. 2018-02-05 13:08:26 +00:00
encoded_frame.cc Cleanup of unused RTP structs and packetizer for stereo codec 2018-01-25 01:25:56 +00:00
encoded_frame.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
fec_controller_default.cc Revert "Revert "Enables PeerConnectionFactory using external fec controller"" 2018-02-20 12:41:55 +00:00
fec_controller_default.h Revert "Revert "Enables PeerConnectionFactory using external fec controller"" 2018-02-20 12:41:55 +00:00
fec_controller_unittest.cc Make fec controller plug-able. 2018-01-22 11:48:16 +00:00
fec_rate_table.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
frame_buffer2_unittest.cc Move sequence_number_utils.h to rtc_base/ 2017-10-25 12:33:57 +00:00
frame_buffer2.cc Don't cast picture ids (of type int64_t) to int. 2017-12-14 14:22:13 +00:00
frame_buffer2.h Don't cast picture ids (of type int64_t) to int. 2017-12-14 14:22:13 +00:00
frame_buffer.cc Stop using LOG macros in favor of RTC_ prefixed macros. 2017-11-09 11:56:32 +00:00
frame_buffer.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
frame_object.cc Cleanup of unused RTP structs and packetizer for stereo codec 2018-01-25 01:25:56 +00:00
frame_object.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
generic_decoder_android.cc VCMGenericDecoder threading updates for all but Android. 2018-02-21 09:27:06 +00:00
generic_decoder_android.h VCMGenericDecoder threading updates for all but Android. 2018-02-21 09:27:06 +00:00
generic_decoder.cc VCMGenericDecoder threading updates for all but Android. 2018-02-21 09:27:06 +00:00
generic_decoder.h VCMGenericDecoder threading updates for all but Android. 2018-02-21 09:27:06 +00:00
generic_encoder_unittest.cc In generic encoder ensure capture timestamp is preserved. 2017-11-17 16:06:17 +00:00
generic_encoder.cc Revert "Revert "Enables PeerConnectionFactory using external fec controller"" 2018-02-20 12:41:55 +00:00
generic_encoder.h In generic encoder ensure capture timestamp is preserved. 2017-11-17 16:06:17 +00:00
h264_sprop_parameter_sets_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
h264_sprop_parameter_sets.cc Stop using LOG macros in favor of RTC_ prefixed macros. 2017-11-09 11:56:32 +00:00
h264_sprop_parameter_sets.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
h264_sps_pps_tracker_unittest.cc Move SPS/PPS/IDR requirement from RtpFrameObject to PacketBuffer. 2017-11-06 12:04:46 +00:00
h264_sps_pps_tracker.cc Stop using LOG macros in favor of RTC_ prefixed macros. 2017-11-09 11:56:32 +00:00
h264_sps_pps_tracker.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
histogram_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
histogram.cc Move sequence_number_utils.h to rtc_base/ 2017-10-25 12:33:57 +00:00
histogram.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
inter_frame_delay.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
inter_frame_delay.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
internal_defines.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
jitter_buffer_common.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
jitter_buffer_unittest.cc Remove unused mocks of process thread 2017-09-28 07:57:28 +00:00
jitter_buffer.cc Move FALLTHROUGH macro to a separate header, and give it an RTC_ prefix 2018-02-05 11:24:59 +00:00
jitter_buffer.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
jitter_estimator_tests.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
jitter_estimator.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
jitter_estimator.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
media_opt_util.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
media_opt_util.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
media_optimization.cc Revert "Revert "Enables PeerConnectionFactory using external fec controller"" 2018-02-20 12:41:55 +00:00
media_optimization.h Revert "Revert "Enables PeerConnectionFactory using external fec controller"" 2018-02-20 12:41:55 +00:00
nack_fec_tables.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
nack_module_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
nack_module.cc Stop using LOG macros in favor of RTC_ prefixed macros. 2017-11-09 11:56:32 +00:00
nack_module.h Move sequence_number_utils.h to rtc_base/ 2017-10-25 12:33:57 +00:00
OWNERS
packet_buffer.cc Fix off-by-one error when removing information about missing packet in PacketBuffer. 2017-12-06 12:15:42 +00:00
packet_buffer.h Move SPS/PPS/IDR requirement from RtpFrameObject to PacketBuffer. 2017-11-06 12:04:46 +00:00
packet.cc Cleanup of unused RTP structs and packetizer for stereo codec 2018-01-25 01:25:56 +00:00
packet.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
qp_parser.cc Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
qp_parser.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
receiver_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
receiver.cc Stop using LOG macros in favor of RTC_ prefixed macros. 2017-11-09 11:56:32 +00:00
receiver.h Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
rtp_frame_reference_finder_unittest.cc Calculate VP9 references to wrap at kPicIdLength instead of 16 bits. 2017-09-28 13:53:38 +00:00
rtp_frame_reference_finder.cc Move FALLTHROUGH macro to a separate header, and give it an RTC_ prefix 2018-02-05 11:24:59 +00:00
rtp_frame_reference_finder.h Don't cast picture ids (of type int64_t) to int. 2017-12-14 14:22:13 +00:00
rtt_filter.cc Fix typo in VCMRttFilter 2018-01-26 10:59:56 +00:00
rtt_filter.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
session_info_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
session_info.cc Stop using LOG macros in favor of RTC_ prefixed macros. 2017-11-09 11:56:32 +00:00
session_info.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
timestamp_map.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
timestamp_map.h Adding NOLINT for typedefs.h and common_types.h 2017-09-15 13:03:51 +00:00
timing_unittest.cc Remove unused functions in VCMTiming. 2018-01-17 14:47:10 +00:00
timing.cc Move stats for decoded frames per second from VCMTiming to ReceiveStatisticsProxy. 2018-01-25 09:15:31 +00:00
timing.h Remove unused functions in VCMTiming. 2018-01-17 14:47:10 +00:00
video_codec_initializer_unittest.cc Reland "Rename stereo video codec to multiplex" 2018-01-29 20:37:59 +00:00
video_codec_initializer.cc Enable building WebRTC without built-in software codecs 2018-01-31 08:33:59 +00:00
video_coding_impl.cc Delete VCMSendStatisticsCallback and corresponding use of ProcessThread 2017-10-26 08:13:55 +00:00
video_coding_impl.h Fix spelling of (internal) method name UpdateChannelParameters. 2018-01-31 14:26:49 +00:00
video_packet_buffer_unittest.cc Fix off-by-one error when removing information about missing packet in PacketBuffer. 2017-12-06 12:15:42 +00:00
video_receiver_unittest.cc Fixing WebRTC after moving from src/webrtc to src/ 2017-09-15 05:02:56 +00:00
video_receiver.cc Stop using LOG macros in favor of RTC_ prefixed macros. 2017-11-09 11:56:32 +00:00
video_sender_unittest.cc Reland "Update internal SW codecs to return unique_ptrs" 2017-11-13 14:23:58 +00:00
video_sender.cc Fix spelling of (internal) method name UpdateChannelParameters. 2018-01-31 14:26:49 +00:00