mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
RTC: Support update msid for sdp
This commit is contained in:
parent
c8af9e9ec4
commit
c26cb9a15b
2 changed files with 35 additions and 0 deletions
|
@ -332,6 +332,20 @@ vector<SrsMediaPayloadType> SrsMediaDesc::find_media_with_encoding_name(const st
|
|||
return payloads;
|
||||
}
|
||||
|
||||
srs_error_t SrsMediaDesc::update_msid(string id)
|
||||
{
|
||||
srs_error_t err = srs_success;
|
||||
|
||||
for(vector<SrsSSRCInfo>::iterator it = ssrc_infos_.begin(); it != ssrc_infos_.end(); ++it) {
|
||||
SrsSSRCInfo& info = *it;
|
||||
|
||||
info.msid_ = id;
|
||||
info.mslabel_ = id;
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
srs_error_t SrsMediaDesc::parse_line(const std::string& line)
|
||||
{
|
||||
srs_error_t err = srs_success;
|
||||
|
@ -1072,3 +1086,21 @@ bool SrsSdp::is_unified() const
|
|||
return media_descs_.size() > 2;
|
||||
}
|
||||
|
||||
srs_error_t SrsSdp::update_msid(string id)
|
||||
{
|
||||
srs_error_t err = srs_success;
|
||||
|
||||
msids_.clear();
|
||||
msids_.push_back(id);
|
||||
|
||||
for (vector<SrsMediaDesc>::iterator it = media_descs_.begin(); it != media_descs_.end(); ++it) {
|
||||
SrsMediaDesc& desc = *it;
|
||||
|
||||
if ((err = desc.update_msid(id)) != srs_success) {
|
||||
return srs_error_wrap(err, "desc %s update msid %s", desc.mid_.c_str(), id.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
|
@ -140,6 +140,7 @@ public:
|
|||
SrsMediaPayloadType* find_media_with_payload_type(int payload_type);
|
||||
std::vector<SrsMediaPayloadType> find_media_with_encoding_name(const std::string& encoding_name) const;
|
||||
const std::map<int, std::string>& get_extmaps() const { return extmaps_; }
|
||||
srs_error_t update_msid(std::string id);
|
||||
|
||||
bool is_audio() const { return type_ == "audio"; }
|
||||
bool is_video() const { return type_ == "video"; }
|
||||
|
@ -248,6 +249,8 @@ public:
|
|||
std::vector<SrsMediaDesc> media_descs_;
|
||||
|
||||
bool is_unified() const;
|
||||
// TODO: FIXME: will be fixed when use single pc.
|
||||
srs_error_t update_msid(std::string id);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue