[Bug 774227] New: rtspsrc: Fails to send EOS if server shuts down stream shortly after connection

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Nov 10 18:52:23 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=774227

            Bug ID: 774227
           Summary: rtspsrc: Fails to send EOS if server shuts down stream
                    shortly after connection
    Classification: Platform
           Product: GStreamer
           Version: 1.10.0
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-good
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: joel at airwebreathe.org.uk
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Created attachment 339536
  --> https://bugzilla.gnome.org/attachment.cgi?id=339536&action=edit
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.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list