GNOME Bugzilla – Bug 789835
vaapi: intel driver issues with old chipsets
Last modified: 2018-11-03 15:52:01 UTC
Previously filed a bug @ https://bugs.kde.org/show_bug.cgi?id=386284 After update to Kubuntu 17.10 video playback is buggy. On most video files Gwenview brings the whole system to a halt, just leaves some seconds to interact and kill the application to rescue the system or a warm reboot is necessary. This happens elsewhere as well e.g. previewing video in Dolphin. In contrast VLC plays the videos smoothly and the system functions as usual. I guess some updated backends are at fault.
Can you share more specific steps to reproduce this issue, such as sample files, gstreamer version in use, and more critically some way to reproduce your problem that does not involve an external application? For example, have you tested playing back one of these files with "gst-launch-1.0 playbin uri=file:///path/to/file"?
This is the output from playing the attached video sample. I had to ^C to send signal since the system was in a state of trans: no key press worked, no click captured, even the pointer froze intermittently for longer moments. If computer got some time, it was killing and restarting plasmashell in a loop in that window. $ gst-launch-1.0 playbin uri=file:/media/hamid/Video/Loyverse/How\ to\ add\ an\ employee\ in\ Loyverse\ POS\ \[720p\].mp4 Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Got context from element 'vaapisink0': gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayGLX\)\ vaapidisplayglx1"; Redistribute latency... Got context from element 'playsink': gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayGLX\)\ vaapidisplayglx1"; Redistribute latency... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstPulseSinkClock WARNING: from element /GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstVaapiSink:vaapisink0: A lot of buffers are being dropped. Additional debug info: gstbasesink.c(2901): gst_base_sink_is_too_late (): /GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstVaapiSink:vaapisink0: There may be a timestamping problem, or this computer is too slow. Got EOS from element "playbin0". Execution ended after 0:01:58.510736978 Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ...
Created attachment 362858 [details] Sample video to show gstreamer computer lock down This is a cut scene from the original intended sample. That exceeds the set file size limit.
Thanks! It would still be helpful if you could share the exact version of gstreamer and its plugins that you are using. For what it's worth on my end with git master nothing gets decoded and I get a lot of libav errors, with 1.12.3 it plays just fine, I do not get any sort of lockups but I also am not using vaapi. Could you try if you get the same problems with a manually constructed pipeline such as: gst-launch-1.0 uridecodebin uri=file:///path/to/media ! video/x-raw ! videoconvert ! xvimagesink And assuming you have gst-libav installed: gst-launch-1.0 filesrc location=/path/to/media ! qtdemux ! queue ! avdec_h264 ! videoconvert ! xvimagesink
Do the problems go away if you uninstall the gstreamer-vaapi package (and install gst-libav/gst-ffmpeg instead?)
Just removed vaapi and all is OK. If required to troubleshoot gstreamer-vaapi, I can reinstall and check results of Comment 4.
(In reply to Hamid from comment #6) > Just removed vaapi and all is OK. If required to troubleshoot > gstreamer-vaapi, I can reinstall and check results of Comment 4. Well these comments were there to check whether vaapi was causing the issue, so there's no need to now :)
Hm, seems like the same issue here https://bugzilla.gnome.org/show_bug.cgi?id=775698 Ubunut17.10 + vaapisink will not work if you use default display server (which is wayland in Ubuntu 17.10). Issue seems to be in "mutter". https://bugzilla.gnome.org/show_bug.cgi?id=775698#c14 https://bugzilla.gnome.org/show_bug.cgi?id=775698#c15
This looks like a very different problem, like if the decoding or rendering is messing with the system. Could you reinstall gstreamer-vaapi and try: 1\ gst-play-1.0 How\ to\ add\ an\ employee\ in\ Loyverse\ POS\ \[720p\].mp4 --videosink=fakesink Is the audio played correctly? 2\ gst-play-1.0 How\ to\ add\ an\ employee\ in\ Loyverse\ POS\ \[720p\].mp4 --gst-debug=vaapi*:5 > out.log 2>&1 please upload the generated file out.log 3\ please post the output of the vainfo command
Created attachment 363183 [details] Output and errors as requested in Comment 9
1\ Audio played correctly till the end without video play but there was glitches and after it reached the end I had to Ctrl-C. It finished naturally though, perhaps did not catch the signal. 2\ Uploaded attachment 363183 [details]. 3\ $ vainfo libva info: VA-API version 0.40.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_40 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.40 (libva ) vainfo: Driver version: Intel i965 driver for Intel(R) Ironlake Mobile - 1.8.3 vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264Main : VAEntrypointVLD VAProfileH264High : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc
that log is quite strange. it is like all the frame were blocked until the audio ends, as if they have a PTS in the future. 1\ Have you tried with a different video sink, such as glimagesink or xvimagesink? I don't see any error in the logs, perhaps the issue is somewhere else. 2\ Can I ask you for another log, the same pipeline with vaapisink, but *:5 (it is going to be huge).
No problem. What are the exact commands I enter in the prompt?
(In reply to Hamid from comment #13) > No problem. What are the exact commands I enter in the prompt? 1\ gst-play-1.0 How\ to\ add\ an\ employee\ in\ Loyverse\ POS\ \[720p\].mp4 --videosink=glimagesink By the way, do you known which is the video sink used by Gwenview?? 2\ gst-play-1.0 How\ to\ add\ an\ employee\ in\ Loyverse\ POS\ \[720p\].mp4 --gst-debug=*:4,vaapi*:5
Old IronLake hardware, Higher chance for some mess up in driver ;)
Created attachment 363374 [details] Output and errors as requested in Comment 14
1\ Plasmashell got shot and had to kstart it from the command prompt manually. This is the output for glimagesink: Press 'k' to see a list of keyboard shortcuts. Now playing /home/hamid/Temp/How to add an employee in Loyverse POS [720p].mp4 Redistribute latency... Redistribute latency... WARNING A lot of buffers are being dropped. WARNING debug information: gstbasesink.c(2901): gst_base_sink_is_too_late (): /GstPlayBin:playbin/GstPlaySink:playsink/GstBin:vbin/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink: There may be a timestamping problem, or this computer is too slow. WARNING A lot of buffers are being dropped. WARNING debug information: gstbasesink.c(2901): gst_base_sink_is_too_late (): /GstPlayBin:playbin/GstPlaySink:playsink/GstBin:vbin/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink: There may be a timestamping problem, or this computer is too slow. WARNING A lot of buffers are being dropped. WARNING debug information: gstbasesink.c(2901): gst_base_sink_is_too_late (): /GstPlayBin:playbin/GstPlaySink:playsink/GstBin:vbin/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink: There may be a timestamping problem, or this computer is too slow. WARNING A lot of buffers are being dropped. WARNING debug information: gstbasesink.c(2901): gst_base_sink_is_too_late (): /GstPlayBin:playbin/GstPlaySink:playsink/GstBin:vbin/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink: There may be a timestamping problem, or this computer is too slow. 0:00:15.6 / 0:00:15.6 Reached end of play list. Output for xvimagesink: gst-play-1.0 How\ to\ add\ an\ employee\ in\ Loyverse\ POS\ \[720p\].mp4 --videosink=xvimagesink Press 'k' to see a list of keyboard shortcuts. Now playing /home/hamid/Temp/How to add an employee in Loyverse POS [720p].mp4 Redistribute latency... Redistribute latency... 0:00:15.6 / 0:00:15.6 Reached end of play list. intel_do_flush_locked failed: Input/output error 2\ Uploaded attachment 363374 [details] 3\ Regarding driver mess up mentioned in comment 15, I once checked hardware capabilities (3D rendering etc.) and followed some notes found on the Internet to upgrade video drivers, but then rolled back the changes as far as I could. More precisely it was about the OpenGL version supported on the system.
removing critical, since it applies to a specific CPU
It's a bug which interferes with the system until it is unusable. That's critical if not fixed. The code can propagate in downstream products and cause undesirable main and side effects.
-- 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/73.