Re: libva failing for mp4 using gstreamer under 'danny' with cedartrail BSP


Chris Tapp
 

On 13 Dec 2012, at 21:55, Ross Burton wrote:

On Thursday, 13 December 2012 at 21:10, Chris Tapp wrote:
I've got an X application that uses gstreamer to capture frames from video files and display them using GLES textures.

This works fine for webm and flv files, but if I try and use mp4 (or avi) then I get no frames. I'm not seeing any gstreamer errors, but the console shows:

libva: VA_API version 0.32.1
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/dri/pvr_drv_video.so
libva: va_openDriver() returns 0

1) I'm building under 'danny' for cedartrail with PVR.
2) The pvr_drv_video.so file mentioned above exists.
3) The same gstreamer pipeline works fine on my host build system.
4) I'm fairly sure the required gstreamer plugins are present.
To verify (4) which is obviously fairly important, can you confirm that a simple playbin will play the videos correctly on the CedarTrail?
Good catch. This shows there is no video/x-surface decoder available. Off to find which plugin I need...

I should have thought of trying that. Thanks! I'll have to find out why my gstreamer error handler isn't spotting the problem!


It's possible that you've got some horrible GLES/VA interaction, specifically the download from VA-land to however you're getting the video into the textures. Speaking of which, how are you getting from frames to textures?
I'm using appsink to give me access to the raw pixel data which I then glTexSubImage into a texture. I'm using appsink as I've got legacy code that uses it for an SDL app. I may try and switch to gstreamer GL plugin support when I find the best option ;-)

Ross

Chris Tapp

opensource@...
www.keylevel.com

Join yocto@lists.yoctoproject.org to automatically receive all group messages.