[gstreamer-bugs] [Bug 612264] New: Notification needed when the first buffer is pushed by the basertppayloader

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Mar 9 00:04:32 PST 2010


https://bugzilla.gnome.org/show_bug.cgi?id=612264
  GStreamer | gst-plugins-base | 0.10.26

           Summary: Notification needed when the first buffer is pushed by
                    the basertppayloader
    Classification: Desktop
           Product: GStreamer
           Version: 0.10.26
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: per.smitt at gmail.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
      GNOME target: ---
     GNOME version: ---


Created an attachment (id=155624)
 View: https://bugzilla.gnome.org/attachment.cgi?id=155624
 Review: https://bugzilla.gnome.org/review?bug=612264&attachment=155624

First solution suggestion

When sending the RTSP play response a rtptime (holding the rtp timestamp of a
buffer) is included. In the case of a live source there is no preroll and
therefore no buffer has been pushed when the pipeline has entered PAUSE state.

In the case that the source does not timestamp from zero but rather directly
from the clock, it is impossible to predict what the rtp timestamp will be
until the first buffer has been prepared in the payloader. The clockbase works
if the source timestamps from zero, but that is not always the case.

To wait until the pipeline has been set to playing is not a good idea either
since you cannot be certain that you read the timestamp and seqnum after the
first packet. If the GOV length in h264 is really long a missed I-frame hurts,
and thus it is important that we get the rtptimestamp for the first buffer
holding the I-frame.

Blocking the pads will not work either since these will block on the NewSegment
event and no buffer will ever be sent.

The solutions suggestion is to set a flag every time the element enters PLAYING
state and when a buffer is prepared send notify on the timestamp and seqnum
properties, as well as clearing the flag of course.

-- 
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