mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2026-06-30 06:42:22 +08:00
rtp级联(ps/ts/es)新增支持gop缓存功能 (#2395)
该修改主要解决rtp级联(调用startSendRtp接口)未做gop缓存导致上级无法秒开的问题。 同时通过RingBuffer对象线程隔离的特性,实现了在断连续推场景下归属线程切换导致的线程安全问题。 用户如未使用rtp级联功能,请修改配置文件关闭GOP缓存(rtp_proxy.gop_cache=0)以便节省内存。 --------- Co-authored-by: 夏楚 <771730766@qq.com>
This commit is contained in:
@@ -63,6 +63,7 @@ bool MediaSink::addTrack(const Track::Ptr &track_in) {
|
||||
|
||||
void MediaSink::resetTracks() {
|
||||
_all_track_ready = false;
|
||||
_have_video = false;
|
||||
_track_map.clear();
|
||||
_track_ready_callback.clear();
|
||||
_ticker.resetTime();
|
||||
@@ -186,6 +187,7 @@ void MediaSink::onAllTrackReady_l() {
|
||||
}
|
||||
onAllTrackReady();
|
||||
_all_track_ready = true;
|
||||
_have_video = (bool)getTrack(TrackVideo);
|
||||
}
|
||||
|
||||
vector<Track::Ptr> MediaSink::getTracks(bool ready) const{
|
||||
@@ -292,6 +294,10 @@ void MediaSink::enableMuteAudio(bool flag) {
|
||||
_add_mute_audio = flag;
|
||||
}
|
||||
|
||||
bool MediaSink::haveVideo() const {
|
||||
return _have_video;
|
||||
}
|
||||
|
||||
///////////////////////////DemuxerSink//////////////////////////////
|
||||
|
||||
void MediaSinkDelegate::setTrackListener(TrackListener *listener) {
|
||||
|
||||
Reference in New Issue
Block a user