AnsweredAssumed Answered

video playback on i.MX6 failes (VPU_DecGetVersionInfo failed)

Question asked by Martin1z on Oct 18, 2012
Latest reply on Oct 24, 2013 by Serge ROBERT

When trying to play a video with gestreamer we always received the following error message:

 

root@freescale ~$ gst-launch filesrc location=/480.avi typefind=true ! aiurdemux ! queue max-size-buffers=0 max-size-time=0 ! vpudec ! mfw_v4lsink

Setting pipeline to PAUSED ...

ERROR: Pipeline doesn't want to pause.

ERROR: from element /GstPipeline:pipeline0/GstXImageSink:ximagesink0: Could not initialise X output

Additional debug info:

ximagesink.c(1269): gst_ximagesink_xcontext_get (): /GstPipeline:pipeline0/GstXImageSink:ximagesink0:

Could not open display

Setting pipeline to NULL ...

Freeing pipeline ...

root@freescale ~$

 

All required gstreamer plugins are available and v4lsink is working properly (gst-launch videotestsrc ! mfw_v4lsink).

VPU support is build into kernel properly. From this point there seems to be no problem. All io-control calls are performed correctly.

 

Firmware files for VPU are also available in corresponding directory (/lib/firmware/vpu).

 

Video is a H264 coded AVI with no audio. But even MP4 or Mpeg2 streams produce the same result.

 

After some additional investigations we have discovered following error message during initailization with GST debug zones enabled:

0:00:02.258217669 4008    0x17050 INFO GST_STATES gstbin.c:2497:gst_bin_change_state_func:<pipeline0> child 'capsfilter0' changed state to 3(PAUSED) successfully

0:00:02.591283669 4008    0x17050 ERROR vpudec vpudec.c:517:vpudec_core_init: Func VPU_DecGetVersionInfo failed!! with ret 1

0:00:02.591416336  4008 0x17050 INFO GST_STATES gstelement.c:2725:gst_element_change_state:<vpudec0> have FAILURE change_state return

0:00:02.591531003 4008    0x17050 INFO GST_STATES gstelement.c:2302:gst_element_abort_state:<vpudec0> aborting state from READY to PAUSED

0:00:02.591645336 4008    0x17050 INFO GST_STATES gstbin.c:2513:gst_bin_change_state_func:<pipeline0> child 'vpudec0' failed to go to state 3(PAUSED)


I am already going through the source code to find the reason but I am wondering if I am the only one having this problem. The result is the same on latest oneric ubuntu image and the binary FSL image available in the latst BSP (L3.0.35_12.09.01_GA).

BTW: Unfortunatly the required libraries (gstreamer plugins, imx-lib) can not be integrated into a custom ltib image poperly.

 

 

Outcomes