Incorrect RTSP SETUP Command Format in GStreamer 1.22.0
Description:
With GStreamer version 1.22.0, I am encountering an issue when establishing an RTSP connection to an IP camera. The SETUP command in the RTSP handshake is missing essential credentials, preventing the stream from being established. While other commands, such as OPTIONS and DESCRIBE, are formatted correctly, the SETUP command is incomplete compared to previous versions and other RTSP clients like VLC.
This issue was not present in GStreamer version 1.14.
Expected SETUP Command (GStreamer 1.14 and VLC):
SETUP rtsp://192.168.42.10:554/user=admin&password=&channel=1&stream=0.sdp/trackID=3 RTSP/1.0
Actual SETUP Command in GStreamer 1.22.0:
SETUP rtsp://192.168.42.10:554/trackID=3 RTSP/1.0
Environment
- OS: Debian 12
- Device: Raspberry Pi 5
- GStreamer Version: 1.22.0
- Pipeline Used:
gst-launch-1.0 rtspsrc location='rtsp://192.168.42.10:554/user=admin&password=&channel=1&stream=0.sdp'
Steps to Reproduce
- Open a terminal.
- Execute the command:
gst-launch-1.0 rtspsrc location='rtsp://192.168.42.10:554/user=admin&password=&channel=1&stream=0.sdp'
. - Use Wireshark to observe the RTSP SETUP command.
Frequency of Occurrence
The bug occurs consistently and is reproducible every time the above command is executed.
Impact
The malformed SETUP command results in the failure to establish an RTSP stream from the IP camera, which is a critical functionality for applications relying on real-time video feeds.
Additional Information
- The RTSP stream from the IP camera works as expected when accessed using VLC, which suggests that the camera's RTSP server is functioning correctly.
- The issue seems to be specific to the GStreamer version 1.22.0, as earlier versions (e.g., 1.14) do not exhibit this behavior.
- Network traffic analysis via Wireshark confirms the discrepancy in the SETUP command between GStreamer versions.