修改阻塞
This commit is contained in:
parent
d76b6b42ed
commit
318190b9c1
@ -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();
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user