This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DRA744: DRA744: No surface creation during gstreamer playback

Part Number: DRA744

Hi, 

Setup details:

Our CarPlay application is using the below pipeline and is configured to work in “au” (frame) mode with appropriate caps used to configure width and height.

appsrc ! ducatih264dec! waylandsink

 

This pipeline is kept alive thought the ignition cycle. For each screen transition and connection, iPhone will send a new stream with SPS, PPS header.  So during the beginning of the new stream, the pipeline is set to playing state and while stopping stream flush start and flush stop events are sent to pipeline.

 

Issue:

iPhone initially sends the AVCC  (SPS, PPS) header first and after few milliseconds(less than 3 milliseconds)) one full-frame data is given.  Sometime this gap may get extended to several seconds due to packet losses in Wifi connection.  In such cases, we see the blank output on the screen and it is not recovering even with the next screen transition or new connection in that ignition cycle. This blank screen will normally come during the first connection after the ignition cycle and it not recover from it.

We noticed “ducati gstducatividdec.c:571:codec_process:<vpudecoder> err=-1, extendedError=00000401”  log always (both working and non-working case)

But somehow due to the timing issues, the pipeline is not able to decode the next stream.   Another observation is,  sending flush events during the streaming stop case is failing some times.

Reproduction Rate: Once in 20 times.

Please let us know how to recover from such errors.