diff --git a/server/FFmpegSource.cpp b/server/FFmpegSource.cpp index 6f5d975c..df6083bb 100644 --- a/server/FFmpegSource.cpp +++ b/server/FFmpegSource.cpp @@ -341,10 +341,14 @@ void FFmpegSource::onGetMediaSource(const MediaSource::Ptr &src) { setDelegate(listener); muxer->setDelegate(shared_from_this()); if (_enable_hls) { - src->setupRecord(Recorder::type_hls, true, "", 0); + src->getOwnerPoller()->async([=]() mutable { + src->setupRecord(Recorder::type_hls, true, "", 0); + }); } if (_enable_mp4) { - src->setupRecord(Recorder::type_mp4, true, "", 0); + src->getOwnerPoller()->async([=]() mutable { + src->setupRecord(Recorder::type_mp4, true, "", 0); + }); } } }