diff --git a/services/engine/histreamer/player/hiplayer_impl.cpp b/services/engine/histreamer/player/hiplayer_impl.cpp index 042d16337fcc65cc393eb24eacd9fe7dfc4f753c..567e9451719dfe541024c947869ccb0dc2dfb883 100755 --- a/services/engine/histreamer/player/hiplayer_impl.cpp +++ b/services/engine/histreamer/player/hiplayer_impl.cpp @@ -1425,10 +1425,10 @@ Status HiPlayerImpl::DoSetSource(const std::shared_ptr source) playStrategy->preferHDR = preferHDR_; source->SetPlayStrategy(playStrategy); - demuxer_->SetDumpFlag(isDump_); auto ret = demuxer_->SetDataSource(source); if (demuxer_ != nullptr) { demuxer_->SetCallerInfo(instanceId_, bundleName_); + demuxer_->SetDumpFlag(isDump_); } if (ret == Status::OK && !MetaUtils::CheckFileType(demuxer_->GetGlobalMetaInfo())) { MEDIA_LOGW("0x%{public}06 " PRIXPTR "SetSource unsupport", FAKE_POINTER(this)); @@ -1777,10 +1777,16 @@ Status HiPlayerImpl::OnCallback(std::shared_ptr filter, const FilterCall void HiPlayerImpl::OnDumpInfo(int32_t fd) { MEDIA_LOGD("HiPlayerImpl::OnDumpInfo called."); - audioDecoder_->OnDumpInfo(fd); - demuxer_->OnDumpInfo(fd); + if (audioDecoder_ != nullptr) { + audioDecoder_->OnDumpInfo(fd); + } + if (demuxer_ != nullptr) { + demuxer_->OnDumpInfo(fd); + } #ifdef SUPPORT_VIDEO - videoDecoder_->OnDumpInfo(fd); + if (videoDecoder_ != nullptr) { + videoDecoder_->OnDumpInfo(fd); + } #endif } @@ -1794,8 +1800,8 @@ Status HiPlayerImpl::LinkAudioDecoderFilter(const std::shared_ptr& preFi FALSE_RETURN_V(audioDecoder_ != nullptr, Status::ERROR_NULL_POINTER); audioDecoder_->Init(playerEventReceiver_, playerFilterCallback_); - audioDecoder_->SetDumpFlag(isDump_); audioDecoder_->SetCallerInfo(instanceId_, bundleName_); + audioDecoder_->SetDumpFlag(isDump_); // set decrypt config for drm audios if (isDrmProtected_) { MEDIA_LOGD("HiPlayerImpl::LinkAudioDecoderFilter will SetDecryptConfig");