AnsweredAssumed Answered

Hardware Codec Resets often when 720P streaming is done using WebRTC on iMX6 Android Marshmallow

Question asked by HARIPRASATH GOPAL on Feb 11, 2018
Latest reply on Feb 15, 2018 by Diego Adrian Cuevas


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.