GNOME Bugzilla – Bug 768116
omxh264dec: On-screen flash on playback start rpi2
Last modified: 2016-06-30 06:35:27 UTC
Created attachment 330463 [details] Test 1920x1080 mpeg4 video file Testing a simple pipeline (gst-launch-1.0 uridecodebin uri=file:///path/to/mp4 ! glimagesink) the screen flashes before the video starts. The video then plays and freezes on a frame near the end of the file. Approximately 3 seconds later gst-launch exits with an error: (0:00:04.597259555 14022 0x699000 ERROR glmemory gstglmemoryegl.c:201:_gl_mem_copy: GstGLMemoryEGL does not support copy Got EOS from element "pipeline0". and the screen is cleared. Test file attached.
On which hardware is this?
Raspberry Pi2, Raspbian Jessie Lite.
Can you get a full GStreamer debug log and attach it here? Which version of GStreamer and gst-omx?
Created attachment 330473 [details] Debug Level 6 log
GStreamer 1.9.0.1 gst-omx 1.2.0 (compiled yesterday from git master).
Created attachment 330512 [details] Frame grab of screen flash at playback start. This is a frame grab of the flash seen before the video file starts playing back. I lasts for just 1 frame.
The flash at the beginning isn't new and has been around for ages. I'm not exactly sure if it's because we're doing GLES that it happens or we're not drawing fast enough after creating the window. GstGLMemoryEGL spitting out that error isn't a problem if it's from basesink's last-sample handling. The stall at the end and it seems to be the result of a call to eglDestroySurface() 0:00:04.167719966 7192 0x73d23cc0 ERROR glcontext gstglcontext_egl.c:646:gst_gl_context_egl_destroy_context: eglDestroySurface took 0:00:01.816596645 There probably isn't anything we can do about that.
The white flash is due to us resizing the dispmanx window before displaying stuff with GLES which also smells like a dispmanx bug.
Someone should report that to Broadcom then so they can fix it properly on their side.