当url并不是m3u8文件时, 避免拉取hls流出错 (#1341)

This commit is contained in:
alexliyu7352 2022-01-05 20:01:19 +08:00 committed by GitHub
parent 2fbb40135c
commit 3a0857ea31
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -169,6 +169,13 @@ ssize_t HlsPlayer::onResponseHeader(const string &status, const HttpClient::Http
}
auto content_type = const_cast< HttpClient::HttpHeader &>(headers)["Content-Type"];
_is_m3u8 = (content_type.find("application/vnd.apple.mpegurl") == 0);
if(!_is_m3u8) {
auto it = headers.find("Content-Length");
//如果没有长度或者长度小于等于0, 那么肯定不是m3u8
if (it == headers.end() || atoll(it->second.data()) <=0) {
teardown_l(SockException(Err_shutdown, "可能不是m3u8文件"));
}
}
return -1;
}