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

Unified Diff: talk/app/webrtc/peerconnection.h

Issue 1351803002: Exposing RtpSenders and RtpReceivers from PeerConnection. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Return bool from RtpSenderInterface::SetTrack. Created 5 years, 3 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
Index: talk/app/webrtc/peerconnection.h
diff --git a/talk/app/webrtc/peerconnection.h b/talk/app/webrtc/peerconnection.h
index 2160afb241c392084be3f22bea0669a1aa62769e..64b9198c9dd5ffd3d8061b9da86134e50b1babcd 100644
--- a/talk/app/webrtc/peerconnection.h
+++ b/talk/app/webrtc/peerconnection.h
@@ -34,20 +34,21 @@
#include "talk/app/webrtc/mediastreamsignaling.h"
#include "talk/app/webrtc/peerconnectionfactory.h"
#include "talk/app/webrtc/peerconnectioninterface.h"
+#include "talk/app/webrtc/rtpreceiver.h"
+#include "talk/app/webrtc/rtpsender.h"
#include "talk/app/webrtc/statscollector.h"
#include "talk/app/webrtc/streamcollection.h"
#include "talk/app/webrtc/webrtcsession.h"
#include "webrtc/base/scoped_ptr.h"
namespace webrtc {
-class MediaStreamHandlerContainer;
typedef std::vector<PortAllocatorFactoryInterface::StunConfiguration>
StunConfigurations;
typedef std::vector<PortAllocatorFactoryInterface::TurnConfiguration>
TurnConfigurations;
-// PeerConnectionImpl implements the PeerConnection interface.
+// PeerConnection implements the PeerConnectionInterface interface.
// It uses MediaStreamSignaling and WebRtcSession to implement
// the PeerConnection functionality.
class PeerConnection : public PeerConnectionInterface,
@@ -72,6 +73,9 @@ class PeerConnection : public PeerConnectionInterface,
virtual rtc::scoped_refptr<DtmfSenderInterface> CreateDtmfSender(
AudioTrackInterface* track);
+ RtpSenderRefptrs GetSenders() const override;
+ RtpReceiverRefptrs GetReceivers() const override;
+
virtual rtc::scoped_refptr<DataChannelInterface> CreateDataChannel(
const std::string& label,
const DataChannelInit* config);
@@ -168,6 +172,15 @@ class PeerConnection : public PeerConnectionInterface,
return signaling_state_ == PeerConnectionInterface::kClosed;
}
+ typedef std::vector<rtc::scoped_refptr<BaseRtpSender>> BaseRtpSenderRefptrs;
+ typedef std::vector<rtc::scoped_refptr<BaseRtpReceiver>>
+ BaseRtpReceiverRefptrs;
pthatcher1 2015/09/24 06:32:29 The more I think about this, the more I think we s
Taylor Brandstetter 2015/09/24 20:54:20 Done.
+
+ BaseRtpSenderRefptrs::iterator FindRtpSenderForTrack(
+ MediaStreamTrackInterface* track);
+ BaseRtpReceiverRefptrs::iterator FindRtpReceiverForTrack(
+ MediaStreamTrackInterface* track);
+
// Storing the factory as a scoped reference pointer ensures that the memory
// in the PeerConnectionFactoryImpl remains available as long as the
// PeerConnection is running. It is passed to PeerConnection as a raw pointer.
@@ -186,8 +199,10 @@ class PeerConnection : public PeerConnectionInterface,
rtc::scoped_ptr<cricket::PortAllocator> port_allocator_;
rtc::scoped_ptr<WebRtcSession> session_;
rtc::scoped_ptr<MediaStreamSignaling> mediastream_signaling_;
- rtc::scoped_ptr<MediaStreamHandlerContainer> stream_handler_container_;
rtc::scoped_ptr<StatsCollector> stats_;
+
+ BaseRtpSenderRefptrs rtp_senders_;
+ BaseRtpReceiverRefptrs rtp_receivers_;
pthatcher1 2015/09/24 06:32:29 I think we can just call them senders_ and receive
Taylor Brandstetter 2015/09/24 20:54:20 Done.
};
} // namespace webrtc

Powered by Google App Engine
This is Rietveld 408576698