修改阻塞

This commit is contained in:
cxh 2025-11-20 08:47:51 +08:00
parent d76b6b42ed
commit 318190b9c1
2 changed files with 4 additions and 3 deletions

View File

@ -35,7 +35,7 @@ void MQTTClient::connect()
auto connOpts = mqtt::connect_options_builder() auto connOpts = mqtt::connect_options_builder()
.clean_session(config_.clean_session) .clean_session(config_.clean_session)
.automatic_reconnect(true) .automatic_reconnect(true)
.keep_alive_interval(std::chrono::seconds(config_.keep_alive)) .keep_alive_interval(std::chrono::seconds(30))
.user_name(config_.username) .user_name(config_.username)
.password(config_.password) .password(config_.password)
.finalize(); .finalize();

View File

@ -59,6 +59,8 @@ GstRTSPMediaFactory *RTSPManager::create_media_factory(const Camera &cam)
gst_rtsp_media_factory_set_launch(factory, launch_str.c_str()); gst_rtsp_media_factory_set_launch(factory, launch_str.c_str());
gst_rtsp_media_factory_set_shared(factory, TRUE); gst_rtsp_media_factory_set_shared(factory, TRUE);
gst_rtsp_media_factory_set_suspend_mode(factory, GST_RTSP_MEDIA_SUSPEND_MODE_RESET);
// 使用 media-configure 信号代替 media-created // 使用 media-configure 信号代替 media-created
g_signal_connect_data(factory, "media-configure", G_CALLBACK(on_media_created), g_signal_connect_data(factory, "media-configure", G_CALLBACK(on_media_created),
g_strdup(cam.name.c_str()), (GClosureNotify)g_free, static_cast<GConnectFlags>(0)); g_strdup(cam.name.c_str()), (GClosureNotify)g_free, static_cast<GConnectFlags>(0));
@ -190,8 +192,7 @@ gboolean RTSPManager::unmount_camera_in_main(gpointer data)
{ {
for (GstRTSPMedia *media : it->second) for (GstRTSPMedia *media : it->second)
{ {
gst_element_set_state(gst_rtsp_media_get_element(media), GST_STATE_NULL); gst_rtsp_media_unprepare(media);
// g_object_unref(media);
} }
it->second.clear(); it->second.clear();
media_map.erase(it); media_map.erase(it);