[Bug 696300] New: H264 video is playing too fast because of invalid PTS:

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Mar 21 08:45:41 PDT 2013


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

           Summary: H264 video is playing too fast because of invalid PTS:
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: bsreerenj at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


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

videodecoder: adjust the PTS calculation for decoded frame.

When playing some raw h264 samples, the decoder is getting invalid PTS from
upstream elements and the subclass decoder is also failing to calculate the PTS
for the buffers. As a result the stream is playing too fast with out sync.

Another way to reproduce the issue: converting byte-stream to avc with h264
parse.

sample: http://samples.mplayerhq.hu/V-codecs/h264/x264.avi

pipeline: 

gst-launch-1.0 -v filesrc location=x264.avi ! avidemux ! h264parse !
"video/x-h264, stream-format=(string)avc, alignment=(string)au" !  avdec_h264 !
 xvimagesink


Attaching a patch which is to adjust the PTS if it is invalid:
If the decoder didn't get a valid PTS from upstream or from the
subclass before pushing the the decoded buffer downstream,
then assume the DTS as PTS for decoded buffer. 

Of course this adjusted_PTS is not right for all frames.But at least it will
make the stream playable..

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