AnsweredAssumed Answered

GStreamer displaying transitions on Yocto iMX6

Question asked by Christian Bauer on Feb 6, 2018
Latest reply on Feb 9, 2018 by Christian Bauer

Hi there,

 

I am currently trying to display and control multiple GStreamer pipelines (udpsrc, rtpjpegdepay, jpegparse, imxvpudec, imxg2dvideosink) on one screen.

 

I am using the following properties on the imxg2dvideosink's to achieve several splitscreens:

  • window-x-coord 
  • window-y-coord 
  • window-width
  • window-height

 

The Qt program that I wrote using GStreamer API is working just as expected with one major problem:

Every now and then upon switching to the next specified splitscreen, the application will show a blackscreen for aprox. 1-2 seconds before displaying video again.

Fyi: The transition is made by dynamically changing the properties of one (or multiple) sinks, while the corresponding pipeline is still running.

 

My current setup is:

  • iMX6q with Kernel 3.14.28 running Yocto Linux
  • GStreamer 1.4.5 pipelines (see above) on /dev/fb0
  • Qt 5.4 Application on /dev/fb1, using eglfs
  • Colorkey 0x00FF00FF (ARGB) for /dev/fb1
  • Framebuffer 0: D: 71.003 MHz, H: 49.307 kHz, V: 59.912 Hz
    geometry 1280 800 1280 800 32
    timings 14084 80 48 14 3 32 6
    vsync high
    rgba 8/16,8/8,8/0,8/24
  • Framebuffer 1: D: 4.608 MHz, H: 3.600 kHz, V: 4.500 Hz
    geometry 1280 800 1280 1600 16
    timings 217013 0 0 0 0 0 0
    rgba 5/11,6/5,5/0,0/0
  • imxg2dvideosink properties: force-aspect-ratio = false

 

Provided warnings:

From time to time, there are multiple IPU warnings returned (which do not exit the application).

  • IPU_INT_STAT_10[19] = DI0 Synchronous display error interrupt.
  • IPU_INT_STAT_5[23, 27] = New Frame before end-of-frame error indication of Channel interrupt.
  • alloc_contig_range test_pages_isolated(4a600, 4a78a) failed

 

Thank you in advance

Christian 

Outcomes