GNOME Bugzilla – Bug 777383
omxmjpegdec no video on RPI3
Last modified: 2018-05-07 15:52:31 UTC
Created attachment 343637 [details] logfile pipeline using omxmjpegdec There is no video when this pipeline is executed on a Raspberry pi 3. GST_DEBUG="omx*:6" gst-launch-1.0 -v souphttpsrc location=<MY_URL> is-live=true ! image/jpeg,framerate=25/1 ! jpegparse ! omxmjpegdec ! videoconvert ! videoscale add-borders=true ! video/x-raw,framerate=25/1,format=RGBx,width=800,height=480 ! autovideosink If I replace the omxmjpegdec bij the jpegdec the pipeline works ok. I have an older version running on a Raspberry pi 3 that works ok. If I compile an older version of gst-omx in the raspberry pi repository the omxmjpegdec works ok. I compiled everything using this flags. LDFLAGS='-L/opt/vc/lib' CPPFLAGS='-I/opt/vc/include -I/opt/vc/include/IL -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux' ./autogen.sh --with-omx-target=rpi --enable-gtk-doc=no --disable-examples In attachment the logfile.
I downgraded software to find out the latest working version. Since commit 198e31355f42bbbab7450a8fea42b725a3b890e4 the pipeline with omxmjpegdec doesn't work anymore on Raspberry pi 3. Now I use the latest sources via git and I have reversed the patch "omxvideodec: Implement ::drain() virtual method" See Bug 767641. Now the video is displayed again. But now I have high CPU rate and artifacts. See also Bug-767801.
About the regression issue, can you try with latest git ? Possibly it is fixed again in current master. About cpu usage, all element between omxmjpegdec and glimagesink has to work oin passthrough mode. Try omxmjpegdec ! glimagesink as a test. In your example I can see it forces rescaling using cpu. If omxmjpegdec can output RGB then omxmjpegdec ! ximagesink should be smooth too for resolutions up to 720p (thanks to recent patches around OMX_UseBuffer in current gst-omx master).
Closing this bug report as no further information has been provided. Please feel free to reopen this bug report if you can provide the information that was asked for in a previous comment. Thanks!