Skip to content

Commit

Permalink
Merge pull request #1194 from wcpfeffer/move-session-attr-to-media-level
Browse files Browse the repository at this point in the history
Migrate session-level attributes to media-level
  • Loading branch information
paullouisageneau authored May 28, 2024
2 parents d9befcf + 13daa79 commit 7b45b57
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions src/description.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -310,12 +310,7 @@ string Description::generateSdp(string_view eol) const {

// Session-level attributes
sdp << "a=msid-semantic:WMS *" << eol;
sdp << "a=setup:" << mRole << eol;

if (mIceUfrag)
sdp << "a=ice-ufrag:" << *mIceUfrag << eol;
if (mIcePwd)
sdp << "a=ice-pwd:" << *mIcePwd << eol;
if (!mIceOptions.empty())
sdp << "a=ice-options:" << utils::implode(mIceOptions, ',') << eol;
if (mFingerprint)
Expand All @@ -339,6 +334,14 @@ string Description::generateSdp(string_view eol) const {
for (const auto &entry : mEntries) {
sdp << entry->generateSdp(eol, addr, port);

// RFC 8829: Attributes that SDP permits to be at either the session level or the media level
// SHOULD generally be at the media level even if they are identical.
sdp << "a=setup:" << mRole << eol;
if (mIceUfrag)
sdp << "a=ice-ufrag:" << *mIceUfrag << eol;
if (mIcePwd)
sdp << "a=ice-pwd:" << *mIcePwd << eol;

if (!entry->isRemoved() && std::exchange(first, false)) {
// Candidates
for (const auto &candidate : mCandidates)
Expand Down

0 comments on commit 7b45b57

Please sign in to comment.