[Bug 764103] New: Fail to vaapidecode mpegts streams starting between keyframes

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Mar 23 19:19:06 UTC 2016


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

            Bug ID: 764103
           Summary: Fail to vaapidecode mpegts streams starting between
                    keyframes
    Classification: Platform
           Product: GStreamer
           Version: 1.7.91
                OS: Linux
            Status: NEW
          Severity: critical
          Priority: Normal
         Component: gstreamer-vaapi
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: tanner.bragg at l-3com.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
                CC: bsreerenj at gmail.com, vjaquez at igalia.com
     GNOME version: ---

Hi,

vaapidecode element has been unable to decode previously chunked ts files from
filesrc and udpsrc.  It appears the vaapidecode element doesn't deal with the
garbage before a keyframe and bails.

Using the following pipeline I am unable to play a udpsrc mpegts stream and
receive no valid frames before end of stream from the vaapidecode element.

gst-launch-1.0 -v udpsrc uri=(makeoneupmulticast) ! tsparse ! video/x-h264 !
h264parse ! vaapidecode ! vaapisink

However, if I modify the pipeline to use avdec_h264 and x264enc to feed into
the vaapidecode element, then it is able to play the stream.

gst-launch-1.0 -v udpsrc uri=(makeoneupmulticast) ! tsparse ! video/x-h264 !
h264parse ! avdec_h264 ! x264enc ! vaapidecode ! vaapisink


To test the above, produce a test ts file and confirm you can play it with
vaapidecode ! vaapisink.  Next, use a multifilesink to chunk it into several
pieces.  Play the first chunk using a single filesrc (it should play).  But
then try playing one of the middle chunks.  This should reproduce the error. 
If you chunk on keyframes, then you are less likely to experience the error so
I suggest chunking on buffersize.

(I am unable to add attachments due to company policy)

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