mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2024-10-31 00:37:39 +08:00
提升sdp解析兼容性
This commit is contained in:
parent
b1c8b24d18
commit
ba71bac475
@ -163,7 +163,7 @@ class Parser {
|
|||||||
for (string &key_val : arg_vec) {
|
for (string &key_val : arg_vec) {
|
||||||
auto key = FindField(key_val.data(), NULL, key_delim);
|
auto key = FindField(key_val.data(), NULL, key_delim);
|
||||||
auto val = FindField(key_val.data(), key_delim, NULL);
|
auto val = FindField(key_val.data(), key_delim, NULL);
|
||||||
ret.emplace_force(key,val);
|
ret.emplace_force(trim(key),trim(val));
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -62,9 +62,6 @@ Track::Ptr Factory::getTrackBySdp(const SdpTrack::Ptr &track) {
|
|||||||
if (strcasecmp(track->_codec.data(), "h264") == 0) {
|
if (strcasecmp(track->_codec.data(), "h264") == 0) {
|
||||||
//a=fmtp:96 packetization-mode=1;profile-level-id=42C01F;sprop-parameter-sets=Z0LAH9oBQBboQAAAAwBAAAAPI8YMqA==,aM48gA==
|
//a=fmtp:96 packetization-mode=1;profile-level-id=42C01F;sprop-parameter-sets=Z0LAH9oBQBboQAAAAwBAAAAPI8YMqA==,aM48gA==
|
||||||
auto map = Parser::parseArgs(FindField(track->_fmtp.data()," ", nullptr),";","=");
|
auto map = Parser::parseArgs(FindField(track->_fmtp.data()," ", nullptr),";","=");
|
||||||
for(auto &pr : map){
|
|
||||||
trim(pr.second);
|
|
||||||
}
|
|
||||||
auto sps_pps = map["sprop-parameter-sets"];
|
auto sps_pps = map["sprop-parameter-sets"];
|
||||||
if(sps_pps.empty()){
|
if(sps_pps.empty()){
|
||||||
return std::make_shared<H264Track>();
|
return std::make_shared<H264Track>();
|
||||||
@ -79,9 +76,6 @@ Track::Ptr Factory::getTrackBySdp(const SdpTrack::Ptr &track) {
|
|||||||
if (strcasecmp(track->_codec.data(), "h265") == 0) {
|
if (strcasecmp(track->_codec.data(), "h265") == 0) {
|
||||||
//a=fmtp:96 sprop-sps=QgEBAWAAAAMAsAAAAwAAAwBdoAKAgC0WNrkky/AIAAADAAgAAAMBlQg=; sprop-pps=RAHA8vA8kAA=
|
//a=fmtp:96 sprop-sps=QgEBAWAAAAMAsAAAAwAAAwBdoAKAgC0WNrkky/AIAAADAAgAAAMBlQg=; sprop-pps=RAHA8vA8kAA=
|
||||||
auto map = Parser::parseArgs(FindField(track->_fmtp.data()," ", nullptr),";","=");
|
auto map = Parser::parseArgs(FindField(track->_fmtp.data()," ", nullptr),";","=");
|
||||||
for(auto &pr : map){
|
|
||||||
trim(pr.second);
|
|
||||||
}
|
|
||||||
auto vps = decodeBase64(map["sprop-vps"]);
|
auto vps = decodeBase64(map["sprop-vps"]);
|
||||||
auto sps = decodeBase64(map["sprop-sps"]);
|
auto sps = decodeBase64(map["sprop-sps"]);
|
||||||
auto pps = decodeBase64(map["sprop-pps"]);
|
auto pps = decodeBase64(map["sprop-pps"]);
|
||||||
|
Loading…
Reference in New Issue
Block a user