After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 747818 - gst-rtsp-server blocks while connect to rtsp
gst-rtsp-server blocks while connect to rtsp
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gst-rtsp-server
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-04-14 05:14 UTC by aborilov
Modified: 2015-06-19 12:29 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
log from simple test (9.32 KB, text/plain)
2015-04-14 05:14 UTC, aborilov
Details
screenshot of gst-debug-viewer (397.48 KB, image/png)
2015-06-19 09:27 UTC, aborilov
Details

Description aborilov 2015-04-14 05:14:34 UTC
Created attachment 301505 [details]
log from simple test

I have two cameras, one of them not work very well sometimes, but when gst-rtst-server try to connect to bad camera, it can't connect to good camera too. Only when gst-rtsp-server drop connection by timeout to bad camera, it connects to good one. It looks like gst-rtsp-server blocks somewhere.

Simple test:
from gi.repository import Gst, GObject, GstRtspServer
Gst.init(None)
rtsp_server = GstRtspServer.RTSPServer()
rtsp_server.attach(None)
factory = GstRtspServer.RTSPMediaFactoryURI()
factory.set_uri('rtsp://good_camera_url')
rtsp_server.get_mount_points().add_factory('/good', factory)
factory = GstRtspServer.RTSPMediaFactoryURI()
factory.set_uri('rtsp://bad_camera_url')
rtsp_server.get_mount_points().add_factory('/bad', factory)
GObject.MainLoop().run()

From log clearly see that after client to bad camera attached to context and enter mainloop, client to good camera connected, but stack on attaching it to context. And only after bad client exit mainloop, client to good camera start to work.
Comment 1 aborilov 2015-06-19 09:25:53 UTC
Tried this with test-uri.c example from gst-rtsp-server, have the same result.
Even if set wrong IP for second stream, rtspsrc wait for 3 sec timeout, and while it wait, no one can connect to an other cameras.
Is it right behavior?
Comment 2 aborilov 2015-06-19 09:27:04 UTC
Created attachment 305656 [details]
screenshot of gst-debug-viewer
Comment 3 aborilov 2015-06-19 12:29:08 UTC
just need to set 
gst_rtsp_thread_pool_set_max_threads to more then one.