|
Hi,
I got the issue when trying to close stream from RTSP server side.
My method is clean up everything of RTSP server by using:
g_source_remove(id);
gst_rtsp_mount_points_remove_factory();
gst_rtsp_session_pool_cleanup(Pool); -> to clear inactive session
and
gst_rtsp_session_pool_filter(Pool, (GstRTSPSessionPoolFilterFunc)RemoveFunc, Server);
RemoveFunc() willl return GST_RTSP_FILTER_REMOVE to remove all active sessions
This action will behave as a TEARDOWN request from client side (similar with when I stop a VLC client)
Because server and client are two separate objects, so I got the trouble when freeing the resoucre of server happen at the same time client close connection.
It make the hang due to some re-freeing resource.
Is there any ways to protect the freeing process? From only client or server only at the same time.
Due to mutex is used in rtsp-media.c but I think it is not affect in this case.
|