omx_clocksrc_component.h

Go to the documentation of this file.
00001 
00031 #ifndef _OMX_CLOCKSRC_COMPONENT_H_
00032 #define _OMX_CLOCKSRC_COMPONENT_H_
00033 
00034 #include <OMX_Types.h>
00035 #include <OMX_Component.h>
00036 #include <OMX_Core.h>
00037 #include <OMX_Audio.h>
00038 #include <pthread.h>
00039 #include <omx_base_source.h>
00040 #include <string.h>
00041 #include <sys/time.h>
00042 
00044 #define MAX_CLOCK_PORTS                          8
00045 
00046 
00059 DERIVEDCLASS(omx_clocksrc_component_PrivateType, omx_base_source_PrivateType)
00060 #define omx_clocksrc_component_PrivateType_FIELDS omx_base_source_PrivateType_FIELDS \
00061   OMX_TIME_CONFIG_CLOCKSTATETYPE      sClockState; \
00062   OMX_TIME_CONFIG_ACTIVEREFCLOCKTYPE  sRefClock; \
00063   tsem_t*                             startTimeSem; \
00064   tsem_t*                             clockEventSem; \
00065   tsem_t*                             clockEventCompleteSem; \
00066   OMX_TICKS                           WallTimeBase; \
00067   OMX_TICKS                           MediaTimeBase; \
00068   OMX_TIME_UPDATETYPE                 eUpdateType; \
00069   OMX_TIME_CONFIG_TIMESTAMPTYPE       sMinStartTime; \
00070   OMX_TIME_CONFIG_SCALETYPE           sConfigScale; 
00071 ENDCLASS(omx_clocksrc_component_PrivateType)
00072 
00073 /* Component private entry points declaration */
00074 OMX_ERRORTYPE omx_clocksrc_component_Constructor(OMX_COMPONENTTYPE *openmaxStandComp,OMX_STRING cComponentName);
00075 OMX_ERRORTYPE omx_clocksrc_component_Destructor(OMX_COMPONENTTYPE *openmaxStandComp);
00076 
00077 void omx_clocksrc_component_BufferMgmtCallback(
00078   OMX_COMPONENTTYPE *openmaxStandComp,
00079   OMX_BUFFERHEADERTYPE* inputbuffer);
00080 
00081 OMX_ERRORTYPE omx_clocksrc_component_GetParameter(
00082   OMX_IN  OMX_HANDLETYPE hComponent,
00083   OMX_IN  OMX_INDEXTYPE nParamIndex,
00084   OMX_INOUT OMX_PTR ComponentParameterStructure);
00085 
00086 OMX_ERRORTYPE omx_clocksrc_component_SetParameter(
00087   OMX_IN  OMX_HANDLETYPE hComponent,
00088   OMX_IN  OMX_INDEXTYPE nParamIndex,
00089   OMX_IN  OMX_PTR ComponentParameterStructure);
00090 
00091 OMX_ERRORTYPE omx_clocksrc_component_SetConfig(
00092   OMX_IN  OMX_HANDLETYPE hComponent,
00093   OMX_IN  OMX_INDEXTYPE nIndex,
00094   OMX_IN  OMX_PTR pComponentConfigStructure);
00095 
00096 OMX_ERRORTYPE omx_clocksrc_component_GetConfig(
00097   OMX_IN  OMX_HANDLETYPE hComponent,
00098   OMX_IN  OMX_INDEXTYPE nIndex,
00099   OMX_INOUT OMX_PTR pComponentConfigStructure);
00100 
00101 void* omx_clocksrc_BufferMgmtFunction (void* param);
00102 
00103 OMX_ERRORTYPE omx_clocksrc_component_SendCommand(
00104   OMX_IN  OMX_HANDLETYPE hComponent,
00105   OMX_IN  OMX_COMMANDTYPE Cmd,
00106   OMX_IN  OMX_U32 nParam,
00107   OMX_IN  OMX_PTR pCmdData);
00108 
00109 OMX_ERRORTYPE clocksrc_port_FlushProcessingBuffers(omx_base_PortType *openmaxStandPort);
00110 
00111 #endif

Generated for OpenMAX Bellagio rel. 0.9.0 by  doxygen 1.5.1
SourceForge.net Logo