webrtc/pc
Tommi cf2aeffdc2 Remove lock from MediaChannel
Pending messages on network thread for MediaChannel, will be dropped
when the MediaChannel object is deleted (without blocking).

Remove MessageHandler inheritance from Channel since Post-ing to the
network thread has been removed from there.

Copy/pasted code for SendRtp/SendRtcp in WebRtcVideoChannel and
WebRtcVoiceMediaChannel consolidated in MediaChannel.

Bug: webrtc:11993
Change-Id: I05320eb7f86b98adba50ca5eb8b76b78f4111263
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/217720
Commit-Queue: Tommi <tommi@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#33955}
2021-05-07 18:01:54 +00:00
..
g3doc Write some doc about PeerConnection 2021-05-07 10:01:55 +00:00
scenario_tests Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
test Make MediaChannel classes aware of the network thread. 2021-05-07 14:16:21 +00:00
audio_rtp_receiver.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
audio_rtp_receiver.h [Unified Plan] Don't end audio tracks when SSRC changes. 2021-04-08 06:39:22 +00:00
audio_track.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
audio_track.h Use SequenceChecker from public API 2021-02-10 15:04:55 +00:00
BUILD.gn Make MediaChannel classes aware of the network thread. 2021-05-07 14:16:21 +00:00
channel_interface.h Move header negotiation state to transceivers. 2021-05-04 13:52:35 +00:00
channel_manager_unittest.cc Add thread accessors to Call. 2021-04-19 15:59:20 +00:00
channel_manager.cc Remove RTP data implementation 2021-04-16 13:10:54 +00:00
channel_manager.h Remove more mentions of RTP datachannels 2021-04-21 10:16:43 +00:00
channel_unittest.cc Remove lock from MediaChannel 2021-05-07 18:01:54 +00:00
channel.cc Remove lock from MediaChannel 2021-05-07 18:01:54 +00:00
channel.h Remove lock from MediaChannel 2021-05-07 18:01:54 +00:00
connection_context.cc Simplify reference counting implementation of PendingTaskSafetyFlag. 2021-04-21 07:04:01 +00:00
connection_context.h Simplify reference counting implementation of PendingTaskSafetyFlag. 2021-04-21 07:04:01 +00:00
data_channel_controller.cc datachannel: Make SendDataParams reliability fields optional<int> 2021-05-07 17:09:54 +00:00
data_channel_controller.h Remove DataChannelType and deprecated option disable_sctp_data_channels 2021-04-19 19:32:23 +00:00
data_channel_integrationtest.cc sctp: Add DcsctpTransport based on dcSCTP 2021-05-06 09:38:49 +00:00
data_channel_unittest.cc Remove RTP data implementation 2021-04-16 13:10:54 +00:00
data_channel_utils.cc Remove DataChannelType and deprecated option disable_sctp_data_channels 2021-04-19 19:32:23 +00:00
data_channel_utils.h Remove DataChannelType and deprecated option disable_sctp_data_channels 2021-04-19 19:32:23 +00:00
DEPS Remove +api from internal DEPS files. 2019-01-28 11:17:00 +00:00
dtls_srtp_transport_unittest.cc Refactor ssl_stream_adapter API to show object ownership 2020-03-21 18:53:46 +00:00
dtls_srtp_transport.cc Remove usage of sigslot and replace with a function pointer. 2021-02-24 06:40:09 +00:00
dtls_srtp_transport.h Remove usage of sigslot and replace with a function pointer. 2021-02-24 06:40:09 +00:00
dtls_transport_unittest.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
dtls_transport.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
dtls_transport.h Stop inheriting from has_slots in DtlsTransport. 2021-03-10 08:40:14 +00:00
dtmf_sender_unittest.cc Make RefCountedObject require overriding virtual methods 2021-04-26 11:05:19 +00:00
dtmf_sender.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
dtmf_sender.h Replace AsyncInvoker with PostDelayedTask, in DtmfSender 2021-03-18 10:21:00 +00:00
external_hmac.cc (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
external_hmac.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
ice_server_parsing_unittest.cc Add create function for PeerConnection that can return an error. 2020-11-27 11:08:10 +00:00
ice_server_parsing.cc Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
ice_server_parsing.h Export symbols needed by the Chromium component build (part 8). 2019-04-02 10:13:36 +00:00
ice_transport_unittest.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
ice_transport.cc Use SequenceChecker from public API 2021-02-10 15:04:55 +00:00
ice_transport.h Use SequenceChecker from public API 2021-02-10 15:04:55 +00:00
jitter_buffer_delay_interface.h Remove SetLatency/GetLatency from MediaSourceInterface API level 2019-04-18 19:11:31 +00:00
jitter_buffer_delay_proxy.h Reland "Rename SIGNALING and WORKER to PRIMARY and SECONDARY" 2021-02-26 10:35:22 +00:00
jitter_buffer_delay_unittest.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
jitter_buffer_delay.cc Use SequenceChecker from public API 2021-02-10 15:04:55 +00:00
jitter_buffer_delay.h Remove SetLatency/GetLatency from MediaSourceInterface API level 2019-04-18 19:11:31 +00:00
jsep_ice_candidate.cc Make the JsepSessionDesription clone() method copy candidates. 2021-01-05 12:55:24 +00:00
jsep_session_description_unittest.cc Make the JsepSessionDesription clone() method copy candidates. 2021-01-05 12:55:24 +00:00
jsep_session_description.cc Make the JsepSessionDesription clone() method copy candidates. 2021-01-05 12:55:24 +00:00
jsep_transport_controller_unittest.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
jsep_transport_controller.cc [Unified Plan] Support multiple BUNDLE groups. 2021-04-27 05:53:37 +00:00
jsep_transport_controller.h [Unified Plan] Support multiple BUNDLE groups. 2021-04-27 05:53:37 +00:00
jsep_transport_unittest.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
jsep_transport.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
jsep_transport.h Use SequenceChecker from public API 2021-02-10 15:04:55 +00:00
local_audio_source_unittest.cc (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
local_audio_source.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
local_audio_source.h Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
media_protocol_names.cc Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
media_protocol_names.h Reland "Reland "Version 2 "Refactoring DataContentDescription class""" 2019-05-13 18:37:47 +00:00
media_session_unittest.cc [Unified Plan] Support multiple BUNDLE groups. 2021-04-27 05:53:37 +00:00
media_session.cc [Unified Plan] Support multiple BUNDLE groups. 2021-04-27 05:53:37 +00:00
media_session.h Remove DataChannelType and deprecated option disable_sctp_data_channels 2021-04-19 19:32:23 +00:00
media_stream_observer.cc Use Abseil container algorithms in pc/ 2019-01-29 02:33:50 +00:00
media_stream_observer.h Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
media_stream_unittest.cc In pc/ replace mock macros with unified MOCK_METHOD macro 2020-05-18 17:06:25 +00:00
media_stream.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
media_stream.h Avoid proxy thread hops for reading const properties. 2020-09-10 13:11:44 +00:00
OWNERS Adding deadbeef back to OWNERS files 2020-02-25 14:45:04 +00:00
peer_connection_adaptation_integrationtest.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
peer_connection_bundle_unittest.cc [Unified Plan] Support multiple BUNDLE groups. 2021-04-27 05:53:37 +00:00
peer_connection_crypto_unittest.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
peer_connection_data_channel_unittest.cc Remove DataChannelType and deprecated option disable_sctp_data_channels 2021-04-19 19:32:23 +00:00
peer_connection_end_to_end_unittest.cc Prefix HAVE_SCTP macro with WEBRTC_. 2021-01-20 10:51:07 +00:00
peer_connection_factory_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
peer_connection_factory.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
peer_connection_factory.h sctp: Reorganize build targets 2021-04-15 17:00:56 +00:00
peer_connection_header_extension_unittest.cc RtpTransceiverInterface: introduce HeaderExtensionsNegotiated. 2020-12-17 23:43:42 +00:00
peer_connection_histogram_unittest.cc Prefix HAVE_SCTP macro with WEBRTC_. 2021-01-20 10:51:07 +00:00
peer_connection_ice_unittest.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
peer_connection_integrationtest.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
peer_connection_interface_unittest.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
peer_connection_internal.h Fix unsafe variable access in RTCStatsCollector 2021-04-19 16:22:23 +00:00
peer_connection_jsep_unittest.cc Remove enable_rtp_data_channel 2021-04-15 10:20:00 +00:00
peer_connection_media_unittest.cc Reland "Implement transceiver.stop()" 2020-08-11 10:46:23 +00:00
peer_connection_message_handler.cc Use SequenceChecker from public API 2021-02-10 15:04:55 +00:00
peer_connection_message_handler.h Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
peer_connection_rampup_tests.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
peer_connection_rtp_unittest.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
peer_connection_signaling_unittest.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
peer_connection_simulcast_unittest.cc simulcast: Limit audio transceivers to single stream 2021-04-30 18:55:47 +00:00
peer_connection_wrapper.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
peer_connection_wrapper.h Reland "Implement rollback for setRemoteDescription" 2019-10-14 12:40:53 +00:00
peer_connection.cc simulcast: Limit audio transceivers to single stream 2021-04-30 18:55:47 +00:00
peer_connection.h [Unified Plan] Support multiple BUNDLE groups. 2021-04-27 05:53:37 +00:00
proxy_unittest.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
remote_audio_source.cc Remove obsolete DCHECK in remote_audio_source.cc. 2021-04-15 10:18:40 +00:00
remote_audio_source.h [Unified Plan] Don't end audio tracks when SSRC changes. 2021-04-08 06:39:22 +00:00
rtc_stats_collector_unittest.cc Remove virtual inheritance from RTCStatsCollector 2021-04-23 08:40:35 +00:00
rtc_stats_collector.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
rtc_stats_collector.h Remove virtual inheritance from RTCStatsCollector 2021-04-23 08:40:35 +00:00
rtc_stats_integrationtest.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
rtc_stats_traversal_unittest.cc Fully qualify googletest symbols. 2019-04-09 17:18:20 +00:00
rtc_stats_traversal.cc Add RTCRemoteOutboundRtpStreamStats for audio streams 2021-03-23 18:44:12 +00:00
rtc_stats_traversal.h Remove rtc_base/scoped_ref_ptr.h. 2019-01-25 20:29:58 +00:00
rtcp_mux_filter_unittest.cc (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
rtcp_mux_filter.cc (4) Rename files to snake_case: update BUILD.gn, include paths, header guards, and DEPS entries 2019-01-11 17:11:39 +00:00
rtcp_mux_filter.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_media_utils_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
rtp_media_utils.cc Reland "Implement transceiver.stop()" 2020-08-11 10:46:23 +00:00
rtp_media_utils.h Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
rtp_parameters_conversion_unittest.cc Delete obsolete unused rtp header extension conversion 2020-01-09 09:28:07 +00:00
rtp_parameters_conversion.cc Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
rtp_parameters_conversion.h Delete obsolete unused rtp header extension conversion 2020-01-09 09:28:07 +00:00
rtp_receiver.cc Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
rtp_receiver.h Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
rtp_sender_receiver_unittest.cc Add thread accessors to Call. 2021-04-19 15:59:20 +00:00
rtp_sender.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
rtp_sender.h Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
rtp_transceiver_unittest.cc Move header negotiation state to transceivers. 2021-05-04 13:52:35 +00:00
rtp_transceiver.cc Move header negotiation state to transceivers. 2021-05-04 13:52:35 +00:00
rtp_transceiver.h Move header negotiation state to transceivers. 2021-05-04 13:52:35 +00:00
rtp_transmission_manager.cc [Unified Plan] Don't end audio tracks when SSRC changes. 2021-04-08 06:39:22 +00:00
rtp_transmission_manager.h Use SequenceChecker from public API 2021-02-10 15:04:55 +00:00
rtp_transport_internal.h Remove rtp_ and rtcp_packet_transport() from the RtpTransport interface. 2019-05-24 23:58:46 +00:00
rtp_transport_unittest.cc Extend NetworkRoute with more info about local/remote endpoints 2020-03-20 16:55:38 +00:00
rtp_transport.cc Store RtpPacketReceived::arrival_time as Timestamp. 2021-05-05 16:22:33 +00:00
rtp_transport.h Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
sctp_data_channel_transport.cc datachannel: Make SendDataParams reliability fields optional<int> 2021-05-07 17:09:54 +00:00
sctp_data_channel_transport.h Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
sctp_data_channel.cc datachannel: Make SendDataParams reliability fields optional<int> 2021-05-07 17:09:54 +00:00
sctp_data_channel.h Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
sctp_transport_unittest.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
sctp_transport.cc Use CallbackList for DtlsState in dtls_transport. 2021-02-17 07:42:13 +00:00
sctp_transport.h sctp: Move SctpTransportFactory to a separate file 2021-04-08 20:49:44 +00:00
sctp_utils_unittest.cc Use rtc::CopyOnWriteBuffer::MutableData through webrtc 2021-01-11 11:31:33 +00:00
sctp_utils.cc Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
sctp_utils.h Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
sdp_offer_answer.cc Move header negotiation state to transceivers. 2021-05-04 13:52:35 +00:00
sdp_offer_answer.h [Unified Plan] Support multiple BUNDLE groups. 2021-04-27 05:53:37 +00:00
sdp_serializer_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
sdp_serializer.cc Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
sdp_serializer.h Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
sdp_state_provider.h Break circular dependency on WebRtcSessionDescriptionFactory 2020-10-26 10:22:46 +00:00
sdp_utils.cc Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
sdp_utils.h Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
session_description_unittest.cc Remove RTP data implementation 2021-04-16 13:10:54 +00:00
session_description.cc [Unified Plan] Support multiple BUNDLE groups. 2021-04-27 05:53:37 +00:00
session_description.h [Unified Plan] Support multiple BUNDLE groups. 2021-04-27 05:53:37 +00:00
simulcast_description.cc Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
simulcast_description.h Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
srtp_filter_unittest.cc Format almost everything. 2019-07-08 13:45:15 +00:00
srtp_filter.cc srtp: compare key length to srtp policy key length 2021-04-12 07:57:03 +00:00
srtp_filter.h Use SequenceChecker from public API 2021-02-10 15:04:55 +00:00
srtp_session_unittest.cc Remove unused critical section includes. 2020-07-16 13:52:28 +00:00
srtp_session.cc srtp: compare key length to srtp policy key length 2021-04-12 07:57:03 +00:00
srtp_session.h srtp: document rationale for srtp overhead calculation 2021-03-08 08:50:09 +00:00
srtp_transport_unittest.cc Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
srtp_transport.cc Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
srtp_transport.h Format almost everything. 2019-07-08 13:45:15 +00:00
stats_collector_interface.h Separate PeerConnection's self-message functions to a new file 2020-10-05 12:41:23 +00:00
stats_collector_unittest.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
stats_collector.cc Reland "Remove Invoke from VideoChannel::FillBitrateInfo." 2021-05-03 15:16:34 +00:00
stats_collector.h Fix unsafe variable access in RTCStatsCollector 2021-04-19 16:22:23 +00:00
stream_collection.h Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
track_media_info_map_unittest.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
track_media_info_map.cc Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
track_media_info_map.h Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
transceiver_list.cc Add threading assertions to TransceiverList 2021-04-20 06:44:40 +00:00
transceiver_list.h Add threading assertions to TransceiverList 2021-04-20 06:44:40 +00:00
transport_stats.cc [clang-tidy] Apply performance-move-const-arg fixes (misc). 2019-02-05 15:12:20 +00:00
transport_stats.h Implement crypto stats on DTLS transport 2019-10-28 11:30:23 +00:00
usage_pattern.cc Move the PeerConnection's usage pattern concept to its own file. 2020-10-09 08:29:45 +00:00
usage_pattern.h Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
used_ids_unittest.cc Always pass arguments to INSTANTIATE_TEST_SUITE_P. 2019-09-24 08:56:24 +00:00
used_ids.h Add support for two-byte RTP header extensions to UsedRtpHeaderExtensionIds 2019-06-24 08:50:07 +00:00
video_rtp_receiver_unittest.cc Make MediaChannel classes aware of the network thread. 2021-05-07 14:16:21 +00:00
video_rtp_receiver.cc Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
video_rtp_receiver.h Use SequenceChecker from public API 2021-02-10 15:04:55 +00:00
video_rtp_track_source_unittest.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
video_rtp_track_source.cc Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
video_rtp_track_source.h Delete rtc::Callback0 and friends. 2021-02-16 12:41:35 +00:00
video_track_source.cc Format almost everything. 2019-07-08 13:45:15 +00:00
video_track_source.h Use SequenceChecker from public API 2021-02-10 15:04:55 +00:00
video_track_unittest.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
video_track.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
video_track.h Use SequenceChecker from public API 2021-02-10 15:04:55 +00:00
webrtc_sdp_unittest.cc [Unified Plan] Support multiple BUNDLE groups. 2021-04-27 05:53:37 +00:00
webrtc_sdp.cc [Unified Plan] Support multiple BUNDLE groups. 2021-04-27 05:53:37 +00:00
webrtc_sdp.h Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00
webrtc_session_description_factory.cc Replace more instances of rtc::RefCountedObject with make_ref_counted. 2021-04-27 17:01:59 +00:00
webrtc_session_description_factory.h Running apply-iwyu on ~all files in pc/ 2021-01-29 16:14:10 +00:00