00001
00033 #ifndef __OMXAUDIODECTEST_H__
00034 #define __OMXAUDIODECTEST_H__
00035
00036 #include <stdio.h>
00037 #include <stdlib.h>
00038 #include <fcntl.h>
00039 #include <string.h>
00040 #include <pthread.h>
00041
00042 #include <OMX_Core.h>
00043 #include <OMX_Component.h>
00044 #include <OMX_Types.h>
00045 #include <OMX_Audio.h>
00046
00047 #include <tsemaphore.h>
00048 #include <user_debug_levels.h>
00049
00050 typedef struct appPrivateType{
00051 tsem_t* filereaderEventSem;
00052 tsem_t* decoderEventSem;
00053 tsem_t* sinkEventSem;
00054 tsem_t* volumeEventSem;
00055 tsem_t* eofSem;
00056 OMX_HANDLETYPE audiodechandle;
00057 OMX_HANDLETYPE audiosinkhandle;
00058 OMX_HANDLETYPE filereaderhandle;
00059 OMX_HANDLETYPE volumehandle;
00060 }appPrivateType;
00061
00062 #define BUFFER_IN_SIZE 4096
00063 #define BUFFER_OUT_SIZE 2*8192
00064
00066 #define VERSIONMAJOR 1
00067 #define VERSIONMINOR 1
00068 #define VERSIONREVISION 0
00069 #define VERSIONSTEP 0
00070
00071
00072 OMX_ERRORTYPE audiodecEventHandler(
00073 OMX_OUT OMX_HANDLETYPE hComponent,
00074 OMX_OUT OMX_PTR pAppData,
00075 OMX_OUT OMX_EVENTTYPE eEvent,
00076 OMX_OUT OMX_U32 Data1,
00077 OMX_OUT OMX_U32 Data2,
00078 OMX_OUT OMX_PTR pEventData);
00079
00080 OMX_ERRORTYPE audiodecEmptyBufferDone(
00081 OMX_OUT OMX_HANDLETYPE hComponent,
00082 OMX_OUT OMX_PTR pAppData,
00083 OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00084
00085 OMX_ERRORTYPE audiodecFillBufferDone(
00086 OMX_OUT OMX_HANDLETYPE hComponent,
00087 OMX_OUT OMX_PTR pAppData,
00088 OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00089
00090 OMX_ERRORTYPE audiosinkEventHandler(
00091 OMX_OUT OMX_HANDLETYPE hComponent,
00092 OMX_OUT OMX_PTR pAppData,
00093 OMX_OUT OMX_EVENTTYPE eEvent,
00094 OMX_OUT OMX_U32 Data1,
00095 OMX_OUT OMX_U32 Data2,
00096 OMX_OUT OMX_PTR pEventData);
00097
00098 OMX_ERRORTYPE audiosinkEmptyBufferDone(
00099 OMX_OUT OMX_HANDLETYPE hComponent,
00100 OMX_OUT OMX_PTR pAppData,
00101 OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00102
00103 OMX_ERRORTYPE filereaderEventHandler(
00104 OMX_OUT OMX_HANDLETYPE hComponent,
00105 OMX_OUT OMX_PTR pAppData,
00106 OMX_OUT OMX_EVENTTYPE eEvent,
00107 OMX_OUT OMX_U32 Data1,
00108 OMX_OUT OMX_U32 Data2,
00109 OMX_OUT OMX_PTR pEventData);
00110
00111 OMX_ERRORTYPE filereaderFillBufferDone(
00112 OMX_OUT OMX_HANDLETYPE hComponent,
00113 OMX_OUT OMX_PTR pAppData,
00114 OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00115
00116 OMX_ERRORTYPE volumeEventHandler(
00117 OMX_OUT OMX_HANDLETYPE hComponent,
00118 OMX_OUT OMX_PTR pAppData,
00119 OMX_OUT OMX_EVENTTYPE eEvent,
00120 OMX_OUT OMX_U32 Data1,
00121 OMX_OUT OMX_U32 Data2,
00122 OMX_OUT OMX_PTR pEventData);
00123
00124 OMX_ERRORTYPE volumeEmptyBufferDone(
00125 OMX_OUT OMX_HANDLETYPE hComponent,
00126 OMX_OUT OMX_PTR pAppData,
00127 OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00128
00129 OMX_ERRORTYPE volumeFillBufferDone(
00130 OMX_OUT OMX_HANDLETYPE hComponent,
00131 OMX_OUT OMX_PTR pAppData,
00132 OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
00133
00134 #endif
00135