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:
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
- 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
- imxg2dvideosink properties: force-aspect-ratio = false
From time to time, there are multiple IPU warnings returned (which do not exit the application).
- IPU_INT_STAT_10 = 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