live555 exception - select() fails: Bad file descriptor, socket numbers used in the select() call: 0(r)...
Posted: 01 Feb 2022 07:56
Hi,
I am developing a QWidget that wraps VLC (3.0.16), using libvlc media player API functions to set the RTSP URL, play, pause etc.
The code compiles and I can use multiple instances of the widget in my Qt based program (WinCC OA), and I can successully play, pause and stop RTSP streams from an external media server.
However, on occasion, a fatal exception is reached in the live555 library where VLC seemingly has allocated socket 0 (reserved for stdin) to the RTSP session for some reason.
The interesting parts of the logs from WinCC OA below. I can post more -vvv logs captured on request but there is a char limit.
From starting two instances at once:
At least one of the sockets don't match and socket 0 is in the list of used sockets too.
From starting a single instance (no Bad file descriptor, just crashed after socket 0 was used):
All help appreciated!
I am developing a QWidget that wraps VLC (3.0.16), using libvlc media player API functions to set the RTSP URL, play, pause etc.
The code compiles and I can use multiple instances of the widget in my Qt based program (WinCC OA), and I can successully play, pause and stop RTSP streams from an external media server.
However, on occasion, a fatal exception is reached in the live555 library where VLC seemingly has allocated socket 0 (reserved for stdin) to the RTSP session for some reason.
The interesting parts of the logs from WinCC OA below. I can post more -vvv logs captured on request but there is a char limit.
From starting two instances at once:
Odd that the socket numbers don't match (106 does but live555 gets 109 instead of 105), and this is always the case when this occurs.Created new TCP socket 105 for connection
Created new TCP socket 106 for connection
BasicTaskScheduler::SingleStep(): select() fails: Bad file descriptor
socket numbers used in the select() call: 0(r) 106(re) 109(r)
At least one of the sockets don't match and socket 0 is in the list of used sockets too.
From starting a single instance (no Bad file descriptor, just crashed after socket 0 was used):
Any ideas why socket 0 gets allocated?WCCOAui110:Created new TCP socket 0 for connection
WCCOAui110:[00007f73b00014c0] live555 demux error: Failed to connect with rtsp://<scrubbed_host>/live
WCCOAui110:[00007f73b00028f0] satip stream error: Failed to play RTSP session
WCCOAui110:[0000000008cd7590] main input error: Your input can't be opened
WCCOAui110:[0000000008cd7590] main input error: VLC is unable to open the MRL 'rtsp://<scrubbed_host>/live'. Check the log for details.
All help appreciated!