portbase.h revision cf575e55ba6597c77cf2413245e3f626f75b5005
1c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu/* 2c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu * Copyright (C) 2009 Wind River Systems. 3c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu */ 4c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu 5c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu#ifndef __PORTBASE_H 6c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu#define __PORTBASE_H 7c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu 8c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu#include <OMX_Core.h> 9c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu#include <OMX_Component.h> 10c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu 11c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryuclass PortBase 12c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu{ 13c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryupublic: 14c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu /* 15c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu * constructor & destructor 16c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu */ 17c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu PortBase(); 18c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu PortBase(const OMX_PARAM_PORTDEFINITIONTYPE *param); 19c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu virtual ~PortBase(); 20c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu 21c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu /* end of constructor & destructor */ 22c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu 23cf05610bceb8d988f80ec9696104a8afceb1edfdHo-Eun Ryu /* 24cf05610bceb8d988f80ec9696104a8afceb1edfdHo-Eun Ryu * component methods & helpers 25cf05610bceb8d988f80ec9696104a8afceb1edfdHo-Eun Ryu */ 26cf05610bceb8d988f80ec9696104a8afceb1edfdHo-Eun Ryu /* Get/SetParameter */ 27cf05610bceb8d988f80ec9696104a8afceb1edfdHo-Eun Ryu void SetPortParam( 28cf05610bceb8d988f80ec9696104a8afceb1edfdHo-Eun Ryu const OMX_PARAM_PORTDEFINITIONTYPE *pComponentParameterStructure); 29a85b1f78b03f7027fe94d624ff1b54de9e7d5dadHo-Eun Ryu const OMX_PARAM_PORTDEFINITIONTYPE *GetPortParam(void); 30cf05610bceb8d988f80ec9696104a8afceb1edfdHo-Eun Ryu /* audio parameter */ 31cf05610bceb8d988f80ec9696104a8afceb1edfdHo-Eun Ryu void SetAudioPortParam( 32cf05610bceb8d988f80ec9696104a8afceb1edfdHo-Eun Ryu const OMX_AUDIO_PARAM_PORTFORMATTYPE *pComponentParameterStructure); 33a85b1f78b03f7027fe94d624ff1b54de9e7d5dadHo-Eun Ryu const OMX_AUDIO_PARAM_PORTFORMATTYPE *GetAudioPortParam(void); 34cf05610bceb8d988f80ec9696104a8afceb1edfdHo-Eun Ryu 35cf575e55ba6597c77cf2413245e3f626f75b5005Ho-Eun Ryu /* Use/Allocate/FreeBuffer */ 36cf575e55ba6597c77cf2413245e3f626f75b5005Ho-Eun Ryu OMX_ERRORTYPE UseBuffer(OMX_BUFFERHEADERTYPE **ppBufferHdr, 37cf575e55ba6597c77cf2413245e3f626f75b5005Ho-Eun Ryu OMX_U32 nPortIndex, 38cf575e55ba6597c77cf2413245e3f626f75b5005Ho-Eun Ryu OMX_PTR pAppPrivate, 39cf575e55ba6597c77cf2413245e3f626f75b5005Ho-Eun Ryu OMX_U32 nSizeBytes, 40cf575e55ba6597c77cf2413245e3f626f75b5005Ho-Eun Ryu OMX_U8 *pBuffer); 41cf575e55ba6597c77cf2413245e3f626f75b5005Ho-Eun Ryu OMX_ERRORTYPE AllocateBuffer(OMX_BUFFERHEADERTYPE **ppBuffer, 42cf575e55ba6597c77cf2413245e3f626f75b5005Ho-Eun Ryu OMX_U32 nPortIndex, 43cf575e55ba6597c77cf2413245e3f626f75b5005Ho-Eun Ryu OMX_PTR pAppPrivate, 44cf575e55ba6597c77cf2413245e3f626f75b5005Ho-Eun Ryu OMX_U32 nSizeBytes); 45cf575e55ba6597c77cf2413245e3f626f75b5005Ho-Eun Ryu OMX_ERRORTYPE FreeBuffer(OMX_U32 nPortIndex, 46cf575e55ba6597c77cf2413245e3f626f75b5005Ho-Eun Ryu OMX_BUFFERHEADERTYPE *pBuffer); 47cf575e55ba6597c77cf2413245e3f626f75b5005Ho-Eun Ryu 48cf05610bceb8d988f80ec9696104a8afceb1edfdHo-Eun Ryu /* end of component methods & helpers */ 49cf05610bceb8d988f80ec9696104a8afceb1edfdHo-Eun Ryu 50c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryuprivate: 51c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu /* common routines for constructor */ 52c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu void __PortBase(void); 53cf05610bceb8d988f80ec9696104a8afceb1edfdHo-Eun Ryu 54cf05610bceb8d988f80ec9696104a8afceb1edfdHo-Eun Ryu /* parameter */ 55cf05610bceb8d988f80ec9696104a8afceb1edfdHo-Eun Ryu OMX_PARAM_PORTDEFINITIONTYPE portparam; 56cf05610bceb8d988f80ec9696104a8afceb1edfdHo-Eun Ryu OMX_AUDIO_PARAM_PORTFORMATTYPE audioparam; 57c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu}; 58c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu 59c8c36c18719f55a4fbb3c1efbad24a3644c0d54eHo-Eun Ryu#endif /* __PORTBASE_H */ 60