RTSP server and Client close stream at the same time

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

RTSP server and Client close stream at the same time

Tran Tu
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.