1
This commit is contained in:
parent
b8f0c31455
commit
b215c2a5bb
@ -239,20 +239,20 @@ void RTSPManager::mount_camera(const Camera &cam)
|
|||||||
|
|
||||||
g_main_context_invoke(main_context, [](gpointer data) -> gboolean
|
g_main_context_invoke(main_context, [](gpointer data) -> gboolean
|
||||||
{ return RTSPManager::mount_camera_in_main(data); }, camCopy);
|
{ return RTSPManager::mount_camera_in_main(data); }, camCopy);
|
||||||
|
|
||||||
// === ★ 新增:等待 on_media_unprepared 全部完成 ===
|
|
||||||
std::unique_lock<std::mutex> lk(stop_mutex);
|
|
||||||
stop_cv.wait(lk, [&]
|
|
||||||
{
|
|
||||||
auto it = stopping_count.find(cam.name);
|
|
||||||
return it == stopping_count.end() || it->second == 0; });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RTSPManager::unmount_camera(const Camera &cam)
|
void RTSPManager::unmount_camera(const Camera &cam)
|
||||||
{
|
{
|
||||||
Camera *camCopy = new Camera(cam);
|
Camera *camCopy = new Camera(cam);
|
||||||
|
|
||||||
g_main_context_invoke(main_context, [](gpointer data) -> gboolean
|
g_main_context_invoke(main_context, [](gpointer data) -> gboolean
|
||||||
{ return RTSPManager::unmount_camera_in_main(data); }, camCopy);
|
{ return RTSPManager::unmount_camera_in_main(data); }, camCopy);
|
||||||
|
|
||||||
|
std::unique_lock<std::mutex> lk(stop_mutex);
|
||||||
|
stop_cv.wait(lk, [&]
|
||||||
|
{
|
||||||
|
auto it = stopping_count.find(cam.name);
|
||||||
|
return it == stopping_count.end() || it->second == 0; });
|
||||||
}
|
}
|
||||||
|
|
||||||
// 是否正在流
|
// 是否正在流
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user