AnsweredAssumed Answered

GUI on fb0 with video rectangle overlay on fb1

Question asked by Federico Vitali on Dec 1, 2016
Latest reply on Mar 14, 2018 by C Y

Hi! 

I'm developing a simple application on a i.MX6Q based board connected to a 480x234 LVDS primary display (/dev/fb0 background and /dev/fb1 foreground). I'm working directly on framebuffer, no X11 or Wayland. I have these simple requirements:

  • display a simple GUI on background
  • display a videostream on a rectangle (e.g. 200x160), not hiding the background

I'm currently running official NXP Linux 4.1.15_1.2.0 BSP

When the GUI is running I launch the following gstreamer 1.0 pipeline:

gst-launch-1.0 rtspsrc location=rtsp://192.168.0.102/ch1/sub  ! rtpjpegdepay ! vpudec ! overlaysink overlay-width=200 overlay-height=160 overlay-left=50 overlay-top=50 

The problem is that when the pipeline goes in PLAY state, the overlay covers the background, with video drawn in the 200x160 rectangle area, and black outside the rectangle. In the past I was running a YOCTO Dora based BSP, kernel 3.0.35, gstreamer-0.10 with an analogous pipeline I had the effect was exactly what I wanted, without problems.

 

The only way I've found to obtain the effect with the new BSP I want is drawing a 'green back' on the GUI and setting color key 0x00FF00 on /dev/fb1. Is there a simpler way to do that, i.e. simply 'not drawing' on overlay fb1 outside the video rectangle?

 

Any help will be appreciated. Thank you in advance!

Outcomes