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

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

Issue 1413713003: Adding the ability to create an RtpSender without a track. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Adding some unit tests for new methods on the sender. Created 5 years, 2 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/rtpsenderinterface.h
diff --git a/talk/app/webrtc/rtpsenderinterface.h b/talk/app/webrtc/rtpsenderinterface.h
index fca98f21db5823397d789922bd21cc79b1d433b0..e0845aba86c341f4115fbb471f026caee69ddbd4 100644
--- a/talk/app/webrtc/rtpsenderinterface.h
+++ b/talk/app/webrtc/rtpsenderinterface.h
@@ -47,10 +47,26 @@ class RtpSenderInterface : public rtc::RefCountInterface {
virtual bool SetTrack(MediaStreamTrackInterface* track) = 0;
virtual rtc::scoped_refptr<MediaStreamTrackInterface> track() const = 0;
+ // Used to set the SSRC of the sender, once a local description has been set.
+ // If |ssrc| is 0, this indiates that the sender should disconnect from the
+ // underlying transport (this occurs if the sender isn't seen in a local
+ // description).
pthatcher1 2015/10/20 17:42:49 Instead of setting SSRC to 0 here, could the calle
Taylor Brandstetter 2015/10/21 00:22:09 Stop is permanent, SetSsrc(0) is not (as we discus
+ // Question for Peter: I know our code always generates nonzero SSRCs,
+ // but what is there to guarantee the peer does?
pthatcher1 2015/10/20 17:42:49 Do you mean the remote peer? It doesn't get to pi
Taylor Brandstetter 2015/10/21 00:22:09 I think you already answered this question, I just
+ virtual void SetSsrc(uint32_t ssrc) = 0;
pthatcher1 2015/10/20 17:42:49 I think we should call this set_ssrc.
Taylor Brandstetter 2015/10/21 00:22:09 I thought a method should only be lowercase_unders
pthatcher1 2015/10/22 07:34:14 Yes, you're right.
+ virtual uint32_t ssrc() const = 0;
+
+ // "audio" or "video".
+ virtual std::string kind() const = 0;
pthatcher1 2015/10/20 17:42:49 I think this should be a cricket::MediaType.
Taylor Brandstetter 2015/10/21 00:22:09 Done.
+
// 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;
+ // TODO(deadbeef): Support one sender having multiple stream ids.
+ virtual void set_stream_id(const std::string& stream_id) = 0;
+ virtual std::string stream_id() const = 0;
+
virtual void Stop() = 0;
protected:
@@ -61,7 +77,12 @@ class RtpSenderInterface : public rtc::RefCountInterface {
BEGIN_PROXY_MAP(RtpSender)
PROXY_METHOD1(bool, SetTrack, MediaStreamTrackInterface*)
PROXY_CONSTMETHOD0(rtc::scoped_refptr<MediaStreamTrackInterface>, track)
+PROXY_METHOD1(void, SetSsrc, uint32_t)
+PROXY_CONSTMETHOD0(uint32_t, ssrc)
+PROXY_CONSTMETHOD0(std::string, kind)
PROXY_CONSTMETHOD0(std::string, id)
+PROXY_METHOD1(void, set_stream_id, const std::string&)
+PROXY_CONSTMETHOD0(std::string, stream_id)
PROXY_METHOD0(void, Stop)
END_PROXY()

Powered by Google App Engine
This is Rietveld 408576698