Commit 0b2e5542 by alexliyu7352 Committed by GitHub

HLS: 加速track就绪速度 (#1286)

* 加速track的准备速度

* 重命名为isAllTrackReady

* 无须缓冲帧时,暂不用转换为可缓存帧

Co-authored-by: 夏楚 <771730766@qq.com>
parent f27893ff
......@@ -107,7 +107,14 @@ public:
* @param trackReady 是否获取已经准备好的Track
*/
vector<Track::Ptr> getTracks(bool trackReady = true) const override;
/**
* 返回是否所有track已经准备完成
*/
bool isAllTrackReady() const {
return _all_track_ready;
}
/**
* 添加aac静音轨道
*/
......
......@@ -316,6 +316,12 @@ void HlsDemuxer::start(const EventPoller::Ptr &poller, TrackListener *listener)
}
bool HlsDemuxer::inputFrame(const Frame::Ptr &frame) {
//为了避免track准备时间过长, 因此在没准备好之前, 直接消费掉所有的帧
if (!_delegate.isAllTrackReady()) {
_delegate.inputFrame(frame);
return true;
}
//计算相对时间戳
int64_t dts, pts;
_stamp[frame->getTrackType()].revise(frame->dts(), frame->pts(), dts, pts);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论