Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Side by Side Diff: talk/session/media/channel.h

Issue 1453523002: Allow remote fingerprint update during a call (Closed) Base URL: https://chromium.googlesource.com/external/webrtc@master
Patch Set: fix rtc_unittests error Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * libjingle 2 * libjingle
3 * Copyright 2004 Google Inc. 3 * Copyright 2004 Google Inc.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met: 6 * modification, are permitted provided that the following conditions are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright notice, 8 * 1. Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer. 9 * this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright notice, 10 * 2. Redistributions in binary form must reproduce the above copyright notice,
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 169
170 SrtpFilter* srtp_filter() { return &srtp_filter_; } 170 SrtpFilter* srtp_filter() { return &srtp_filter_; }
171 171
172 protected: 172 protected:
173 virtual MediaChannel* media_channel() const { return media_channel_; } 173 virtual MediaChannel* media_channel() const { return media_channel_; }
174 // Sets the |transport_channel_| (and |rtcp_transport_channel_|, if |rtcp_| is 174 // Sets the |transport_channel_| (and |rtcp_transport_channel_|, if |rtcp_| is
175 // true). Gets the transport channels from |transport_controller_|. 175 // true). Gets the transport channels from |transport_controller_|.
176 bool SetTransport_w(const std::string& transport_name); 176 bool SetTransport_w(const std::string& transport_name);
177 void set_transport_channel(TransportChannel* transport); 177 void set_transport_channel(TransportChannel* transport);
178 void set_rtcp_transport_channel(TransportChannel* transport); 178 void set_rtcp_transport_channel(TransportChannel* transport);
179 bool was_ever_writable() const { return was_ever_writable_; } 179 bool dtls_srtp_setup_pending() const { return dtls_srtp_setup_pending_; }
180 void set_local_content_direction(MediaContentDirection direction) { 180 void set_local_content_direction(MediaContentDirection direction) {
181 local_content_direction_ = direction; 181 local_content_direction_ = direction;
182 } 182 }
183 void set_remote_content_direction(MediaContentDirection direction) { 183 void set_remote_content_direction(MediaContentDirection direction) {
184 remote_content_direction_ = direction; 184 remote_content_direction_ = direction;
185 } 185 }
186 void set_secure_required(bool secure_required) { 186 void set_secure_required(bool secure_required) {
187 secure_required_ = secure_required; 187 secure_required_ = secure_required;
188 } 188 }
189 bool IsReadyToReceive() const; 189 bool IsReadyToReceive() const;
(...skipping 16 matching lines...) Expand all
206 206
207 // From TransportChannel 207 // From TransportChannel
208 void OnWritableState(TransportChannel* channel); 208 void OnWritableState(TransportChannel* channel);
209 virtual void OnChannelRead(TransportChannel* channel, 209 virtual void OnChannelRead(TransportChannel* channel,
210 const char* data, 210 const char* data,
211 size_t len, 211 size_t len,
212 const rtc::PacketTime& packet_time, 212 const rtc::PacketTime& packet_time,
213 int flags); 213 int flags);
214 void OnReadyToSend(TransportChannel* channel); 214 void OnReadyToSend(TransportChannel* channel);
215 215
216 void OnDtlsState(TransportChannel* channel, DtlsTransportState state);
217
216 bool PacketIsRtcp(const TransportChannel* channel, const char* data, 218 bool PacketIsRtcp(const TransportChannel* channel, const char* data,
217 size_t len); 219 size_t len);
218 bool SendPacket(bool rtcp, 220 bool SendPacket(bool rtcp,
219 rtc::Buffer* packet, 221 rtc::Buffer* packet,
220 const rtc::PacketOptions& options); 222 const rtc::PacketOptions& options);
221 virtual bool WantsPacket(bool rtcp, rtc::Buffer* packet); 223 virtual bool WantsPacket(bool rtcp, rtc::Buffer* packet);
222 void HandlePacket(bool rtcp, rtc::Buffer* packet, 224 void HandlePacket(bool rtcp, rtc::Buffer* packet,
223 const rtc::PacketTime& packet_time); 225 const rtc::PacketTime& packet_time);
224 226
225 void EnableMedia_w(); 227 void EnableMedia_w();
226 void DisableMedia_w(); 228 void DisableMedia_w();
227 void UpdateWritableState_w(); 229 void UpdateWritableState_w();
228 void ChannelWritable_w(); 230 void ChannelWritable_w();
229 void ChannelNotWritable_w(); 231 void ChannelNotWritable_w();
230 bool AddRecvStream_w(const StreamParams& sp); 232 bool AddRecvStream_w(const StreamParams& sp);
231 bool RemoveRecvStream_w(uint32_t ssrc); 233 bool RemoveRecvStream_w(uint32_t ssrc);
232 bool AddSendStream_w(const StreamParams& sp); 234 bool AddSendStream_w(const StreamParams& sp);
233 bool RemoveSendStream_w(uint32_t ssrc); 235 bool RemoveSendStream_w(uint32_t ssrc);
234 virtual bool ShouldSetupDtlsSrtp() const; 236 virtual bool ShouldSetupDtlsSrtp() const;
235 // Do the DTLS key expansion and impose it on the SRTP/SRTCP filters. 237 // Do the DTLS key expansion and impose it on the SRTP/SRTCP filters.
236 // |rtcp_channel| indicates whether to set up the RTP or RTCP filter. 238 // |rtcp_channel| indicates whether to set up the RTP or RTCP filter.
237 bool SetupDtlsSrtp(bool rtcp_channel); 239 bool SetupDtlsSrtp(bool rtcp_channel);
240 void TrySetupDtlsSrtp_w();
238 // Set the DTLS-SRTP cipher policy on this channel as appropriate. 241 // Set the DTLS-SRTP cipher policy on this channel as appropriate.
239 bool SetDtlsSrtpCryptoSuites(TransportChannel* tc, bool rtcp); 242 bool SetDtlsSrtpCryptoSuites(TransportChannel* tc, bool rtcp);
240 243
241 virtual void ChangeState() = 0; 244 virtual void ChangeState() = 0;
242 245
243 // Gets the content info appropriate to the channel (audio or video). 246 // Gets the content info appropriate to the channel (audio or video).
244 virtual const ContentInfo* GetFirstContent( 247 virtual const ContentInfo* GetFirstContent(
245 const SessionDescription* sdesc) = 0; 248 const SessionDescription* sdesc) = 0;
246 bool UpdateLocalStreams_w(const std::vector<StreamParams>& streams, 249 bool UpdateLocalStreams_w(const std::vector<StreamParams>& streams,
247 ContentAction action, 250 ContentAction action,
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
308 TransportChannel* rtcp_transport_channel_; 311 TransportChannel* rtcp_transport_channel_;
309 std::vector<std::pair<rtc::Socket::Option, int> > rtcp_socket_options_; 312 std::vector<std::pair<rtc::Socket::Option, int> > rtcp_socket_options_;
310 SrtpFilter srtp_filter_; 313 SrtpFilter srtp_filter_;
311 RtcpMuxFilter rtcp_mux_filter_; 314 RtcpMuxFilter rtcp_mux_filter_;
312 BundleFilter bundle_filter_; 315 BundleFilter bundle_filter_;
313 rtc::scoped_ptr<ConnectionMonitor> connection_monitor_; 316 rtc::scoped_ptr<ConnectionMonitor> connection_monitor_;
314 bool enabled_; 317 bool enabled_;
315 bool writable_; 318 bool writable_;
316 bool rtp_ready_to_send_; 319 bool rtp_ready_to_send_;
317 bool rtcp_ready_to_send_; 320 bool rtcp_ready_to_send_;
318 bool was_ever_writable_; 321 bool dtls_srtp_setup_pending_;
pthatcher1 2015/11/30 20:23:11 It feels like this should go right under srtp_filt
pthatcher1 2015/11/30 20:23:11 And "dtls" isn't really relevant. It's more wheth
guoweis_webrtc 2015/12/01 22:05:12 Done.
319 MediaContentDirection local_content_direction_; 322 MediaContentDirection local_content_direction_;
320 MediaContentDirection remote_content_direction_; 323 MediaContentDirection remote_content_direction_;
321 bool has_received_packet_; 324 bool has_received_packet_;
322 bool dtls_keyed_; 325 bool dtls_keyed_;
323 bool secure_required_; 326 bool secure_required_;
324 int rtp_abs_sendtime_extn_id_; 327 int rtp_abs_sendtime_extn_id_;
325 }; 328 };
326 329
327 // VoiceChannel is a specialization that adds support for early media, DTMF, 330 // VoiceChannel is a specialization that adds support for early media, DTMF,
328 // and input/output level monitoring. 331 // and input/output level monitoring.
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
635 // SetSendParameters. 638 // SetSendParameters.
636 DataSendParameters last_send_params_; 639 DataSendParameters last_send_params_;
637 // Last DataRecvParameters sent down to the media_channel() via 640 // Last DataRecvParameters sent down to the media_channel() via
638 // SetRecvParameters. 641 // SetRecvParameters.
639 DataRecvParameters last_recv_params_; 642 DataRecvParameters last_recv_params_;
640 }; 643 };
641 644
642 } // namespace cricket 645 } // namespace cricket
643 646
644 #endif // TALK_SESSION_MEDIA_CHANNEL_H_ 647 #endif // TALK_SESSION_MEDIA_CHANNEL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698