fsl_imx_omx FLAC tag parser ERROR

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

fsl_imx_omx FLAC tag parser ERROR

1,560 Views
guojijiang
Contributor II

Hello:

Hardware info:

CPU :i.mx6DL 

RAM:2GB

OS:4.4.3

 

I use external/fsl_imx_omx to parse flac tag information when scanning USB disk files. When my USB have error_flac.flac file, the OMXPlayer show timeout errors as follow. And the mediaScanService seems stopped. Then I use tools to delete flac tag information,make a normal flac without tag information ->ok.flac.It works.

 

Error Log:

I/OMXPlayer( 133): LEVEL: 1 FUNCTION: OMX_ERRORTYPE GMComponent::WaitCommand(OMX_COMMANDTYPE, OMX_U32, OMX_PTR, OMX_TICKS) LINE: 1071
I/OMXPlayer( 133): OMX.Freescale.std.parser.fsl.sw-based wait command[0:3] timeout.
I/ModeService( 715): onReceiveMcuData: Enter 15
I/OMXPlayer( 133): LEVEL: 1 FUNCTION: OMX_ERRORTYPE GMComponent::SendCommand(OMX_COMMANDTYPE, OMX_U32, OMX_PTR) LINE: 1014
I/OMXPlayer( 133): OMX.Freescale.std.parser.fsl.sw-based send command[0:1] timeout.
I/OMXPlayer( 133): LEVEL: 1 FUNCTION: OMX_ERRORTYPE GMComponent::DoIdle2Loaded() LINE: 1143
I/OMXPlayer( 133): State trans to Loaded failed.

 

Here is the log file:error_flac.log

Please help.

I am looking forward to your replay ,thank you in advance.

Best regards.

Jiang

Original Attachment has been moved to: error_flac.txt.zip

Labels (1)
8 Replies

1,040 Views
karina_valencia
NXP Apps Support
NXP Apps Support

gfine‌ please continue with the follow up.

0 Kudos

1,040 Views
gfine
NXP Employee
NXP Employee

Hi Jiang,

Support for 4.4.3 is out of currency. Can this be replicated on a newer version of Android?

This seems to be related to a bug found in Android back in 2013. (https://code.google.com/p/android/issues/detail?id=62562).

BR,


Glen

1,040 Views
guojijiang
Contributor II

Hello,Glen. Thank you for your response. I know my android version is not latest. But I don't have a new version.

 Issue 62562 patch didn't fix my issue. I found a temporary way just add "return OMX_ErrorUndefined;" in TryFlacType function. Then Android MediaScannerService work well and do not block. The problem is after this change it can not play some flac without type info.

Code:

OMX_ERRORTYPE TryFlacType(CONTENTDATA *pData, CPbyte *buffer)
{
   OMX_ERRORTYPE ret = OMX_ErrorNone;
   CPbyte buffer2[DETECT_BUFFER_SIZE];
   OMX_S32 Id3Size = 0;

   LOG_DEBUG("TryFlacType\n");

   pData->type = TYPE_NONE;
   if   (buffer[0] == 'f' && buffer[1] == 'L' && buffer[2] == 'a' && buffer[3] == 'C') {
   pData->type = TYPE_FLAC;
   LOG_DEBUG("Content type is flac.\n");
   return ret;
   }
   else{
   ret = OMX_ErrorUndefined;

    // jiangguoji  add 
   return OMX_ErrorUndefined;
   }

}

0 Kudos

1,040 Views
gfine
NXP Employee
NXP Employee

Hi Guoji (guojijiang‌ ),

Can you verify if the file(s) lacked the proper format.

BR,

Glen

0 Kudos

1,040 Views
gfine
NXP Employee
NXP Employee

Looking at the code, it is returning OMX_ErrorUndefined if the first four (4) bytes of the buffer are not "fLaC" 

The format  of a flac file is here and the test for a flac file is testing these bytes. 

Informtion on a flac file format is here.  https://xiph.org/flac/format.html#stream 

Please verify all the flac files you are testing conform to this format.

Cheers,


Glen

0 Kudos

1,040 Views
guojijiang
Contributor II

Hi, Glen Fine.

Thank you for your advise. I have test some flac files ,but not all format. It works temporaily.

0 Kudos

1,040 Views
diegoadrian
NXP Employee
NXP Employee

Hello Jiang,

Thank you for writing.

I just escalated this issue, soon you will be contacted by an expert in this topic.

Best regards,

Diego.

1,040 Views
guojijiang
Contributor II

Please Help.

0 Kudos