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

Side by Side Diff: webrtc/pc/channel.h

Issue 2761143002: Support encrypted RTP extensions (RFC 6904) (Closed)
Patch Set: More updates + support for adding/changing encrypted extensions. Created 3 years, 8 months 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 * Copyright 2004 The WebRTC project authors. All Rights Reserved. 2 * Copyright 2004 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after
322 bool UpdateRemoteStreams_w(const std::vector<StreamParams>& streams, 322 bool UpdateRemoteStreams_w(const std::vector<StreamParams>& streams,
323 ContentAction action, 323 ContentAction action,
324 std::string* error_desc); 324 std::string* error_desc);
325 virtual bool SetLocalContent_w(const MediaContentDescription* content, 325 virtual bool SetLocalContent_w(const MediaContentDescription* content,
326 ContentAction action, 326 ContentAction action,
327 std::string* error_desc) = 0; 327 std::string* error_desc) = 0;
328 virtual bool SetRemoteContent_w(const MediaContentDescription* content, 328 virtual bool SetRemoteContent_w(const MediaContentDescription* content,
329 ContentAction action, 329 ContentAction action,
330 std::string* error_desc) = 0; 330 std::string* error_desc) = 0;
331 bool SetRtpTransportParameters(const MediaContentDescription* content, 331 bool SetRtpTransportParameters(const MediaContentDescription* content,
332 ContentAction action, 332 ContentAction action, ContentSource src,
333 ContentSource src, 333 const RtpHeaderExtensions& extensions, std::string* error_desc);
334 std::string* error_desc);
335 bool SetRtpTransportParameters_n(const MediaContentDescription* content, 334 bool SetRtpTransportParameters_n(const MediaContentDescription* content,
336 ContentAction action, 335 ContentAction action, ContentSource src,
337 ContentSource src, 336 const RtpHeaderExtensions& encrypted_extensions, std::string* error_desc);
338 std::string* error_desc); 337
338 // Return a list of RTP header extensions with the non-encrypted extensions
339 // removed depending on the current crypto_options_ and only if both the
340 // non-encrypted and encrypted extension is present for the same URI.
341 RtpHeaderExtensions GetFilteredRtpHeaderExtensions(
342 const RtpHeaderExtensions& extensions);
339 343
340 // Helper method to get RTP Absoulute SendTime extension header id if 344 // Helper method to get RTP Absoulute SendTime extension header id if
341 // present in remote supported extensions list. 345 // present in remote supported extensions list.
342 void MaybeCacheRtpAbsSendTimeHeaderExtension_w( 346 void MaybeCacheRtpAbsSendTimeHeaderExtension_w(
343 const std::vector<webrtc::RtpExtension>& extensions); 347 const std::vector<webrtc::RtpExtension>& extensions);
344 348
345 bool CheckSrtpConfig_n(const std::vector<CryptoParams>& cryptos, 349 bool CheckSrtpConfig_n(const std::vector<CryptoParams>& cryptos,
346 bool* dtls, 350 bool* dtls,
347 std::string* error_desc); 351 std::string* error_desc);
348 bool SetSrtp_n(const std::vector<CryptoParams>& params, 352 bool SetSrtp_n(const std::vector<CryptoParams>& params,
349 ContentAction action, 353 ContentAction action,
350 ContentSource src, 354 ContentSource src,
355 const RtpHeaderExtensions& encrypted_extensions,
351 std::string* error_desc); 356 std::string* error_desc);
352 bool SetRtcpMux_n(bool enable, 357 bool SetRtcpMux_n(bool enable,
353 ContentAction action, 358 ContentAction action,
354 ContentSource src, 359 ContentSource src,
355 std::string* error_desc); 360 std::string* error_desc);
356 361
357 // From MessageHandler 362 // From MessageHandler
358 void OnMessage(rtc::Message* pmsg) override; 363 void OnMessage(rtc::Message* pmsg) override;
359 364
360 const rtc::CryptoOptions& crypto_options() const { 365 const rtc::CryptoOptions& crypto_options() const {
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 SrtpFilter srtp_filter_; 419 SrtpFilter srtp_filter_;
415 RtcpMuxFilter rtcp_mux_filter_; 420 RtcpMuxFilter rtcp_mux_filter_;
416 BundleFilter bundle_filter_; 421 BundleFilter bundle_filter_;
417 bool rtp_ready_to_send_ = false; 422 bool rtp_ready_to_send_ = false;
418 bool rtcp_ready_to_send_ = false; 423 bool rtcp_ready_to_send_ = false;
419 bool writable_ = false; 424 bool writable_ = false;
420 bool was_ever_writable_ = false; 425 bool was_ever_writable_ = false;
421 bool has_received_packet_ = false; 426 bool has_received_packet_ = false;
422 bool dtls_keyed_ = false; 427 bool dtls_keyed_ = false;
423 const bool srtp_required_ = true; 428 const bool srtp_required_ = true;
429 bool srtp_update_on_answer_ = false;
424 rtc::CryptoOptions crypto_options_; 430 rtc::CryptoOptions crypto_options_;
425 int rtp_abs_sendtime_extn_id_ = -1; 431 int rtp_abs_sendtime_extn_id_ = -1;
426 432
427 // MediaChannel related members that should be accessed from the worker 433 // MediaChannel related members that should be accessed from the worker
428 // thread. 434 // thread.
429 MediaChannel* const media_channel_; 435 MediaChannel* const media_channel_;
430 // Currently the |enabled_| flag is accessed from the signaling thread as 436 // Currently the |enabled_| flag is accessed from the signaling thread as
431 // well, but it can be changed only when signaling thread does a synchronous 437 // well, but it can be changed only when signaling thread does a synchronous
432 // call to the worker thread, so it should be safe. 438 // call to the worker thread, so it should be safe.
433 bool enabled_ = false; 439 bool enabled_ = false;
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after
745 // SetSendParameters. 751 // SetSendParameters.
746 DataSendParameters last_send_params_; 752 DataSendParameters last_send_params_;
747 // Last DataRecvParameters sent down to the media_channel() via 753 // Last DataRecvParameters sent down to the media_channel() via
748 // SetRecvParameters. 754 // SetRecvParameters.
749 DataRecvParameters last_recv_params_; 755 DataRecvParameters last_recv_params_;
750 }; 756 };
751 757
752 } // namespace cricket 758 } // namespace cricket
753 759
754 #endif // WEBRTC_PC_CHANNEL_H_ 760 #endif // WEBRTC_PC_CHANNEL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698