Player: 添加kWaitTrackReady选项决定播放器是否等待所有track ready再回调

This commit is contained in:
ziyue
2021-11-10 13:56:04 +08:00
parent e38f2253ff
commit b7e187d7af
5 changed files with 14 additions and 6 deletions

View File

@@ -79,7 +79,7 @@ private:
}
void onPlayResult(const SockException &ex) override {
if (ex) {
if (!(*this)[Client::kWaitTrackReady].as<bool>() || ex) {
Super::onPlayResult(ex);
return;
}
@@ -88,7 +88,9 @@ private:
bool addTrack(const Track::Ptr &track) override { return true; }
void addTrackCompleted() override {
Super::onPlayResult(SockException(Err_success, "play success"));
if ((*this)[Client::kWaitTrackReady].as<bool>()) {
Super::onPlayResult(SockException(Err_success, "play success"));
}
}
private:
@@ -98,7 +100,7 @@ private:
_rtmp_src->setMetaData(val);
}
_demuxer = std::make_shared<RtmpDemuxer>();
_demuxer->setTrackListener(this, true);
_demuxer->setTrackListener(this, (*this)[Client::kWaitTrackReady].as<bool>());
_demuxer->loadMetaData(val);
}