mirror of
https://github.com/ossrs/srs.git
synced 2025-02-13 11:51:57 +00:00
SRT: Add todo for coroutine yield.
This commit is contained in:
parent
8437370c1e
commit
d2149a8b79
1 changed files with 7 additions and 5 deletions
|
@ -412,7 +412,6 @@ srs_error_t SrsMpegtsSrtConn::do_playing()
|
||||||
if ((err = srt_source_->create_consumer(consumer)) != srs_success) {
|
if ((err = srt_source_->create_consumer(consumer)) != srs_success) {
|
||||||
return srs_error_wrap(err, "create consumer, ts source=%s", req_->get_stream_url().c_str());
|
return srs_error_wrap(err, "create consumer, ts source=%s", req_->get_stream_url().c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
srs_assert(consumer);
|
srs_assert(consumer);
|
||||||
|
|
||||||
// TODO: FIXME: Dumps the SPS/PPS from gop cache, without other frames.
|
// TODO: FIXME: Dumps the SPS/PPS from gop cache, without other frames.
|
||||||
|
@ -439,8 +438,6 @@ srs_error_t SrsMpegtsSrtConn::do_playing()
|
||||||
return srs_error_wrap(err, "srt play recv thread");
|
return srs_error_wrap(err, "srt play recv thread");
|
||||||
}
|
}
|
||||||
|
|
||||||
pprint->elapse();
|
|
||||||
|
|
||||||
// Wait for amount of packets.
|
// Wait for amount of packets.
|
||||||
SrsSrtPacket* pkt = NULL;
|
SrsSrtPacket* pkt = NULL;
|
||||||
SrsAutoFree(SrsSrtPacket, pkt);
|
SrsAutoFree(SrsSrtPacket, pkt);
|
||||||
|
@ -451,7 +448,10 @@ srs_error_t SrsMpegtsSrtConn::do_playing()
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
++nb_packets;
|
||||||
|
|
||||||
// reportable
|
// reportable
|
||||||
|
pprint->elapse();
|
||||||
if (pprint->can_print()) {
|
if (pprint->can_print()) {
|
||||||
SrsSrtStat s;
|
SrsSrtStat s;
|
||||||
if ((err = s.fetch(srt_fd_, true)) != srs_success) {
|
if ((err = s.fetch(srt_fd_, true)) != srs_success) {
|
||||||
|
@ -468,13 +468,15 @@ srs_error_t SrsMpegtsSrtConn::do_playing()
|
||||||
kbps_->get_recv_kbps(), kbps_->get_recv_kbps_30s(), kbps_->get_recv_kbps_5m());
|
kbps_->get_recv_kbps(), kbps_->get_recv_kbps_30s(), kbps_->get_recv_kbps_5m());
|
||||||
nb_packets = 0;
|
nb_packets = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
++nb_packets;
|
|
||||||
|
|
||||||
ssize_t nb_write = 0;
|
ssize_t nb_write = 0;
|
||||||
if ((err = srt_conn_->write(pkt->data(), pkt->size(), &nb_write)) != srs_success) {
|
if ((err = srt_conn_->write(pkt->data(), pkt->size(), &nb_write)) != srs_success) {
|
||||||
return srs_error_wrap(err, "srt send, size=%d", pkt->size());
|
return srs_error_wrap(err, "srt send, size=%d", pkt->size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Yield to another coroutines.
|
||||||
|
// @see https://github.com/ossrs/srs/issues/2194#issuecomment-777542162
|
||||||
|
// TODO: FIXME: Please check whether SRT sendmsg causing clock deviation, see srs_thread_yield of SrsUdpMuxSocket::sendto
|
||||||
}
|
}
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
|
|
Loading…
Reference in a new issue