gdkpixbufoverlay breaks vaapi pipeline

Wolfgang Grandegger wg at grandegger.com
Tue Apr 30 20:23:31 UTC 2019


Hello,

I have a wired problem with the following pipeline:

  $ gst-launch-1.0 udpsrc port=5678 buffer-size=180000000 \
      ! image/jpeg,format=Y42B,width=1920,height=1080,framerate=50/1 \
      ! jpegparse disable-passthrough=true 
      ! vaapijpegdec \ 
      ! gdkpixbufoverlay location=logo.png \
      ! vaapisink

It works fine with the following camera stream:

  Video: mjpeg (jpeg / 0x6765706A), yuvj420p(pc, bt470bg/unknown/unknown, progressive), 1920x1080

but the element "gdkpixbufoverlay" breaks it with the stream:

  Video: mjpeg (jpeg / 0x6765706A), yuvj422p(pc, bt470bg/unknown/unknown, progressive), 1920x1080

It's 420 vs 422? Then I get the error message:

  WARN        vaapisink gstvaapisink.c:1483:gst_vaapisink_show_frame_unlocked:<vaapisink0> could not get surface
  WARN        basesrc gstbasesrc.c:3055:gst_base_src_loop:<udpsrc0> error: Internal data stream error.
  WARN        basesrc gstbasesrc.c:3055:gst_base_src_loop:<udpsrc0> error: streaming stopped, reason error (-5)
  WARN        queue gstqueue.c:988:gst_queue_handle_sink_event:<queue0> error: Internal data stream error.
  WARN        queue gstqueue.c:988:gst_queue_handle_sink_event:<queue0> error: streaming stopped, reason error (-5)
  ERROR: from element /GstPipeline:pipeline0/GstUDPSrc:udpsrc0: Internal data stream error.
  Additional debug info:
  gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstUDPSrc:udpsrc0:
  streaming stopped, reason error (-5)

In the log with GST_DEBUG=5 I find in that case:

  DEBUG         vaapi gstvaapiimage.c:293:gst_vaapi_image_new_with_image: VA image 0x0a000000, format 422H, size 1920x1080
  ...
  DEBUG         vaapidisplay gstvaapidisplay.c:205:append_formats: unsupported format 422H

In the good case, I do not find the last line but

  DEBUG         vaapi gstvaapiimage.c:293:gst_vaapi_image_new_with_image: VA image 0x0a000000, format IMC3, size 1920x1080

Not sure it it's related, though. It's working fine for both streams *without*
"gdkpixbufoverlay" or *with* "clockoverlay".

Any idea what could go wrong? Anything else I could debug?

TIA,

Wolfgang



More information about the gstreamer-devel mailing list