00001 00027 #include <OMX_Core.h> 00028 #include <OMX_Types.h> 00029 #include <omx_comp_debug_levels.h> 00030 00031 #include <pthread.h> 00032 #include <sys/stat.h> 00033 00034 #include "tsemaphore.h" 00035 00036 /* Application's private data */ 00037 typedef struct appPrivateType{ 00038 pthread_cond_t condition; 00039 pthread_mutex_t mutex; 00040 void* input_data; 00041 OMX_BUFFERHEADERTYPE* currentInputBuffer; 00042 tsem_t* eventSem; 00043 }appPrivateType; 00044 00045 /* Size of the buffers requested to the component */ 00046 #define BUFFER_SIZE (16*1024) 00047 00048 /* Callback prototypes */ 00079 OMX_ERRORTYPE symbianoutputstreamEventHandler( 00080 OMX_OUT OMX_HANDLETYPE hComponent, 00081 OMX_OUT OMX_PTR pAppData, 00082 OMX_OUT OMX_EVENTTYPE eEvent, 00083 OMX_OUT OMX_U32 Data1, 00084 OMX_OUT OMX_U32 Data2, 00085 OMX_OUT OMX_PTR pEventData); 00086 00108 OMX_ERRORTYPE symbianoutputstreamEmptyBufferDone( 00109 OMX_OUT OMX_HANDLETYPE hComponent, 00110 OMX_OUT OMX_PTR pAppData, 00111 OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer); 00112 00136 OMX_ERRORTYPE symbianoutputstreamFillBufferDone( 00137 OMX_OUT OMX_HANDLETYPE hComponent, 00138 OMX_OUT OMX_PTR pAppData, 00139 OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer); 00140 00147 static int getFileSize(int fd);