Separating internal and external methods of RtpSender/RtpReceiver.
This moves the implementation specific methods to separate classes (RtpSenderInternal/RtpReceiverInternal) so that the interface classes represent the interface that external applications can rely on. The reason this wasn't done earlier was that PeerConnection needed to store proxy pointers, but also needed to access implementation- specific methods on the underlying objects. This is now possible by using "RtpSenderProxyWithInternal<RtpSenderInternal>", which is a proxy that implements RtpSenderInterface but also provides direct access to an RtpSenderInternal. Review-Url: https://codereview.webrtc.org/2023373002 Cr-Commit-Position: refs/heads/master@{#13056}
This commit is contained in:
@ -31,8 +31,6 @@ class RtpReceiverInterface : public rtc::RefCountInterface {
|
||||
// to uniquely identify a receiver until we implement Unified Plan SDP.
|
||||
virtual std::string id() const = 0;
|
||||
|
||||
virtual void Stop() = 0;
|
||||
|
||||
// The WebRTC specification only defines RTCRtpParameters in terms of senders,
|
||||
// but this API also applies them to receivers, similar to ORTC:
|
||||
// http://ortc.org/wp-content/uploads/2016/03/ortc.html#rtcrtpparameters*.
|
||||
@ -47,7 +45,6 @@ class RtpReceiverInterface : public rtc::RefCountInterface {
|
||||
BEGIN_SIGNALING_PROXY_MAP(RtpReceiver)
|
||||
PROXY_CONSTMETHOD0(rtc::scoped_refptr<MediaStreamTrackInterface>, track)
|
||||
PROXY_CONSTMETHOD0(std::string, id)
|
||||
PROXY_METHOD0(void, Stop)
|
||||
PROXY_CONSTMETHOD0(RtpParameters, GetParameters);
|
||||
PROXY_METHOD1(bool, SetParameters, const RtpParameters&)
|
||||
END_SIGNALING_PROXY()
|
||||
|
||||
Reference in New Issue
Block a user