I have been working with the stagefright interface for 4 months. After some hard work, I have finally adapted the ffmpeg's stagefright codec to works in android. It works very well It is able to decode 1080p video in h264 instantaneously ( < 1 ms per frame). As far as I know, the codec returns the decoded video in YUV420P but, in android, the surface works either RGB565 or RGB8888 (aka RGBA or RGB32). Theoretically, the colorspace conversion should be done in a really few miliseconds but the reality is that it expends around 20ms per frame so I get a delaying issues.
I am working with a modified version the linphone for android. The app creates a SurfaceView that is rendered with OpenGL ES (I know that the app loads the library and the extensions) but it does not work properly.
I have been trying to pass the NativeWindow reference of the surfaceView to the decoder constructor as it indicates the powerpoint of this web but when I pass the reference, the program crashes throwing either SIGSEGV or SIGBUS signals.
please, could you give me further information of how to handle the data extracted from the VPU.
Thank you very much.