Adds support for multiple or no media stream ids.

With Unified Plan SDP semantics, this adds support for specifying
either no media stream ids or multiple media stream ids for a
transceiver/sender/receiver. This includes serializing/deserializing
SDPs with multiple a=msid lines in a m section, or an "a=msid:-
<appdata>" line to indicate the no stream case. Note that this does
not synchronize between multiple streams, this is still just supported
based upon the first media stream id.

Bug: webrtc:7932, webrtc:7933
Change-Id: Ib7433929af7b2925abe2824b485b360cec12f275
Reviewed-on: https://webrtc-review.googlesource.com/61341
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22611}
This commit is contained in:
Seth Hampson
2018-03-26 10:06:46 -07:00
committed by Commit Bot
parent bb50ce5bb6
commit 1550292efe
17 changed files with 467 additions and 290 deletions

View File

@ -48,8 +48,9 @@ class RtpSenderInterface : public rtc::RefCountInterface {
// to uniquely identify a receiver until we implement Unified Plan SDP.
virtual std::string id() const = 0;
// Returns a list of streams associated with this sender's track. Although we
// only support one track per stream, in theory the API allows for multiple.
// Returns a list of media stream ids associated with this sender's track.
// These are signalled in the SDP so that the remote side can associate
// tracks.
virtual std::vector<std::string> stream_ids() const = 0;
virtual RtpParameters GetParameters() const = 0;