RTSP Client does not disconnect when RTSPMediaFactory is removed (no EOS sent).
Hello,
First, let me try to describe what I am trying to achieve. I have an GstRTSPServer running, that provides several streams, each one with its own mount point. For that I create a RTSPMediaFactory with its own pipeline and add it with the .add_factory method. So far so good.
Now, the problem is that sometimes, the characteristics of that stream change. To handle that I .remove_factory() and .add_factory() on the same mount point, this time with a slightly different pipeline (basically, I want to optionally add audio to the stream, and toggle between the two pipelines when settings change).
The problem is, since the both steps (remove and add factory) happen in sequence, the client never detects that the stream was stopped. I sense this is because when the RTSPMediaFactory is removed, no BYE signal is sent to the client, so it just recovers after some brief moments.
I tried .set_eos_shutdown(True) but didn't notice any change.
I've looked into this old issue #8 and it seems to be related to my problem, but could not find a solution.
Is this by design? A bug? Or am I doing this the wrong way?
Thanks in advance.
FYI, the client I'm using is VLC. The server was written in Python and Gstreamer version is 1.18.4