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

Side by Side Diff: webrtc/api/webrtcsession.h

Issue 1785713005: Use CopyOnWriteBuffer instead of Buffer to avoid unnecessary copies. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Feedback from tommi. Created 4 years, 9 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
« no previous file with comments | « webrtc/api/test/fakedatachannelprovider.h ('k') | webrtc/api/webrtcsession.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright 2012 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 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 const cricket::VideoOptions* options) override; 248 const cricket::VideoOptions* options) override;
249 249
250 // Implements DtmfProviderInterface. 250 // Implements DtmfProviderInterface.
251 virtual bool CanInsertDtmf(const std::string& track_id); 251 virtual bool CanInsertDtmf(const std::string& track_id);
252 virtual bool InsertDtmf(const std::string& track_id, 252 virtual bool InsertDtmf(const std::string& track_id,
253 int code, int duration); 253 int code, int duration);
254 virtual sigslot::signal0<>* GetOnDestroyedSignal(); 254 virtual sigslot::signal0<>* GetOnDestroyedSignal();
255 255
256 // Implements DataChannelProviderInterface. 256 // Implements DataChannelProviderInterface.
257 bool SendData(const cricket::SendDataParams& params, 257 bool SendData(const cricket::SendDataParams& params,
258 const rtc::Buffer& payload, 258 const rtc::CopyOnWriteBuffer& payload,
259 cricket::SendDataResult* result) override; 259 cricket::SendDataResult* result) override;
260 bool ConnectDataChannel(DataChannel* webrtc_data_channel) override; 260 bool ConnectDataChannel(DataChannel* webrtc_data_channel) override;
261 void DisconnectDataChannel(DataChannel* webrtc_data_channel) override; 261 void DisconnectDataChannel(DataChannel* webrtc_data_channel) override;
262 void AddSctpDataStream(int sid) override; 262 void AddSctpDataStream(int sid) override;
263 void RemoveSctpDataStream(int sid) override; 263 void RemoveSctpDataStream(int sid) override;
264 bool ReadyToSendData() const override; 264 bool ReadyToSendData() const override;
265 265
266 // Returns stats for all channels of all transports. 266 // Returns stats for all channels of all transports.
267 // This avoids exposing the internal structures used to track them. 267 // This avoids exposing the internal structures used to track them.
268 virtual bool GetTransportStats(SessionStats* stats); 268 virtual bool GetTransportStats(SessionStats* stats);
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 390
391 // Helper methods to create media channels. 391 // Helper methods to create media channels.
392 bool CreateVoiceChannel(const cricket::ContentInfo* content); 392 bool CreateVoiceChannel(const cricket::ContentInfo* content);
393 bool CreateVideoChannel(const cricket::ContentInfo* content); 393 bool CreateVideoChannel(const cricket::ContentInfo* content);
394 bool CreateDataChannel(const cricket::ContentInfo* content); 394 bool CreateDataChannel(const cricket::ContentInfo* content);
395 395
396 // Listens to SCTP CONTROL messages on unused SIDs and process them as OPEN 396 // Listens to SCTP CONTROL messages on unused SIDs and process them as OPEN
397 // messages. 397 // messages.
398 void OnDataChannelMessageReceived(cricket::DataChannel* channel, 398 void OnDataChannelMessageReceived(cricket::DataChannel* channel,
399 const cricket::ReceiveDataParams& params, 399 const cricket::ReceiveDataParams& params,
400 const rtc::Buffer& payload); 400 const rtc::CopyOnWriteBuffer& payload);
401 401
402 std::string BadStateErrMsg(State state); 402 std::string BadStateErrMsg(State state);
403 void SetIceConnectionState(PeerConnectionInterface::IceConnectionState state); 403 void SetIceConnectionState(PeerConnectionInterface::IceConnectionState state);
404 void SetIceConnectionReceiving(bool receiving); 404 void SetIceConnectionReceiving(bool receiving);
405 405
406 bool ValidateBundleSettings(const cricket::SessionDescription* desc); 406 bool ValidateBundleSettings(const cricket::SessionDescription* desc);
407 bool HasRtcpMuxEnabled(const cricket::ContentInfo* content); 407 bool HasRtcpMuxEnabled(const cricket::ContentInfo* content);
408 // Below methods are helper methods which verifies SDP. 408 // Below methods are helper methods which verifies SDP.
409 bool ValidateSessionDescription(const SessionDescriptionInterface* sdesc, 409 bool ValidateSessionDescription(const SessionDescriptionInterface* sdesc,
410 cricket::ContentSource source, 410 cricket::ContentSource source,
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
495 PeerConnectionInterface::BundlePolicy bundle_policy_; 495 PeerConnectionInterface::BundlePolicy bundle_policy_;
496 496
497 // Declares the RTCP mux policy for the WebRTCSession. 497 // Declares the RTCP mux policy for the WebRTCSession.
498 PeerConnectionInterface::RtcpMuxPolicy rtcp_mux_policy_; 498 PeerConnectionInterface::RtcpMuxPolicy rtcp_mux_policy_;
499 499
500 RTC_DISALLOW_COPY_AND_ASSIGN(WebRtcSession); 500 RTC_DISALLOW_COPY_AND_ASSIGN(WebRtcSession);
501 }; 501 };
502 } // namespace webrtc 502 } // namespace webrtc
503 503
504 #endif // WEBRTC_API_WEBRTCSESSION_H_ 504 #endif // WEBRTC_API_WEBRTCSESSION_H_
OLDNEW
« no previous file with comments | « webrtc/api/test/fakedatachannelprovider.h ('k') | webrtc/api/webrtcsession.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698