00001 00030 #ifndef __OMXVOLCONTROLTEST_H__ 00031 #define __OMXVOLCONTROLTEST_H__ 00032 00033 #include <stdio.h> 00034 #include <stdlib.h> 00035 #include <fcntl.h> 00036 #include <string.h> 00037 #include <pthread.h> 00038 #include <unistd.h> 00039 #include <sys/stat.h> 00040 00041 #include <OMX_Core.h> 00042 #include <OMX_Component.h> 00043 #include <OMX_Types.h> 00044 #include <OMX_Audio.h> 00045 00046 #include <tsemaphore.h> 00047 #include <user_debug_levels.h> 00048 00050 #define VERSIONMAJOR 1 00051 #define VERSIONMINOR 1 00052 #define VERSIONREVISION 0 00053 #define VERSIONSTEP 0 00054 00055 /* Application's private data */ 00056 typedef struct appPrivateType{ 00057 pthread_cond_t condition; 00058 pthread_mutex_t mutex; 00059 void* input_data; 00060 OMX_BUFFERHEADERTYPE* currentInputBuffer; 00061 tsem_t* eventSem; 00062 tsem_t* eofSem; 00063 }appPrivateType; 00064 00065 /* Size of the buffers requested to the component */ 00066 #define BUFFER_IN_SIZE 2*8192 00067 00068 /* Callback prototypes */ 00069 OMX_ERRORTYPE volcEventHandler( 00070 OMX_OUT OMX_HANDLETYPE hComponent, 00071 OMX_OUT OMX_PTR pAppData, 00072 OMX_OUT OMX_EVENTTYPE eEvent, 00073 OMX_OUT OMX_U32 Data1, 00074 OMX_OUT OMX_U32 Data2, 00075 OMX_IN OMX_PTR pEventData); 00076 00077 OMX_ERRORTYPE volcEmptyBufferDone( 00078 OMX_OUT OMX_HANDLETYPE hComponent, 00079 OMX_OUT OMX_PTR pAppData, 00080 OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer); 00081 00082 OMX_ERRORTYPE volcFillBufferDone( 00083 OMX_OUT OMX_HANDLETYPE hComponent, 00084 OMX_OUT OMX_PTR pAppData, 00085 OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer); 00086 00088 static int getFileSize(int fd); 00089 00090 #endif