00001
00025 #ifndef _OMX_SYMBIANOUTPUTSTREAMSINK_COMPONENT_H_
00026 #define _OMX_SYMBIANOUTPUTSTREAMSINK_COMPONENT_H_
00027
00028 #include <OMX_Types.h>
00029 #include <OMX_Component.h>
00030 #include <OMX_Core.h>
00031 #include <OMX_Audio.h>
00032 #include <pthread.h>
00033 #include <omx_base_sink.h>
00034
00035 #ifdef __cplusplus
00036 extern "C" {
00037 #endif
00038
00040 #define MAX_NUM_OF_symbianoutputstreamsink_component_INSTANCES 1
00041
00044 DERIVEDCLASS(omx_symbianoutputstreamsink_component_PortType, omx_base_PortType)
00045 #define omx_symbianoutputstreamsink_component_PortType_FIELDS omx_base_PortType_FIELDS \
00046 \
00047 OMX_AUDIO_PARAM_PORTFORMATTYPE sAudioParam; \
00048 \
00049 OMX_AUDIO_PARAM_PCMMODETYPE omxAudioParamPcmMode; \
00050 \
00051 OMX_AUDIO_CONFIG_VOLUMETYPE omxAudioConfigVolume; \
00052 \
00053 OMX_AUDIO_CONFIG_CHANNELVOLUMETYPE omxAudioChannelVolume; \
00054 \
00055 OMX_AUDIO_CONFIG_CHANNELMUTETYPE omxAudioChannelMute; \
00056 \
00057 OMX_AUDIO_CONFIG_MUTETYPE omxAudioMute; \
00058 \
00059 char AudioPCMConfigured; \
00060 \
00061 void* output_handle; \
00062 \
00063 OMX_U32 rate;
00064 ENDCLASS(omx_symbianoutputstreamsink_component_PortType)
00065
00066
00069 DERIVEDCLASS(omx_symbianoutputstreamsink_component_PrivateType, omx_base_sink_PrivateType)
00070 #define omx_symbianoutputstreamsink_component_PrivateType_FIELDS omx_base_sink_PrivateType_FIELDS
00071 ENDCLASS(omx_symbianoutputstreamsink_component_PrivateType)
00072
00073
00074 OMX_ERRORTYPE omx_symbianoutputstreamsink_component_Constructor(OMX_COMPONENTTYPE *openmaxStandComp,OMX_STRING cComponentName);
00075 OMX_ERRORTYPE omx_symbianoutputstreamsink_component_Destructor(OMX_COMPONENTTYPE *openmaxStandComp);
00076
00077 void
00078 omx_symbianoutputstreamsink_component_BufferMgmtCallback(OMX_COMPONENTTYPE *openmaxStandComp,
00079 OMX_BUFFERHEADERTYPE* inputbuffer);
00080
00081 OMX_ERRORTYPE
00082 omx_symbianoutputstreamsink_component_SetConfig(OMX_IN OMX_HANDLETYPE hComponent,
00083 OMX_IN OMX_INDEXTYPE nIndex,
00084 OMX_IN OMX_PTR pComponentConfigStructure);
00085
00086 OMX_ERRORTYPE
00087 omx_symbianoutputstreamsink_component_GetParameter(OMX_IN OMX_HANDLETYPE hComponent,
00088 OMX_IN OMX_INDEXTYPE nParamIndex,
00089 OMX_INOUT OMX_PTR ComponentParameterStructure);
00090
00091 OMX_ERRORTYPE
00092 omx_symbianoutputstreamsink_component_SetParameter(OMX_IN OMX_HANDLETYPE hComponent,
00093 OMX_IN OMX_INDEXTYPE nParamIndex,
00094 OMX_IN OMX_PTR ComponentParameterStructure);
00095
00096 OMX_ERRORTYPE
00097 omx_symbianoutputstreamsink_component_GetConfig(OMX_IN OMX_HANDLETYPE hComponent,
00098 OMX_IN OMX_INDEXTYPE nIndex,
00099 OMX_INOUT OMX_PTR pComponentConfigStructure);
00100
00101 OMX_ERRORTYPE
00102 omx_symbianoutputstreamsink_component_Init(OMX_COMPONENTTYPE *openmaxStandComp);
00103
00105 OMX_ERRORTYPE omx_symbianoutputstreamsink_component_DomainCheck(OMX_PARAM_PORTDEFINITIONTYPE pDef);
00106
00107 #ifdef __cplusplus
00108 }
00109 #endif
00110
00111 #endif //_OMX_symbianoutputstreamsink_COMPONENT_H_