|
@@ -163,6 +163,8 @@ void Description::hintType(Type type) {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+void Description::setDataMid(string mid) { mData.mid = mid; }
|
|
|
|
+
|
|
void Description::setFingerprint(string fingerprint) {
|
|
void Description::setFingerprint(string fingerprint) {
|
|
mFingerprint.emplace(std::move(fingerprint));
|
|
mFingerprint.emplace(std::move(fingerprint));
|
|
}
|
|
}
|
|
@@ -216,6 +218,8 @@ string Description::generateSdp(const string &eol) const {
|
|
sdp << " " << m.first; // mid
|
|
sdp << " " << m.first; // mid
|
|
sdp << " " << mData.mid << eol;
|
|
sdp << " " << mData.mid << eol;
|
|
|
|
|
|
|
|
+ sdp << "a=msid-semantic: WMS" << eol;
|
|
|
|
+
|
|
// Data
|
|
// Data
|
|
const string dataDescription = "UDP/DTLS/SCTP webrtc-datachannel";
|
|
const string dataDescription = "UDP/DTLS/SCTP webrtc-datachannel";
|
|
sdp << "m=application" << ' ' << (!mMedia.empty() ? 0 : 9) << ' ' << dataDescription << eol;
|
|
sdp << "m=application" << ' ' << (!mMedia.empty() ? 0 : 9) << ' ' << dataDescription << eol;
|
|
@@ -249,11 +253,14 @@ string Description::generateSdp(const string &eol) const {
|
|
}
|
|
}
|
|
|
|
|
|
// Common
|
|
// Common
|
|
- sdp << "a=ice-options:trickle" << eol;
|
|
|
|
|
|
+ if (!mEnded)
|
|
|
|
+ sdp << "a=ice-options:trickle" << eol;
|
|
|
|
+
|
|
sdp << "a=ice-ufrag:" << mIceUfrag << eol;
|
|
sdp << "a=ice-ufrag:" << mIceUfrag << eol;
|
|
sdp << "a=ice-pwd:" << mIcePwd << eol;
|
|
sdp << "a=ice-pwd:" << mIcePwd << eol;
|
|
sdp << "a=setup:" << roleToString(mRole) << eol;
|
|
sdp << "a=setup:" << roleToString(mRole) << eol;
|
|
sdp << "a=tls-id:1" << eol;
|
|
sdp << "a=tls-id:1" << eol;
|
|
|
|
+
|
|
if (mFingerprint)
|
|
if (mFingerprint)
|
|
sdp << "a=fingerprint:sha-256 " << *mFingerprint << eol;
|
|
sdp << "a=fingerprint:sha-256 " << *mFingerprint << eol;
|
|
|
|
|