diff --git a/src/rtsp_manager.cpp b/src/rtsp_manager.cpp index 36f00a3..213a0f0 100644 --- a/src/rtsp_manager.cpp +++ b/src/rtsp_manager.cpp @@ -192,17 +192,16 @@ gboolean RTSPManager::unmount_camera_in_main(gpointer data) { for (GstRTSPMedia *media : it->second) { - // ① 强制 EOS:VL C等客户端会自动断开 GstElement *pipeline = gst_rtsp_media_get_element(media); if (pipeline) { - GstEvent *eos = gst_event_new_eos(); - gst_element_send_event(pipeline, eos); + gst_element_set_state(pipeline, GST_STATE_NULL); gst_object_unref(pipeline); } gst_rtsp_media_unprepare(media); } + it->second.clear(); media_map.erase(it); }