I am using the rtspsrc plugin to receive a live stream from a camera. The plugin version 1.10.2
The problem I have is that when the pipeline transitions from PLAYING to READY, a TEARDOWN command is
not sent to the camera so it keeps the session alive on the camera.
When I use VLC Player to view the stream from the camera, a TEARDOWN request is sent to the camera and the camera session is shut down.
In Wireshark and I can see the TEARDOWN produced by VLC Player, but rtspsrc only gets as far as sending a PAUSE.
These warnings are produced by GStreamer rtspsrc during the PLAYING to READY transitions.
0:00:34.795084014 12768 03445C58 WARN rtspsrc gstrtspsrc.c:5529:gst_rtspsrc_try_send:<rtspsrc> receive interrupted
0:00:34.795145595 12768 03445C58 WARN rtspsrc gstrtspsrc.c:7586:gst_rtspsrc_pause:<rtspsrc> PAUSE interrupted
0:00:34.809807947 12768 03445C58 WARN rtspsrc gstrtspsrc.c:5682:gst_rtspsrc_send:<rtspsrc> got NOT IMPLEMENTED, disable method TEARDOWN
This link -
http://gstreamer-devel.966125.n4.nabble.com/Plugin-rtspsrc-1-4-1-doesn-t-teardown-media-session-on-server-Why-td4682200.html - seems to suggest that the "bug" was fixed in 1.8.1, however I am testing with 1.10.2
This link -
https://bugzilla.gnome.org/show_bug.cgi?id=739265 - seems to suggest the "bug" was rejected as intended behaviour and was not fixed. Some fix code is supplied but I am currently using the GStreamer binaries so would like to avoid having to build GStreamer myself.
So, has anyone else had this issue and did you find a workaround to force rtspsrc to send a TEARDOWN?Note - I am building a Qt C++ project using the QtGStreamer library to wrap GStreamer.