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 774227 - rtspsrc: Fails to send EOS if server shuts down stream shortly after connection
rtspsrc: Fails to send EOS if server shuts down stream shortly after connection
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
1.10.0
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-11-10 18:52 UTC by Joel Holdsworth
Modified: 2018-11-03 15:14 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
10-second 10-FPS 240p H.264 Counter Video with GOP=1 (56.48 KB, video/mp4)
2016-11-10 18:52 UTC, Joel Holdsworth
Details

Description Joel Holdsworth 2016-11-10 18:52:23 UTC
Created attachment 339536 [details]
10-second 10-FPS 240p H.264 Counter Video with GOP=1

Steps to reproduce...

0. Get the attached video clip - or (seemingly) any short video clip.

The test video is a Counter Video; 10-seconds of 10FPS in H.264/MP4 with GOP=1 i.e. every frame is an I-frame. (However this problem has been observed with other short videos coded in both H.264 and MJPEG).


1. Set up VLC as an RTSP server. (I'm testing with VLC v2.2.2)

a. Create a vlm.conf file like this:

new counter broadcast enabled loop
setup counter input "file:///path/to/10sec-10fps-240p.mp4"
setup counter output #rtp{sdp=rtsp://:8554/counter}
control counter play

b. Run cvlc:

$ cvlc --vlm-conf /path/to/vlm.conf

The VLC server should be ready to accept connections at 'rtsp://localhost:8554/counter' . Double check this is the case with VLC, mplayer, or whatever video player you prefer.


2. Run gst-launch-1.0

a. With this command...

$ gst-launch-1.0 rtspsrc location="rtsp://localhost:8554/counter" ! decodebin ! videoconvert ! ximagesink

...if the first frame shown has the number <=51, the video will play through to then end, and shut down cleanly. gst-inspect-1.0 will print the message 'Got EOS from element "pipeline0".'

But if the first frame show >= 53, the video will get stuck on the final frame displayed which is 94, sometimes 95 (- for reasons unknown; I would expect 99, but that's not so important to me), and no EOS is ever sent.


b. With this command...

$ gst-launch-1.0 rtspsrc location="rtsp://localhost:8554/counter" ! fakesink

...the behaviour is the same, but with no indication of the frame number.


Looking at Wireshark, CVLC always sends a "Goodbye" message through RTCP. But if the connection is stuck, the rtspsrc never disconnects from RTSP.
Comment 1 sraut 2017-03-12 07:45:05 UTC
Hi Joel,
I am new to Gstreamer and looking for some good newbie bugs to start contributing to.
Please let me know if anybody is working on this bug. If not, will it be
possible for me to work on it. (It will also be great if you can let me know what I
need to learn to understand and tackle the issue.)

Thank you.
Comment 2 GStreamer system administrator 2018-11-03 15:14:12 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/323.