I am trying to develop a video chat system on a custom baseboard which uses iMX6 Quad processor. I use Android Marshmallow as OS. And I use Apprtc a webRTC based application on the android side.
When I try to stream 640x480, I was able to send and receive video without any glitch. But when I opt to stream 720P streaming, I am able to encode the data and send it to the receiver from iMX6 but decoding is very poor.
The proble is the Hardware codec resets often saying
01-22 12:44:13.001 2775 15602 I MediaCodec: [OMX.Freescale.std.video_decoder.avc.v3.hw-based] setting surface generation to 2841646
01-22 12:44:13.003 2775 15700 I ACodec : Send reorder config(0) to VPU
01-22 12:44:13.004 15518 15518 W OMXNodeInstance: [2f:Freescale.std._decoder.avc.v3.hw-based] component does not support metadata mode; using fallback
01-22 12:44:13.005 2775 15700 E ACodec : [OMX.Freescale.std.video_decoder.avc.v3.hw-based] storeMetaDataInBuffers failed w/ err -1010
01-22 12:44:13.009 15518 15518 E OMXNodeInstance: getConfig(2f:Freescale.std._decoder.avc.v3.hw-based, ConfigCommonOutputCrop(0x700000f)) ERROR: IncorrectStateTransition(0x80001017)
It happens often that I finally receive only 1 fps.
I have verified the capability of the device, that it can encode and decode 720P 30 fps simultaneously, by using a app which records h264 camera streaming and play the h264 encoded video simultaneously.