mirror of
https://github.com/mii443/libdatachannel.git
synced 2025-08-22 23:25:33 +00:00
Fixed generated SDP description order
This commit is contained in:
@ -72,10 +72,11 @@ public:
|
||||
void setDirection(Direction dir);
|
||||
|
||||
virtual void parseSdpLine(string_view line);
|
||||
virtual string generateSdp(string_view eol) const;
|
||||
string generateSdp(string_view eol) const;
|
||||
|
||||
protected:
|
||||
Entry(const string &mline, string mid, Direction dir = Direction::Unknown);
|
||||
virtual string generateSdpLines(string_view eol) const;
|
||||
|
||||
std::vector<string> mAttributes;
|
||||
|
||||
@ -103,9 +104,10 @@ public:
|
||||
std::optional<size_t> maxMessageSize() const { return mMaxMessageSize; }
|
||||
|
||||
virtual void parseSdpLine(string_view line) override;
|
||||
virtual string generateSdp(string_view eol) const override;
|
||||
|
||||
private:
|
||||
virtual string generateSdpLines(string_view eol) const override;
|
||||
|
||||
std::optional<uint16_t> mSctpPort;
|
||||
std::optional<size_t> mMaxMessageSize;
|
||||
};
|
||||
@ -135,9 +137,10 @@ public:
|
||||
bool hasPayloadType(int payloadType) const;
|
||||
|
||||
virtual void parseSdpLine(string_view line) override;
|
||||
virtual string generateSdp(string_view eol) const override;
|
||||
|
||||
private:
|
||||
virtual string generateSdpLines(string_view eol) const override;
|
||||
|
||||
int mBas = -1;
|
||||
|
||||
struct RTPMap {
|
||||
|
@ -383,6 +383,13 @@ string Description::Entry::generateSdp(string_view eol) const {
|
||||
// Port 9 is the discard protocol
|
||||
sdp << "m=" << type() << ' ' << 9 << ' ' << description() << eol;
|
||||
sdp << "c=IN IP4 0.0.0.0" << eol;
|
||||
sdp << generateSdpLines(eol);
|
||||
|
||||
return sdp.str();
|
||||
}
|
||||
|
||||
string Description::Entry::generateSdpLines(string_view eol) const {
|
||||
std::ostringstream sdp;
|
||||
sdp << "a=bundle-only" << eol;
|
||||
sdp << "a=mid:" << mMid << eol;
|
||||
|
||||
@ -445,9 +452,9 @@ Description::Application Description::Application::reciprocate() const {
|
||||
return reciprocated;
|
||||
}
|
||||
|
||||
string Description::Application::generateSdp(string_view eol) const {
|
||||
string Description::Application::generateSdpLines(string_view eol) const {
|
||||
std::ostringstream sdp;
|
||||
sdp << Entry::generateSdp(eol);
|
||||
sdp << Entry::generateSdpLines(eol);
|
||||
|
||||
if (mSctpPort)
|
||||
sdp << "a=sctp-port:" << *mSctpPort << eol;
|
||||
@ -599,13 +606,13 @@ bool Description::Media::hasPayloadType(int payloadType) const {
|
||||
return mRtpMap.find(payloadType) != mRtpMap.end();
|
||||
}
|
||||
|
||||
string Description::Media::generateSdp(string_view eol) const {
|
||||
string Description::Media::generateSdpLines(string_view eol) const {
|
||||
std::ostringstream sdp;
|
||||
sdp << Entry::generateSdp(eol);
|
||||
|
||||
if (mBas >= 0)
|
||||
sdp << "b=AS:" << mBas << eol;
|
||||
|
||||
sdp << Entry::generateSdpLines(eol);
|
||||
|
||||
for (auto it = mRtpMap.begin(); it != mRtpMap.end(); ++it) {
|
||||
auto &map = it->second;
|
||||
|
||||
|
Reference in New Issue
Block a user