Hello,
I have been using the GStreamer plugins for i.MX6 video decoding using a Yocto-based rootfs. I used the recipes from Freescale/meta-fsl-arm · GitHub for building (I used the danny branch). I used "imx6qsabresd" as the machine in Yocto's local.conf.
This gave me a kernel 3.0.35, and the following package versions:
firmware-imx-vpu-imx6q - 12.09.01-r4.0
gst-fsl-plugin - 3.0.1-r9.1
imx-audio - 0.1-r4
imx-lib - 12.09.01-r4.0
libfslparser - 3.0.1-r1
libfslvpuwrap3 - 1.0.17-r0
libgal-common-mx6 - 12.09.01-r1.0
When I tried to play a h264 video with GStreamer's playbin2 , it worked fine:
gst-launch-0.10 playbin2 uri=file:///media/mmcblk1p3/sintel_trailer-1080p.mp4
However, when I use an appsink as videosink, it breaks down:
gst-launch-0.10 playbin2 uri=file:///media/mmcblk1p3/sintel_trailer-1080p.mp4 video-sink="appsink"
I get errors like:
0:00:00.531415996 1015 0x2b825d80 WARN mfw_aacdecoder mfw_gst_aacdec.c:1724:mfw_gst_aacdec_data: not able to push the data
0:00:00.560362996 1015 0x2b825d80 WARN mfw_aacdecoder mfw_gst_aacdec.c:1724:mfw_gst_aacdec_data: not able to push the data
0:00:00.561086330 1015 0x2b825d80 WARN mfw_aacdecoder mfw_gst_aacdec.c:1724:mfw_gst_aacdec_data: not able to push the data
0:00:00.601098330 1015 0x2b825c60 WARN vpudec vpudec.c:1541:gst_vpudec_chain: Got no frame buffer message, return 0x89, 8 frames in displaying queue!!
0:00:00.601788996 1015 0x2b825c60 WARN vpudec vpudec.c:1541:gst_vpudec_chain: Got no frame buffer message, return 0x89, 8 frames in displaying queue!!
0:00:00.601995329 1015 0x2b825d80 WARN mfw_aacdecoder mfw_gst_aacdec.c:1724:mfw_gst_aacdec_data: not able to push the data
0:00:00.602423663 1015 0x2b825c60 WARN vpudec vpudec.c:1541:gst_vpudec_chain: Got no frame buffer message, return 0x89, 8 frames in displaying queue!!
0:00:00.602734329 1015 0x2b825d80 WARN mfw_aacdecoder mfw_gst_aacdec.c:1724:mfw_gst_aacdec_data: not able to push the data
0:00:00.603029996 1015 0x2b825c60 WARN vpudec vpudec.c:1541:gst_vpudec_chain: Got no frame buffer message, return 0x89, 8 frames in displaying queue!!
0:00:00.603659329 1015 0x2b825c60 WARN vpudec vpudec.c:1541:gst_vpudec_chain: Got no frame buffer message, return 0x89, 8 frames in displaying queue!!
0:00:00.604238663 1015 0x2b825d80 WARN mfw_aacdecoder mfw_gst_aacdec.c:1724:mfw_gst_aacdec_data: not able to push the data
0:00:00.604373663 1015 0x2b825c60 WARN vpudec vpudec.c:1541:gst_vpudec_chain: Got no frame buffer message, return 0x89, 8 frames in displaying queue!!
0:00:00.604993996 1015 0x2b825c60 WARN vpudec vpudec.c:1541:gst_vpudec_chain: Got no frame buffer message, return 0x89, 8 frames in displaying queue!!
0:00:00.605017996 1015 0x2b825d80 WARN mfw_aacdecoder mfw_gst_aacdec.c:1724:mfw_gst_aacdec_data: not able to push the data
0:00:00.605644663 1015 0x2b825c60 WARN vpudec vpudec.c:1541:gst_vpudec_chain: Got no frame buffer message, return 0x89, 8 frames in displaying queue!!
0:00:00.605856996 1015 0x2b825d80 WARN mfw_aacdecoder mfw_gst_aacdec.c:1724:mfw_gst_aacdec_data: not able to push the data
0:00:00.606362329 1015 0x2b825c60 WARN vpudec vpudec.c:1541:gst_vpudec_chain: Got no frame buffer message, return 0x89, 8 frames in displaying queue!!
0:00:00.606614329 1015 0x2b825d80 WARN mfw_aacdecoder mfw_gst_aacdec.c:1724:mfw_gst_aacdec_data: not able to push the data
0:00:00.606981329 1015 0x2b825c60 WARN vpudec vpudec.c:1541:gst_vpudec_chain: Got no frame buffer message, return 0x89, 8 frames in displaying queue!!
0:00:00.607351996 1015 0x2b825d80 WARN mfw_aacdecoder mfw_gst_aacdec.c:1724:mfw_gst_aacdec_data: not able to push the data
0:00:00.607581663 1015 0x2b825c60 WARN vpudec vpudec.c:1541:gst_vpudec_chain: Got no frame buffer message, return 0x89, 8 frames in displaying queue!!
0:00:00.608115996 1015 0x2b825d80 WARN mfw_aacdecoder mfw_gst_aacdec.c:1724:mfw_gst_aacdec_data: not able to push the data
0:00:00.608310330 1015 0x2b825c60 WARN vpudec vpudec.c:1541:gst_vpudec_chain: Got no frame buffer message, return 0x89, 8 frames in displaying queue!!
I never see these errors when using another sink, like mfw_v4lsink, fakesink, or fbdevsink.
This is relevant to me, because WebKit internally uses a derivative of the appsink for the video frames. In other words, the VPU GStreamer plugins will not work with WebKit.
Are the errors above known? Is there a newer version of the Freescale video decoder plugins which fixes them?
Original Attachment has been moved to: vpu-errors.log.zip