omx_filereader_component.h

Go to the documentation of this file.
00001 
00031 #ifndef _OMX_FILEREADER_COMPONENT_H_
00032 #define _OMX_FILEREADER_COMPONENT_H_
00033 
00034 #ifdef HAVE_CONFIG_H
00035 #include "config.h"
00036 #endif
00037 
00038 #include <OMX_Types.h>
00039 #include <OMX_Component.h>
00040 #include <OMX_Core.h>
00041 #include <OMX_Audio.h>
00042 #include <pthread.h>
00043 #include <omx_base_source.h>
00044 #include <string.h>
00045 
00046 /* Specific include files for FFmpeg library related to decoding*/
00047 #if FFMPEG_LIBNAME_HEADERS
00048 #include <libavcodec/avcodec.h>
00049 #include <libavformat/avformat.h>
00050 #include <libavformat/avio.h>
00051 #else
00052 #include <ffmpeg/avcodec.h>
00053 #include <ffmpeg/avformat.h>
00054 #include <ffmpeg/avio.h>
00055 #endif
00056 
00058 #define MAX_NUM_OF_filereader_component_INSTANCES 1
00059 
00063 DERIVEDCLASS(omx_filereader_component_PrivateType, omx_base_source_PrivateType)
00064 #define omx_filereader_component_PrivateType_FIELDS omx_base_source_PrivateType_FIELDS \
00065  \
00066   OMX_TIME_CONFIG_TIMESTAMPTYPE sTimeStamp; \
00067  \
00068   AVFormatContext *avformatcontext; \
00069  \
00070   AVFormatParameters *avformatparameters; \
00071  \
00072   AVInputFormat *avinputformat; \
00073  \
00074   AVPacket pkt; \
00075  \
00076   OMX_STRING sInputFileName; \
00077  \
00078   OMX_U32 audio_coding_type; \
00079  \
00080   tsem_t* avformatSyncSem; \
00081  \
00082   OMX_BOOL avformatReady;  \
00083  \
00084   OMX_BOOL bIsEOSSent;  
00085 ENDCLASS(omx_filereader_component_PrivateType)
00086 
00087 /* Component private entry points declaration */
00088 OMX_ERRORTYPE omx_filereader_component_Constructor(OMX_COMPONENTTYPE *openmaxStandComp,OMX_STRING cComponentName);
00089 OMX_ERRORTYPE omx_filereader_component_Destructor(OMX_COMPONENTTYPE *openmaxStandComp);
00090 OMX_ERRORTYPE omx_filereader_component_MessageHandler(OMX_COMPONENTTYPE*,internalRequestMessageType*);
00091 OMX_ERRORTYPE omx_filereader_component_Init(OMX_COMPONENTTYPE *openmaxStandComp);
00092 OMX_ERRORTYPE omx_filereader_component_Deinit(OMX_COMPONENTTYPE *openmaxStandComp);
00093 
00094 
00095 void omx_filereader_component_BufferMgmtCallback(
00096   OMX_COMPONENTTYPE *openmaxStandComp,
00097   OMX_BUFFERHEADERTYPE* outputbuffer);
00098 
00099 OMX_ERRORTYPE omx_filereader_component_GetParameter(
00100   OMX_IN  OMX_HANDLETYPE hComponent,
00101   OMX_IN  OMX_INDEXTYPE nParamIndex,
00102   OMX_INOUT OMX_PTR ComponentParameterStructure);
00103 
00104 OMX_ERRORTYPE omx_filereader_component_SetParameter(
00105   OMX_IN  OMX_HANDLETYPE hComponent,
00106   OMX_IN  OMX_INDEXTYPE nParamIndex,
00107   OMX_IN  OMX_PTR ComponentParameterStructure);
00108 
00109 OMX_ERRORTYPE omx_filereader_component_SetConfig(
00110   OMX_IN  OMX_HANDLETYPE hComponent,
00111   OMX_IN  OMX_INDEXTYPE nIndex,
00112   OMX_IN  OMX_PTR pComponentConfigStructure);
00113 
00114 OMX_ERRORTYPE omx_filereader_component_GetConfig(
00115   OMX_IN  OMX_HANDLETYPE hComponent,
00116   OMX_IN  OMX_INDEXTYPE nIndex,
00117   OMX_IN  OMX_PTR pComponentConfigStructure);
00118 
00119 OMX_ERRORTYPE omx_filereader_component_GetExtensionIndex(
00120   OMX_IN  OMX_HANDLETYPE hComponent,
00121   OMX_IN  OMX_STRING cParameterName,
00122   OMX_OUT OMX_INDEXTYPE* pIndexType);
00123 
00124 #endif
00125 

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