[Bug 711257] New: Streaming does not always start with a key-frame

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Nov 1 13:52:55 CET 2013


https://bugzilla.gnome.org/show_bug.cgi?id=711257
  GStreamer | gst-rtsp-server | git

           Summary: Streaming does not always start with a key-frame
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-rtsp-server
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: ognyan.tonchev at axis.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


As pipelines driven by live sources are set to state PLAYING after DESCRIBE,
streaming is not guaranteed to start with a key-frame.
The stream will basically start with an arbitrary frame when the transports are
configured in PLAY.

Any ideas how to fix that problem in a generic way would be greatly appreciated
:)

How about tweaking gst_rtsp_media_set_state() to support GST_STATE_READY and
set media/pipeline to state READY from handle_describe() after generating the
SDP:

handle_describe() {
  ...
  media = find_media(); /* creates and prepares the media, pipeline is set to
PLAYING if source is live */
  sdp = create_sdp();
  rtsp_media_set_state (media, GST_STATE_READY);
  ...
}

This will require corresponding changes to handle_play() in order to be able to
create the RTP-Info header.
gst_rtsp_session_media_set_state (sessmedia, GST_STATE_PLAYING) will be called
right before quering payloaders for sequence numbers and rtp times. For that we
would also need to wait until all payloaders produce one buffer and possibly
block pads so that PLAY response is sent before any RTP data.

Please advise if this approach makes sense?

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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