temp
This commit is contained in:
parent
90ab6e660a
commit
acd63a7901
@ -256,3 +256,34 @@ void RTMPManager::stream_loop(Camera cam, StreamType type, StreamContext *ctx)
|
|||||||
|
|
||||||
LOG_INFO("[RTMP] Stream loop ended for " + key);
|
LOG_INFO("[RTMP] Stream loop ended for " + key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool RTMPManager::is_streaming(const std::string &cam_name, StreamType type)
|
||||||
|
{
|
||||||
|
std::lock_guard<std::mutex> lock(streams_mutex);
|
||||||
|
auto it = streams.find(make_stream_key(cam_name, type));
|
||||||
|
return it != streams.end() && it->second->running.load();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool RTMPManager::is_any_streaming()
|
||||||
|
{
|
||||||
|
std::lock_guard<std::mutex> lock(streams_mutex);
|
||||||
|
for (auto &kv : streams)
|
||||||
|
if (kv.second->running.load()) return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void RTMPManager::stop_all()
|
||||||
|
{
|
||||||
|
std::vector<std::unique_ptr<StreamContext>> ctxs;
|
||||||
|
{
|
||||||
|
std::lock_guard<std::mutex> lock(streams_mutex);
|
||||||
|
for (auto &kv : streams) kv.second->running.store(false);
|
||||||
|
for (auto &kv : streams) ctxs.push_back(std::move(kv.second));
|
||||||
|
streams.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
for (auto &ctx : ctxs)
|
||||||
|
if (ctx->thread.joinable()) ctx->thread.join();
|
||||||
|
|
||||||
|
LOG_INFO("[RTMP] stop_all completed.");
|
||||||
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user