Commit d879c590 by xiongziliang

延迟清空状态

parent c445ad2c
......@@ -133,7 +133,7 @@ void RtmpPlayer::onPlayResult_l(const SockException &ex, bool handshake_done) {
//创建rtmp数据接收超时检测定时器
_rtmp_recv_timer = std::make_shared<Timer>(timeout_ms / 2000.0, lam, getPoller());
} else {
teardown();
shutdown(SockException(Err_shutdown,"teardown"));
}
}
......
......@@ -65,7 +65,7 @@ void RtmpPusher::onPublishResult(const SockException &ex, bool handshake_done) {
}
if (ex) {
teardown();
shutdown(SockException(Err_shutdown,"teardown"));
}
}
......
......@@ -26,12 +26,17 @@ RtspPusher::~RtspPusher() {
DebugL << endl;
}
void RtspPusher::teardown() {
void RtspPusher::sendTeardown(){
if (alive()) {
sendRtspRequest("TEARDOWN", _content_base);
if (!_content_base.empty()) {
sendRtspRequest("TEARDOWN", _content_base);
}
shutdown(SockException(Err_shutdown, "teardown"));
}
}
void RtspPusher::teardown() {
sendTeardown();
reset();
CLEAR_ARR(_udp_socks);
_nonce.clear();
......@@ -107,7 +112,7 @@ void RtspPusher::onPublishResult(const SockException &ex, bool handshake_done) {
}
if (ex) {
teardown();
sendTeardown();
}
}
......
......@@ -60,6 +60,7 @@ private:
void sendSetup(unsigned int track_idx);
void sendRecord();
void sendOptions();
void sendTeardown();
void handleResAnnounce(const Parser &parser);
void handleResSetup(const Parser &parser, unsigned int track_idx);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论