避免服务器端返回content-length=0时,TsPlayer不能正确释放的问题

This commit is contained in:
Alex
2023-04-28 01:33:17 +08:00
parent 64553797bd
commit b3d4188fde
2 changed files with 10 additions and 5 deletions

View File

@@ -34,7 +34,12 @@ void TsPlayer::teardown() {
void TsPlayer::onResponseCompleted(const SockException &ex) {
if (!_play_result) {
_play_result = true;
onPlayResult(ex);
if (!ex && responseBodyTotalSize() == 0 && responseBodySize() == 0) {
//if the server does not return any data, it is considered a failure
onShutdown(ex);
} else {
onPlayResult(ex);
}
} else {
onShutdown(ex);
}
@@ -44,7 +49,7 @@ void TsPlayer::onResponseCompleted(const SockException &ex) {
void TsPlayer::onResponseBody(const char *buf, size_t size) {
if (!_play_result) {
_play_result = true;
onPlayResult(SockException(Err_success, "play http-ts success"));
onPlayResult(SockException(Err_success, "read http-ts stream successfully"));
}
if (!_benchmark_mode) {
HttpTSPlayer::onResponseBody(buf, size);