diff options
author | Masaki Sato <masaki.sato@motorola.com> | 2009-08-10 14:04:33 -0500 |
---|---|---|
committer | Rebecca Schultz Zavin <rebecca@android.com> | 2009-08-11 15:26:33 -0700 |
commit | 21f301bd17942e35730d802c7fdc5e5b0e7d31f4 (patch) | |
tree | 3c872d0f3f7d1d0f446b523fbe8002c274ae2521 /omx | |
parent | b4c4a90655e277a89ed2cc3704e9f008b311ea0f (diff) | |
download | omap3-21f301bd17942e35730d802c7fdc5e5b0e7d31f4.tar.gz |
AAC FF and short playback fix
Diffstat (limited to 'omx')
-rw-r--r-- | omx/audio/src/openmax_il/aac_dec/inc/OMX_AacDec_Utils.h | 1 | ||||
-rw-r--r-- | omx/audio/src/openmax_il/aac_dec/src/OMX_AacDec_Utils.c | 4 | ||||
-rw-r--r-- | omx/audio/src/openmax_il/aac_dec/src/OMX_AacDecoder.c | 4 |
3 files changed, 6 insertions, 3 deletions
diff --git a/omx/audio/src/openmax_il/aac_dec/inc/OMX_AacDec_Utils.h b/omx/audio/src/openmax_il/aac_dec/inc/OMX_AacDec_Utils.h index 276fcfc..36fe56e 100644 --- a/omx/audio/src/openmax_il/aac_dec/inc/OMX_AacDec_Utils.h +++ b/omx/audio/src/openmax_il/aac_dec/inc/OMX_AacDec_Utils.h @@ -648,6 +648,7 @@ typedef struct USN_AudioCodecParams{ /* ==================================================================== */ typedef struct { unsigned long ulFrameCount; + unsigned long isLastBuffer; }AACDEC_UAlgOutBufParamStruct; typedef struct AACDEC_UALGParams{ diff --git a/omx/audio/src/openmax_il/aac_dec/src/OMX_AacDec_Utils.c b/omx/audio/src/openmax_il/aac_dec/src/OMX_AacDec_Utils.c index 27971f6..c92ce46 100644 --- a/omx/audio/src/openmax_il/aac_dec/src/OMX_AacDec_Utils.c +++ b/omx/audio/src/openmax_il/aac_dec/src/OMX_AacDec_Utils.c @@ -325,6 +325,7 @@ OMX_ERRORTYPE AACDEC_Fill_LCMLInitParams(OMX_HANDLETYPE pComponent, pTemp_char += EXTRA_BYTES; pTemp_lcml->pOpParam = (AACDEC_UAlgOutBufParamStruct*)pTemp_char; pTemp_lcml->pOpParam->ulFrameCount = DONT_CARE; + pTemp_lcml->pOpParam->isLastBuffer = 0; pTemp->nFlags = NORMAL_BUFFER_AACDEC; ((AACDEC_COMPONENT_PRIVATE *)pTemp->pPlatformPrivate)->pHandle = pHandle; @@ -2543,7 +2544,7 @@ OMX_ERRORTYPE AACDEC_LCML_Callback (TUsnCodecEvent event,void * args [10]) pLcmlHdr->pBufHdr->hMarkTargetComponent = pComponentPrivate->hMarkTargetComponent; } pComponentPrivate->num_Reclaimed_Op_Buff++; - if (pComponentPrivate->bIsEOFSent){ + if (pLcmlHdr->pOpParam->isLastBuffer){ OMX_PRBUFFER2(pComponentPrivate->dbg, "%d : UTIL: Adding EOS flag to the output buffer\n",__LINE__); pLcmlHdr->pBufHdr->nFlags |= OMX_BUFFERFLAG_EOS; OMX_PRBUFFER2(pComponentPrivate->dbg, "%d : UTIL:: pLcmlHdr->pBufHdr = %p\n",__LINE__,pLcmlHdr->pBufHdr); @@ -3701,6 +3702,7 @@ OMX_ERRORTYPE AACDECFill_LCMLInitParamsEx(OMX_HANDLETYPE pComponent,OMX_U32 inde pTemp_lcml->pOpParam = (AACDEC_UAlgOutBufParamStruct*)ptr; pTemp_lcml->pOpParam->ulFrameCount = DONT_CARE; + pTemp_lcml->pOpParam->isLastBuffer = 0; pTemp->nFlags = NORMAL_BUFFER_AACDEC; ((AACDEC_COMPONENT_PRIVATE *)pTemp->pPlatformPrivate)->pHandle = pHandle; diff --git a/omx/audio/src/openmax_il/aac_dec/src/OMX_AacDecoder.c b/omx/audio/src/openmax_il/aac_dec/src/OMX_AacDecoder.c index 67a555b..c4849fa 100644 --- a/omx/audio/src/openmax_il/aac_dec/src/OMX_AacDecoder.c +++ b/omx/audio/src/openmax_il/aac_dec/src/OMX_AacDecoder.c @@ -252,8 +252,8 @@ OMX_ERRORTYPE OMX_ComponentInit (OMX_HANDLETYPE hComp) pComponentPrivate->iPVCapabilityFlags.iOMXComponentSupportsExternalOutputBufferAlloc = OMX_FALSE; pComponentPrivate->iPVCapabilityFlags.iOMXComponentSupportsExternalInputBufferAlloc = OMX_FALSE; pComponentPrivate->iPVCapabilityFlags.iOMXComponentSupportsMovableInputBuffers = OMX_FALSE; - pComponentPrivate->iPVCapabilityFlags.iOMXComponentSupportsPartialFrames = OMX_TRUE; - pComponentPrivate->iPVCapabilityFlags.iOMXComponentCanHandleIncompleteFrames = OMX_TRUE; + pComponentPrivate->iPVCapabilityFlags.iOMXComponentSupportsPartialFrames = OMX_FALSE; + pComponentPrivate->iPVCapabilityFlags.iOMXComponentCanHandleIncompleteFrames = OMX_FALSE; #endif |