Greetings,
I am developing an application on an embedded Intel Udoo reference board with Ubuntu 17.10. Initially I am using gst-launch-1.0 to create a pipeline to playback a reference HEVC/h265 video only file. I should point out, and any h264 video plays without issue, hardware acceleration and all.
The mpv utility will play the reference content correctly. However when I would use gst-play-1.0 or use gst-launch-1.0 with playbin, playback contained quite a bit of macro blocking. I began creating a more in depth pipeline, specifying vaapi drivers, I noticed that once in a while, it would render the video correctly. As I started adding other pieces, it increased the chance of properly rendering the video.
Currently, my pipeline I am using is as follows:
$ gst-launch-1.0 -v filesrc do-timestamp=true typefind=true location=channel_39_1.mp4 ! video/quicktime ! qtdemux name=d d.video_0 ! queue leaky=no min-threshold-time=60000000 ! video/x-h265 ! h265parse ! video/x-h265 ! vaapidecodebin ! video/x-raw ! xvimagesink sync=false render-delay=60000000
With this pipeline, correct video rendering runs about 40 to 50%.
I set GST_DEBUG=2, and inspect the debug logging output, I fail to see any logging output difference between when rendering is
successful or not.
The following is the log output for the incorrect rendering,
(removing codec_data section):
Setting pipeline to PAUSED ...
0:00:00.333309555 [336m10121[00m 0x5586258b6810 [31;01mERROR [00m [00m gldisplay gstgldisplay_wayland.c:130:gst_gl_display_wayland_new:[00m Failed to open Wayland display connection.
0:00:00.577044813 [336m10121[00m 0x5586258b6810 [33;01mWARN [00m [00m basesrc gstbasesrc.c:3480:gst_base_src_start_complete:<filesrc0>[00m pad not activated yet
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:vaapi-queue: max-size-time = 0
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:vaapi-queue: max-size-buffers = 0
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:vaapi-queue: max-size-bytes = 0
Got context from element 'vaapipostproc0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayX11\)\ gldisplayx11-0";
Got context from element 'vaapipostproc0': gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayGLX\)\ vaapidisplayglx1";
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/quicktime
/GstPipeline:pipeline0/GstQTDemux:d.GstPad:sink: caps = video/quicktime
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstQTDemux:d.GstPad:video_0: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstCapsFilter:capsfilter2.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiDecode:vaapidecode0.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstCapsFilter:capsfilter2.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstCapsFilter:capsfilter2.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiDecode:vaapidecode0.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstCapsFilter:capsfilter2.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
Redistribute latency...
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiDecode:vaapidecode0.GstPad:src: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)59/1
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:vaapi-queue.GstPad:sink: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)59/1
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:vaapi-queue.GstPad:src: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)59/1
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstCapsFilter:capsfilter4.GstPad:src: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)59/1
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiPostproc:vaapipostproc0.GstPad:src: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:src: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstXvImageSink:xvimagesink0.GstPad:sink: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:src.GstProxyPad:proxypad1: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiPostproc:vaapipostproc0.GstPad:src: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:src: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:src.GstProxyPad:proxypad1: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiPostproc:vaapipostproc0.GstPad:sink: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)59/1
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstCapsFilter:capsfilter4.GstPad:sink: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)59/1
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:00:46.320345407 [336m10121[00m 0x558625897720 [33;01mWARN [00m [00m xvimagesink xvimagesink.c:554:gst_xv_image_sink_handle_xevents:<xvimagesink0>[00m error: Output window was closed
ERROR: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: Output window was closed
Additional debug info:
xvimagesink.c(554): gst_xv_image_sink_handle_xevents (): /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0
Execution ended after 0:00:45.619845055
Setting pipeline to PAUSED ...
0:00:46.331608140 [336m10121[00m 0x558625880590 [33;01mWARN [00m [00m xvimagesink xvimagesink.c:1008:gst_xv_image_sink_show_frame:<xvimagesink0>[00m could not output image - no window
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
Following is the debug log for correct rendering:
Setting pipeline to PAUSED ...
0:00:00.333618412 [332m10159[00m 0x55ad114aa810 [31;01mERROR [00m [00m gldisplay gstgldisplay_wayland.c:130:gst_gl_display_wayland_new:[00m Failed to open Wayland display connection.
0:00:00.567603667 [332m10159[00m 0x55ad114aa810 [33;01mWARN [00m [00m basesrc gstbasesrc.c:3480:gst_base_src_start_complete:<filesrc0>[00m pad not activated yet
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:vaapi-queue: max-size-time = 0
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:vaapi-queue: max-size-buffers = 0
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:vaapi-queue: max-size-bytes = 0
Got context from element 'vaapipostproc0': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayX11\)\ gldisplayx11-0";
Got context from element 'vaapipostproc0': gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayGLX\)\ vaapidisplayglx1";
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/quicktime
/GstPipeline:pipeline0/GstQTDemux:d.GstPad:sink: caps = video/quicktime
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstCapsFilter:capsfilter2.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiDecode:vaapidecode0.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstCapsFilter:capsfilter2.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstCapsFilter:capsfilter2.GstPad:src: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiDecode:vaapidecode0.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstCapsFilter:capsfilter2.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstH265Parse:h265parse0.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
/GstPipeline:pipeline0/GstCapsFilter:capsfilter1.GstPad:sink: caps = video/x-h265, stream-format=(string)hvc1, alignment=(string)au, level=(string)4.1, tier=(string)main, profile=(string)main,
Redistribute latency...
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiDecode:vaapidecode0.GstPad:src: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)59/1
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:vaapi-queue.GstPad:sink: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)59/1
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstQueue:vaapi-queue.GstPad:src: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)59/1
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstCapsFilter:capsfilter4.GstPad:src: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)59/1
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiPostproc:vaapipostproc0.GstPad:src: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:src: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstXvImageSink:xvimagesink0.GstPad:sink: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:src.GstProxyPad:proxypad1: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiPostproc:vaapipostproc0.GstPad:src: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:src: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0.GstGhostPad:src.GstProxyPad:proxypad1: caps = video/x-raw, format=(string)YV12, width=(int)1920, height=(int)1080, framerate=(fraction)59/1, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, chroma-site=(string)mpeg2, colorimetry=(string)bt709
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstVaapiPostproc:vaapipostproc0.GstPad:sink: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)59/1
/GstPipeline:pipeline0/GstVaapiDecodeBin:vaapidecodebin0/GstCapsFilter:capsfilter4.GstPad:sink: caps = video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1920, height=(int)1080, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)59/1
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:00:40.524490050 [332m10159[00m 0x55ad1148b720 [33;01mWARN [00m [00m xvimagesink xvimagesink.c:554:gst_xv_image_sink_handle_xevents:<xvimagesink0>[00m error: Output window was closed
ERROR: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: Output window was closed
Additional debug info:
xvimagesink.c(554): gst_xv_image_sink_handle_xevents (): /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0
Execution ended after 0:00:39.821224748
Setting pipeline to PAUSED ...
0:00:40.536643378 [332m10159[00m 0x55ad11474590 [33;01mWARN [00m [00m xvimagesink xvimagesink.c:1008:gst_xv_image_sink_show_frame:<xvimagesink0>[00m could not output image - no window
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
In general, I would have three possible questions. What is there to look for in logging output to help point to a problem.
Are there more delay hooks that can be added to the pipeline, or a better pipeline in general, to see if it increases stability. Lastly,
would a previous version of Ubuntu (17.04 or 16.04) and its version of gstreamer not have thsee issues.
Many thanks,
Daryl