diff --git a/server/VideoStack.cpp b/server/VideoStack.cpp index 407a1362..cf50da27 100644 --- a/server/VideoStack.cpp +++ b/server/VideoStack.cpp @@ -1,3 +1,4 @@ +#if defined(ENABLE_X264) && defined(ENABLE_FFMPEG) #include "VideoStack.h" #include "Codec/Transcode.h" #include "Common/Device.h" @@ -168,7 +169,7 @@ void StackPlayer::play() if (videoTrack) { //TODO:添加使用显卡还是cpu解码的判断逻辑 //auto decoder = std::make_shared(videoTrack, 1, std::vector{ "hevc_cuvid", "h264_cuvid"}); - auto decoder = std::make_shared(videoTrack, 0, std::vector{ "h264", "hevc" }); + auto decoder = std::make_shared(videoTrack, 0, std::vector { "h264", "hevc" }); decoder->setOnDecode([weakSelf](const mediakit::FFmpegFrame::Ptr& frame) mutable { auto self = weakSelf.lock(); @@ -231,14 +232,15 @@ void StackPlayer::rePlay(const std::string& url) _failedCount++; auto delay = MAX(2 * 1000, MIN(_failedCount * 3 * 1000, 60 * 1000)); //步进延迟 重试间隔 std::weak_ptr weakSelf = shared_from_this(); - _timer = std::make_shared(delay / 1000.0f, [weakSelf, url]() { - auto self = weakSelf.lock(); - if (!self) { - } - WarnL << "replay [" << self->_failedCount << "]:" << url; - self->_player->play(url); - return false; - }, + _timer = std::make_shared( + delay / 1000.0f, [weakSelf, url]() { + auto self = weakSelf.lock(); + if (!self) { + } + WarnL << "replay [" << self->_failedCount << "]:" << url; + self->_player->play(url); + return false; + }, nullptr); } @@ -259,7 +261,7 @@ VideoStack::VideoStack(const std::string& id, int width, int height, AVPixelForm av_frame_get_buffer(_buffer->get(), 32); - _dev = std::make_shared(mediakit::MediaTuple{ DEFAULT_VHOST, "live", _id }); + _dev = std::make_shared(mediakit::MediaTuple { DEFAULT_VHOST, "live", _id }); mediakit::VideoInfo info; info.codecId = mediakit::CodecH264; @@ -585,3 +587,4 @@ StackPlayer::Ptr VideoStackManager::createPlayer(const std::string& id) return player; } +#endif \ No newline at end of file diff --git a/server/VideoStack.h b/server/VideoStack.h index 873ba9f7..0be70fc9 100644 --- a/server/VideoStack.h +++ b/server/VideoStack.h @@ -1,4 +1,5 @@ #pragma once +#if defined(ENABLE_X264) && defined(ENABLE_FFMPEG) #include "Codec/Transcode.h" #include "Common/Device.h" #include "Player/MediaPlayer.h" @@ -39,7 +40,7 @@ struct Param { int width = 0; int height = 0; AVPixelFormat pixfmt = AV_PIX_FMT_YUV420P; - std::string id{}; + std::string id {}; // runtime std::weak_ptr weak_chn; @@ -203,3 +204,4 @@ class VideoStackManager { std::unordered_map::Ptr> _playerMap; }; +#endif \ No newline at end of file