| Index: webrtc/api/rtpreceiverinterface.h
|
| diff --git a/webrtc/api/rtpreceiverinterface.h b/webrtc/api/rtpreceiverinterface.h
|
| index 4943023111b5b4261baecdab6d23e9d9bb7d974e..53a37398cfc9222c6c6528640920fb619d728a1f 100644
|
| --- a/webrtc/api/rtpreceiverinterface.h
|
| +++ b/webrtc/api/rtpreceiverinterface.h
|
| @@ -18,6 +18,7 @@
|
|
|
| #include "webrtc/api/mediastreaminterface.h"
|
| #include "webrtc/api/proxy.h"
|
| +#include "webrtc/api/rtpparameters.h"
|
| #include "webrtc/base/refcount.h"
|
| #include "webrtc/base/scoped_ref_ptr.h"
|
| #include "webrtc/pc/mediasession.h"
|
| @@ -26,6 +27,12 @@ namespace webrtc {
|
|
|
| class RtpReceiverObserverInterface {
|
| public:
|
| + // Note: Currently if there are multiple RtpReceivers of the same media type,
|
| + // they will all call OnFirstPacketReceived at once.
|
| + //
|
| + // In the future, it's likely that an RtpReceiver will only call
|
| + // OnFirstPacketReceived when a packet is received specifically for its
|
| + // SSRC/mid.
|
| virtual void OnFirstPacketReceived(cricket::MediaType media_type) = 0;
|
|
|
| protected:
|
| @@ -36,6 +43,9 @@ class RtpReceiverInterface : public rtc::RefCountInterface {
|
| public:
|
| virtual rtc::scoped_refptr<MediaStreamTrackInterface> track() const = 0;
|
|
|
| + // Audio or video receiver?
|
| + virtual cricket::MediaType media_type() const = 0;
|
| +
|
| // Not to be confused with "mid", this is a field we can temporarily use
|
| // to uniquely identify a receiver until we implement Unified Plan SDP.
|
| virtual std::string id() const = 0;
|
| @@ -46,10 +56,10 @@ class RtpReceiverInterface : public rtc::RefCountInterface {
|
| virtual RtpParameters GetParameters() const = 0;
|
| virtual bool SetParameters(const RtpParameters& parameters) = 0;
|
|
|
| + // Does not take ownership of observer.
|
| + // Must call SetObserver(nullptr) before the observer is destroyed.
|
| virtual void SetObserver(RtpReceiverObserverInterface* observer) = 0;
|
|
|
| - virtual cricket::MediaType media_type() = 0;
|
| -
|
| protected:
|
| virtual ~RtpReceiverInterface() {}
|
| };
|
| @@ -57,11 +67,11 @@ class RtpReceiverInterface : public rtc::RefCountInterface {
|
| // Define proxy for RtpReceiverInterface.
|
| BEGIN_SIGNALING_PROXY_MAP(RtpReceiver)
|
| PROXY_CONSTMETHOD0(rtc::scoped_refptr<MediaStreamTrackInterface>, track)
|
| +PROXY_CONSTMETHOD0(cricket::MediaType, media_type)
|
| PROXY_CONSTMETHOD0(std::string, id)
|
| PROXY_CONSTMETHOD0(RtpParameters, GetParameters);
|
| PROXY_METHOD1(bool, SetParameters, const RtpParameters&)
|
| PROXY_METHOD1(void, SetObserver, RtpReceiverObserverInterface*);
|
| -PROXY_METHOD0(cricket::MediaType, media_type);
|
| END_SIGNALING_PROXY()
|
|
|
| } // namespace webrtc
|
|
|