omx_audiodec_component.h File Reference

#include <OMX_Types.h>
#include <OMX_Component.h>
#include <OMX_Core.h>
#include <pthread.h>
#include <stdlib.h>
#include <string.h>
#include <omx_base_filter.h>
#include <ffmpeg/avcodec.h>
#include <ffmpeg/avformat.h>

Go to the source code of this file.

Defines

#define AUDIO_DEC_BASE_NAME   "OMX.st.audio_decoder"
#define AUDIO_DEC_MP3_NAME   "OMX.st.audio_decoder.mp3"
#define AUDIO_DEC_VORBIS_NAME   "OMX.st.audio_decoder.ogg"
#define AUDIO_DEC_AAC_NAME   "OMX.st.audio_decoder.aac"
#define AUDIO_DEC_MP3_ROLE   "audio_decoder.mp3"
#define AUDIO_DEC_VORBIS_ROLE   "audio_decoder.ogg"
#define AUDIO_DEC_AAC_ROLE   "audio_decoder.aac"
#define omx_audiodec_component_PrivateType_FIELDS

Functions

OMX_ERRORTYPE omx_audiodec_component_Constructor (OMX_COMPONENTTYPE *openmaxStandComp, OMX_STRING cComponentName)
OMX_ERRORTYPE omx_audiodec_component_Destructor (OMX_COMPONENTTYPE *openmaxStandComp)
OMX_ERRORTYPE omx_audiodec_component_Init (OMX_COMPONENTTYPE *openmaxStandComp)
OMX_ERRORTYPE omx_audiodec_component_Deinit (OMX_COMPONENTTYPE *openmaxStandComp)
OMX_ERRORTYPE omx_audiodec_component_MessageHandler (OMX_COMPONENTTYPE *, internalRequestMessageType *)
void omx_audiodec_component_BufferMgmtCallback (OMX_COMPONENTTYPE *openmaxStandComp, OMX_BUFFERHEADERTYPE *inputbuffer, OMX_BUFFERHEADERTYPE *outputbuffer)
OMX_ERRORTYPE omx_audiodec_component_GetParameter (OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_INDEXTYPE nParamIndex, OMX_INOUT OMX_PTR ComponentParameterStructure)
OMX_ERRORTYPE omx_audiodec_component_SetParameter (OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_INDEXTYPE nParamIndex, OMX_IN OMX_PTR ComponentParameterStructure)
OMX_ERRORTYPE omx_audiodec_component_ComponentRoleEnum (OMX_IN OMX_HANDLETYPE hComponent, OMX_OUT OMX_U8 *cRole, OMX_IN OMX_U32 nIndex)
void omx_audiodec_component_SetInternalParameters (OMX_COMPONENTTYPE *openmaxStandComp)
OMX_ERRORTYPE omx_audiodec_component_SetConfig (OMX_HANDLETYPE hComponent, OMX_INDEXTYPE nIndex, OMX_PTR pComponentConfigStructure)
OMX_ERRORTYPE omx_audiodec_component_GetExtensionIndex (OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_STRING cParameterName, OMX_OUT OMX_INDEXTYPE *pIndexType)


Detailed Description

This component implements an MP3 decoder. The MP3 decoder is based on FFmpeg software library.

Copyright (C) 2007 STMicroelectronics Copyright (C) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

$Date$ Revision $Rev$ Author $Author$

Definition in file omx_audiodec_component.h.


Define Documentation

#define AUDIO_DEC_AAC_NAME   "OMX.st.audio_decoder.aac"

Definition at line 47 of file omx_audiodec_component.h.

Referenced by omx_audiodec_component_Constructor().

#define AUDIO_DEC_AAC_ROLE   "audio_decoder.aac"

#define AUDIO_DEC_BASE_NAME   "OMX.st.audio_decoder"

#define AUDIO_DEC_MP3_NAME   "OMX.st.audio_decoder.mp3"

#define AUDIO_DEC_MP3_ROLE   "audio_decoder.mp3"

#define AUDIO_DEC_VORBIS_NAME   "OMX.st.audio_decoder.ogg"

#define AUDIO_DEC_VORBIS_ROLE   "audio_decoder.ogg"

#define omx_audiodec_component_PrivateType_FIELDS

AudioDec component private structure.

Definition at line 55 of file omx_audiodec_component.h.


Function Documentation

void omx_audiodec_component_BufferMgmtCallback ( OMX_COMPONENTTYPE openmaxStandComp,
OMX_BUFFERHEADERTYPE pInputBuffer,
OMX_BUFFERHEADERTYPE pOutputBuffer 
)

OMX_ERRORTYPE omx_audiodec_component_ComponentRoleEnum ( OMX_IN OMX_HANDLETYPE  hComponent,
OMX_OUT OMX_U8 cRole,
OMX_IN OMX_U32  nIndex 
)

OMX_ERRORTYPE omx_audiodec_component_Constructor ( OMX_COMPONENTTYPE openmaxStandComp,
OMX_STRING  cComponentName 
)

The Constructor

Calling base filter constructor

Allocate Ports and call port constructor.

Domain specific section for the ports.

first initializing the codec context etc that was done earlier by ffmpeglibinit function

Definition at line 49 of file omx_audiodec_component.c.

References AUDIO_DEC_AAC_NAME, AUDIO_DEC_BASE_NAME, AUDIO_DEC_MP3_NAME, AUDIO_DEC_VORBIS_NAME, base_audio_port_Constructor(), OMX_COMPONENTTYPE::ComponentRoleEnum, DEB_LEV_FUNCTION_NAME, DEBUG, DEFAULT_IN_BUFFER_SIZE, DEFAULT_OUT_BUFFER_SIZE, err, OMX_COMPONENTTYPE::GetExtensionIndex, OMX_COMPONENTTYPE::GetParameter, MAX_COMPONENT_AUDIODEC, OMX_AUDIO_ChannelLF, OMX_AUDIO_ChannelRF, OMX_AUDIO_CodingAAC, OMX_AUDIO_CodingMP3, OMX_AUDIO_CodingPCM, OMX_AUDIO_CodingUnused, OMX_AUDIO_CodingVORBIS, OMX_AUDIO_PCMModeLinear, omx_audiodec_component_BufferMgmtCallback(), omx_audiodec_component_ComponentRoleEnum(), omx_audiodec_component_Destructor(), omx_audiodec_component_GetExtensionIndex(), omx_audiodec_component_GetParameter(), omx_audiodec_component_MessageHandler(), omx_audiodec_component_SetConfig(), omx_audiodec_component_SetInternalParameters(), omx_audiodec_component_SetParameter(), omx_base_filter_Constructor(), OMX_BASE_FILTER_INPUTPORT_INDEX, OMX_BASE_FILTER_OUTPUTPORT_INDEX, OMX_EndianLittle, OMX_ErrorInsufficientResources, OMX_ErrorInvalidComponentName, OMX_ErrorNone, OMX_FALSE, OMX_NumericalDataSigned, OMX_TRUE, OMX_COMPONENTTYPE::pComponentPrivate, OMX_COMPONENTTYPE::SetConfig, setHeader(), OMX_COMPONENTTYPE::SetParameter, and tsem_init().

Referenced by omx_component_library_Setup().

OMX_ERRORTYPE omx_audiodec_component_Deinit ( OMX_COMPONENTTYPE openmaxStandComp  ) 

OMX_ERRORTYPE omx_audiodec_component_Destructor ( OMX_COMPONENTTYPE openmaxStandComp  ) 

OMX_ERRORTYPE omx_audiodec_component_GetExtensionIndex ( OMX_IN OMX_HANDLETYPE  hComponent,
OMX_IN OMX_STRING  cParameterName,
OMX_OUT OMX_INDEXTYPE pIndexType 
)

OMX_ERRORTYPE omx_audiodec_component_GetParameter ( OMX_IN OMX_HANDLETYPE  hComponent,
OMX_IN OMX_INDEXTYPE  nParamIndex,
OMX_INOUT OMX_PTR  ComponentParameterStructure 
)

OMX_ERRORTYPE omx_audiodec_component_Init ( OMX_COMPONENTTYPE openmaxStandComp  ) 

OMX_ERRORTYPE omx_audiodec_component_MessageHandler ( OMX_COMPONENTTYPE ,
internalRequestMessageType  
)

OMX_ERRORTYPE omx_audiodec_component_SetConfig ( OMX_HANDLETYPE  hComponent,
OMX_INDEXTYPE  nIndex,
OMX_PTR  pComponentConfigStructure 
)

void omx_audiodec_component_SetInternalParameters ( OMX_COMPONENTTYPE openmaxStandComp  ) 

OMX_ERRORTYPE omx_audiodec_component_SetParameter ( OMX_IN OMX_HANDLETYPE  hComponent,
OMX_IN OMX_INDEXTYPE  nParamIndex,
OMX_IN OMX_PTR  ComponentParameterStructure 
)


Generated for OpenMAX Bellagio rel. 0.3.5-svn by  doxygen 1.5.1
SourceForge.net Logo