GNOME Bugzilla – Bug 764103
Fail to vaapidecode mpegts streams starting between keyframes
Last modified: 2018-11-03 15:47:28 UTC
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)
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/36.