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

Unified Diff: webrtc/pc/channel.h

Issue 2564333002: Reland of: Separating SCTP code from BaseChannel/MediaChannel. (Closed)
Patch Set: Merge with master. Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/media/sctp/sctptransportinternal.h ('k') | webrtc/pc/channel.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/pc/channel.h
diff --git a/webrtc/pc/channel.h b/webrtc/pc/channel.h
index 64c5f8253f7fed52f0f0b0e35125e244f0901e29..ff98a2fb2760bcc04d8c396fa7be695b9113eaf1 100644
--- a/webrtc/pc/channel.h
+++ b/webrtc/pc/channel.h
@@ -149,9 +149,9 @@ class BaseChannel
return remote_streams_;
}
- sigslot::signal2<BaseChannel*, bool> SignalDtlsSetupFailure;
- void SignalDtlsSetupFailure_n(bool rtcp);
- void SignalDtlsSetupFailure_s(bool rtcp);
+ sigslot::signal2<BaseChannel*, bool> SignalDtlsSrtpSetupFailure;
+ void SignalDtlsSrtpSetupFailure_n(bool rtcp);
+ void SignalDtlsSrtpSetupFailure_s(bool rtcp);
// Used for latency measurements.
sigslot::signal1<BaseChannel*> SignalFirstPacketReceived;
@@ -261,7 +261,7 @@ class BaseChannel
rtc::CopyOnWriteBuffer* packet,
const rtc::PacketOptions& options);
- virtual bool WantsPacket(bool rtcp, const rtc::CopyOnWriteBuffer* packet);
+ bool WantsPacket(bool rtcp, const rtc::CopyOnWriteBuffer* packet);
void HandlePacket(bool rtcp, rtc::CopyOnWriteBuffer* packet,
const rtc::PacketTime& packet_time);
void OnPacketReceived(bool rtcp,
@@ -282,7 +282,7 @@ class BaseChannel
bool RemoveRecvStream_w(uint32_t ssrc);
bool AddSendStream_w(const StreamParams& sp);
bool RemoveSendStream_w(uint32_t ssrc);
- virtual bool ShouldSetupDtlsSrtp_n() const;
+ bool ShouldSetupDtlsSrtp_n() const;
// Do the DTLS key expansion and impose it on the SRTP/SRTCP filters.
// |rtcp_channel| indicates whether to set up the RTP or RTCP filter.
bool SetupDtlsSrtp_n(bool rtcp_channel);
@@ -615,17 +615,17 @@ class VideoChannel : public BaseChannel {
VideoRecvParameters last_recv_params_;
};
-// DataChannel is a specialization for data.
-class DataChannel : public BaseChannel {
+// RtpDataChannel is a specialization for data.
+class RtpDataChannel : public BaseChannel {
public:
- DataChannel(rtc::Thread* worker_thread,
- rtc::Thread* network_thread,
- DataMediaChannel* media_channel,
- TransportController* transport_controller,
- const std::string& content_name,
- bool rtcp,
- bool srtp_required);
- ~DataChannel();
+ RtpDataChannel(rtc::Thread* worker_thread,
+ rtc::Thread* network_thread,
+ DataMediaChannel* media_channel,
+ TransportController* transport_controller,
+ const std::string& content_name,
+ bool rtcp,
+ bool srtp_required);
+ ~RtpDataChannel();
bool Init_w(const std::string* bundle_transport_name);
virtual bool SendData(const SendDataParams& params,
@@ -640,17 +640,16 @@ class DataChannel : public BaseChannel {
return ready_to_send_data_;
}
- sigslot::signal2<DataChannel*, const DataMediaInfo&> SignalMediaMonitor;
- sigslot::signal2<DataChannel*, const std::vector<ConnectionInfo>&>
+ sigslot::signal2<RtpDataChannel*, const DataMediaInfo&> SignalMediaMonitor;
+ sigslot::signal2<RtpDataChannel*, const std::vector<ConnectionInfo>&>
SignalConnectionMonitor;
- sigslot::signal3<DataChannel*, const ReceiveDataParams&,
- const rtc::CopyOnWriteBuffer&> SignalDataReceived;
+
+ sigslot::signal2<const ReceiveDataParams&, const rtc::CopyOnWriteBuffer&>
+ SignalDataReceived;
// Signal for notifying when the channel becomes ready to send data.
// That occurs when the channel is enabled, the transport is writable,
// both local and remote descriptions are set, and the channel is unblocked.
sigslot::signal1<bool> SignalReadyToSendData;
- // Signal for notifying that the remote side has closed the DataChannel.
- sigslot::signal1<uint32_t> SignalStreamClosedRemotely;
cricket::MediaType media_type() override { return cricket::MEDIA_TYPE_DATA; }
protected:
@@ -693,15 +692,9 @@ class DataChannel : public BaseChannel {
// overrides from BaseChannel
const ContentInfo* GetFirstContent(const SessionDescription* sdesc) override;
- // If data_channel_type_ is DCT_NONE, set it. Otherwise, check that
- // it's the same as what was set previously. Returns false if it's
- // set to one type one type and changed to another type later.
- bool SetDataChannelType(DataChannelType new_data_channel_type,
- std::string* error_desc);
- // Same as SetDataChannelType, but extracts the type from the
- // DataContentDescription.
- bool SetDataChannelTypeFromContent(const DataContentDescription* content,
- std::string* error_desc);
+ // Checks that data channel type is RTP.
+ bool CheckDataChannelTypeFromContent(const DataContentDescription* content,
+ std::string* error_desc);
bool SetLocalContent_w(const MediaContentDescription* content,
ContentAction action,
std::string* error_desc) override;
@@ -709,7 +702,6 @@ class DataChannel : public BaseChannel {
ContentAction action,
std::string* error_desc) override;
void UpdateMediaSendRecvState_w() override;
- bool WantsPacket(bool rtcp, const rtc::CopyOnWriteBuffer* packet) override;
void OnMessage(rtc::Message* pmsg) override;
void GetSrtpCryptoSuites_n(std::vector<int>* crypto_suites) const override;
@@ -718,18 +710,13 @@ class DataChannel : public BaseChannel {
const std::vector<ConnectionInfo>& infos) override;
void OnMediaMonitorUpdate(DataMediaChannel* media_channel,
const DataMediaInfo& info);
- bool ShouldSetupDtlsSrtp_n() const override;
void OnDataReceived(
const ReceiveDataParams& params, const char* data, size_t len);
void OnDataChannelError(uint32_t ssrc, DataMediaChannel::Error error);
void OnDataChannelReadyToSend(bool writable);
- void OnStreamClosedRemotely(uint32_t sid);
std::unique_ptr<DataMediaMonitor> media_monitor_;
- // TODO(pthatcher): Make a separate SctpDataChannel and
- // RtpDataChannel instead of using this.
- DataChannelType data_channel_type_;
- bool ready_to_send_data_;
+ bool ready_to_send_data_ = false;
// Last DataSendParameters sent down to the media_channel() via
// SetSendParameters.
« no previous file with comments | « webrtc/media/sctp/sctptransportinternal.h ('k') | webrtc/pc/channel.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698