GUI on fb0 with video rectangle overlay on fb1

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

GUI on fb0 with video rectangle overlay on fb1

2,438 Views
federicovitali
Contributor I

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!

Labels (5)
0 Kudos
3 Replies

1,035 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi,

I guess this is related and its fixed:

https://community.nxp.com/thread/440053 

Regards

0 Kudos

1,035 Views
federicovitali
Contributor I

Hi and thanks for you answer. I'm already using those ioctls to achieve the result I'm looking for, but the problem is that I have use those system calls when the gstreamer pipeline goes in play state, and it's quite complicated. I think I have to take a closer look at imx-gst1.0-plugin and imx overlaysink. With gstreamer 0.10 the analogous sink was mfw_isink and I got the result I was looking for out of the box. Probably something changed in handling the blend of fb0 / fb1 when rendering the frames. 

Regards 

0 Kudos

1,035 Views
charlesyc
Contributor I

I am facing the same problem and I don't know how to make overlaysink only output to /dev/fb1. There is no such "device" property in the overlaysink plugin. Could help me please?

0 Kudos