Now this commandline has problem. When internet connection fails for a second, rtspclientsink tears down everything - also writing to files. I want that when internet fails, audio+video is still being captured into files. Currently I have different commandline without rtspclientsink branches that I use when there is no internet.
I am trying to rewrite this in C, but so that I intercept rtspclientsink having no connection and dynamically unpluging RTSP branches of the pipeline.
Something like this is correct way to do it?
* wait on bus for error message from rtspclientsink
* when error comes, set all elements from q1 and q3 to rtspclientsink to NULL
* also remove those elements from bin
* wait 10s to retry connection
* dynamically add all elements that were removed
* set set their status to PLAYING
I have tried something like this. I get no errors, but no luck getting stream going.
Also, I know there is an example for dynamically pluging things, but that did not help me so much to get my thing running.