omx_audiomixer_component.h

Go to the documentation of this file.
00001 
00030 #ifndef _OMX_AUDIO_MIXER_COMPONENT_H_
00031 #define _OMX_AUDIO_MIXER_COMPONENT_H_
00032 
00033 #include <OMX_Types.h>
00034 #include <OMX_Component.h>
00035 #include <OMX_Core.h>
00036 #include <stdlib.h>
00037 #include <string.h>
00038 #include <pthread.h>
00039 #include <omx_base_filter.h>
00040 #include <omx_base_audio_port.h>
00041 
00042 #define MAX_PORTS   5 // Maximum number of ports supported by the mixer. 4 input and 1 output
00043 #define MAX_CHANNEL 6 // Maximum number of channels supported in a single stream 5.1
00044 
00047 DERIVEDCLASS(omx_audio_mixer_component_PortType, omx_base_audio_PortType)
00048 #define omx_audio_mixer_component_PortType_FIELDS omx_base_audio_PortType_FIELDS \
00049   \
00050   OMX_AUDIO_PARAM_PCMMODETYPE pAudioPcmMode; \
00051  \
00052   float gain; \
00053  \
00054   OMX_AUDIO_CONFIG_VOLUMETYPE sVolume; \
00055  \
00056   OMX_AUDIO_CONFIG_CHANNELVOLUMETYPE sChannelVolume[MAX_CHANNEL]; 
00057 ENDCLASS(omx_audio_mixer_component_PortType)
00058 
00059 
00062 DERIVEDCLASS(omx_audio_mixer_component_PrivateType, omx_base_filter_PrivateType)
00063 #define omx_audio_mixer_component_PrivateType_FIELDS omx_base_filter_PrivateType_FIELDS \
00064 
00065 ENDCLASS(omx_audio_mixer_component_PrivateType)
00066 
00067 /* Component private entry points declaration */
00068 OMX_ERRORTYPE omx_audio_mixer_component_Constructor(OMX_COMPONENTTYPE *openmaxStandComp,OMX_STRING cComponentName);
00069 OMX_ERRORTYPE omx_audio_mixer_component_Destructor(OMX_COMPONENTTYPE *openmaxStandComp);
00070 
00071 void omx_audio_mixer_component_BufferMgmtCallback(
00072   OMX_COMPONENTTYPE *openmaxStandComp,
00073   OMX_BUFFERHEADERTYPE* inputbuffer,
00074   OMX_BUFFERHEADERTYPE* outputbuffer);
00075 
00076 OMX_ERRORTYPE omx_audio_mixer_component_GetParameter(
00077   OMX_IN  OMX_HANDLETYPE hComponent,
00078   OMX_IN  OMX_INDEXTYPE nParamIndex,
00079   OMX_INOUT OMX_PTR ComponentParameterStructure);
00080 
00081 OMX_ERRORTYPE omx_audio_mixer_component_SetParameter(
00082   OMX_IN  OMX_HANDLETYPE hComponent,
00083   OMX_IN  OMX_INDEXTYPE nParamIndex,
00084   OMX_IN  OMX_PTR ComponentParameterStructure);
00085 
00086 OMX_ERRORTYPE omx_audio_mixer_component_GetConfig(
00087   OMX_IN  OMX_HANDLETYPE hComponent,
00088   OMX_IN  OMX_INDEXTYPE nIndex,
00089   OMX_INOUT OMX_PTR pComponentConfigStructure);
00090 
00091 OMX_ERRORTYPE omx_audio_mixer_component_SetConfig(
00092   OMX_IN  OMX_HANDLETYPE hComponent,
00093   OMX_IN  OMX_INDEXTYPE nIndex,
00094   OMX_IN  OMX_PTR pComponentConfigStructure);
00095 
00101 void* omx_audio_mixer_BufferMgmtFunction (void* param);
00102 
00103 #endif

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