1b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 2b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* 3b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * Copyright (C) Texas Instruments - http://www.ti.com/ 4b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * 5b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * This library is free software; you can redistribute it and/or 6b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * modify it under the terms of the GNU Lesser General Public 7b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * License as published by the Free Software Foundation; either 8b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * version 2.1 of the License, or (at your option) any later version. 9b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * 10b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * 11b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * This library is distributed in the hope that it will be useful, 12b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * but WITHOUT ANY WARRANTY; without even the implied warranty of 13b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * Lesser General Public License for more details. 15b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * 16b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * 17b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * You should have received a copy of the GNU Lesser General Public 18b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * License along with this library; if not, write to the Free Software 19b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 21b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ============================================================================= 22b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* Texas Instruments OMAP(TM) Platform Software 23b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* (c) Copyright Texas Instruments, Incorporated. All Rights Reserved. 24b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 25b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* Use of this software is controlled by the terms and conditions found 26b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* in the license agreement under which this software has been supplied. 27b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* ============================================================================ */ 28b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 29b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @file OMX_G726Enc_Utils.h 30b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 31b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* This is an header file for an G726 Encoder that is fully 32b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* compliant with the OMX Audio specification 1.5. 33b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* This the file that the application that uses OMX would include in its code. 34b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 35b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @path $(CSLPATH)\OMAPSW_MPU\linux\audio\src\openmax_il\g726_enc\inc 36b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 37b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @rev 1.0 38b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 39b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* --------------------------------------------------------------------------- */ 40b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ---------------------------------------------------------------------------- 41b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*! 42b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*! Revision History 43b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*! =================================== 44b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*! Gyancarlo Garcia: Initial Verision 45b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*! 05-Oct-2007 46b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*! 47b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* =========================================================================== */ 48b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifndef OMX_G726ENC_UTILS__H 49b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define OMX_G726ENC_UTILS__H 50b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 51b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#include <pthread.h> 52b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#include "LCML_DspCodec.h" 53b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#include <OMX_Component.h> 54b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#include <TIDspOmx.h> 55b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 56b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#ifdef RESOURCE_MANAGER_ENABLED 57b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#include <ResourceManagerProxyAPI.h> 58b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#endif 59b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 60b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifdef UNDER_CE 61b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define sleep Sleep 62b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif 63b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 64b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 65b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 66b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 67b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_DEBUG Turns debug messaging on and off 68b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 69b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 70b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#undef G726ENC_DEBUG 71b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*#define G726ENC_DEBUG*/ 72b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 73b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 74b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_MEMCHECK Turns memory messaging on and off 75b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 76b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 77b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#undef G726ENC_MEMCHECK 78b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 79b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifndef UNDER_CE 80b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 81b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 82b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_DEBUG Debug print macro 83b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 84b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 85b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifdef G726ENC_DEBUG 86b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define G726ENC_DPRINT(...) fprintf(stderr,__VA_ARGS__) 87b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#else 88b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define G726ENC_DPRINT(...) 89b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif 90b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 91b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 92b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_MEMCHECK Memory print macro 93b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 94b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 95b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifdef G726ENC_MEMCHECK 96b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define G726ENC_MEMPRINT(...) fprintf(stderr,__VA_ARGS__) 97b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#else 98b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define G726ENC_MEMPRINT(...) 99b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif 100b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 101b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#else /*UNDER_CE*/ 102b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 103b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 104b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_DEBUG Debug print macro 105b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 106b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 107b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifdef G726ENC_DEBUG 108b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define G726ENC_DPRINT(STR, ARG...) printf() 109b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#else 110b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 111b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif 112b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 113b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 114b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 115b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_MEMCHECK Memory print macro 116b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 117b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 118b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifdef G726ENC_MEMCHECK 119b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define G726ENC_MEMPRINT(STR, ARG...) printf() 120b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#else 121b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 122b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif 123b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 124b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif 125b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 126b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifdef DEBUG 127b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define G726ENC_DPRINT(...) fprintf(stderr,__VA_ARGS__) 128b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define G726ENC_MEMPRINT(...) fprintf(stderr,__VA_ARGS__) 129b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define G726ENC_EPRINT(...) fprintf(stderr,__VA_ARGS__) 130b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#else 131b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define G726ENC_DPRINT(...) 132b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define G726ENC_MEMPRINT(...) 133b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define G726ENC_EPRINT(...) 134b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif 135b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 136b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 137b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 138b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_DEBUGMEM Turns memory leaks messaging on and off. 139b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * APP_DEBUGMEM must be defined in Test App in order to get 140b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * this functionality On. 141b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 142b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 143b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#undef G726ENC_DEBUGMEM 144b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*#define G726ENC_DEBUGMEM*/ 145b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 146b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 147b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 148b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * M A C R O S FOR MALLOC and MEMORY FREE and CLOSING PIPES 149b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 150b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 151b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 152b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define OMX_NBCONF_INIT_STRUCT(_s_, _name_) \ 153b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin memset((_s_), 0x0, sizeof(_name_)); \ 154b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin (_s_)->nSize = sizeof(_name_); \ 155b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin (_s_)->nVersion.s.nVersionMajor = 0x1; \ 156b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin (_s_)->nVersion.s.nVersionMinor = 0x0; \ 157b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin (_s_)->nVersion.s.nRevision = 0x0; \ 158b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin (_s_)->nVersion.s.nStep = 0x0 159b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 160b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define OMX_NBMEMFREE_STRUCT(_pStruct_)\ 161b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin G726ENC_MEMPRINT("%d :: [FREE] %p\n",__LINE__,_pStruct_);\ 162b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin if(_pStruct_ != NULL){\ 163b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin SafeFree(_pStruct_);\ 164b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin _pStruct_ = NULL;\ 165b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin } 166b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 167b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define OMX_NBCLOSE_PIPE(_pStruct_,err)\ 168b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin G726ENC_DPRINT("%d :: CLOSING PIPE \n",__LINE__);\ 169b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin err = close (_pStruct_);\ 170b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin if(0 != err && OMX_ErrorNone == eError){\ 171b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin eError = OMX_ErrorHardware;\ 172b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin printf("%d :: Error while closing pipe\n",__LINE__);\ 173b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin goto EXIT;\ 174b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin } 175b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 176b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define OMX_NBMALLOC_STRUCT(_pStruct_, _sName_) \ 177b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin _pStruct_ = (_sName_*)SafeMalloc(sizeof(_sName_)); \ 178b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin if(_pStruct_ == NULL){ \ 179b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin printf("***********************************\n"); \ 180b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin printf("%d :: Malloc Failed\n",__LINE__); \ 181b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin printf("***********************************\n"); \ 182b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin eError = OMX_ErrorInsufficientResources; \ 183b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin goto EXIT; \ 184b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin } \ 185b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin G726ENC_MEMPRINT("%d :: [ALLOC] %p\n",__LINE__,_pStruct_); 186b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 187b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 188b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 189b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 190b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_NUM_INPUT_BUFFERS Default number of input buffers 191b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 192b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 193b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_NUM_INPUT_BUFFERS 1 194b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 195b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 196b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_NUM_INPUT_BUFFERS_DASF Default No.of input buffers DASF 197b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 198b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 199b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_NUM_INPUT_BUFFERS_DASF 2 200b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 201b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 202b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_NUM_OUTPUT_BUFFERS Default number of output buffers 203b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 204b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 205b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_NUM_OUTPUT_BUFFERS 1 206b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 207b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 208b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_INPUT_BUFFER_SIZE_DASF Default input buffer size DASF 209b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 210b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 211b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_INPUT_BUFFER_SIZE_DASF 80 212b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*16*/ 213b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 214b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 215b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_INPUT_BUFFER_SIZE Default input buffer size DASF 216b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 217b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 218b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_INPUT_BUFFER_SIZE 16 219b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 220b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 221b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_OUTPUT_BUFFER_SIZE Default output buffer size 222b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 223b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 224b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_OUTPUT_BUFFER_SIZE 60 225b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 226b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 227b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 228b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_APP_ID App ID Value setting 229b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 230b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 231b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_APP_ID 100 232b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 233b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 234b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 235b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_SAMPLING_FREQUENCY Sampling frequency 236b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 237b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 238b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_SAMPLING_FREQUENCY 8000 239b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 240b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 241b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_MAX_NUM_OF_BUFS Maximum number of buffers 242b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 243b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 244b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_MAX_NUM_OF_BUFS 10 245b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 246b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 247b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_NUM_OF_PORTS Number of ports 248b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 249b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 250b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_NUM_OF_PORTS 2 251b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 252b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 253b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_XXX_VER Component version 254b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 255b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 256b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_MAJOR_VER 0xF1 257b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_MINOR_VER 0xF2 258b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 259b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 260b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_NOT_USED Defines a value for "don't care" parameters 261b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 262b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 263b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_NOT_USED 10 264b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 265b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 266b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_NORMAL_BUFFER Defines flag value with all flags off 267b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 268b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 269b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_NORMAL_BUFFER 0 270b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 271b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 272b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def OMX_G726ENC_DEFAULT_SEGMENT Default segment ID for the LCML 273b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 274b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 275b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_DEFAULT_SEGMENT (0) 276b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 277b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 278b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def OMX_G726ENC_SN_TIMEOUT Timeout value for the socket node 279b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 280b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 281b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_SN_TIMEOUT (-1) 282b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 283b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 284b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def OMX_G726ENC_SN_PRIORITY Priority for the socket node 285b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 286b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 287b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_SN_PRIORITY (10) 288b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 289b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 290b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_CPU TBD, 50MHz for the moment 291b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 292b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 293b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_CPU (50) 294b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 295b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 296b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def OMX_G726ENC_NUM_DLLS number of DLL's 297b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 298b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 299b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_NUM_DLLS (2) 300b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 301b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 302b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_USN_DLL_NAME USN DLL name 303b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 304b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 305b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifdef UNDER_CE 306b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define G726ENC_USN_DLL_NAME "\\windows\\usn.dll64P" 307b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#else 308b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define G726ENC_USN_DLL_NAME "usn.dll64P" 309b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif 310b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 311b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 312b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 313b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_DLL_NAME G726 Encoder socket node dll name 314b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 315b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 316b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifdef UNDER_CE 317b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define G726ENC_DLL_NAME "\\windows\\g726enc_sn.dll64P" 318b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#else 319b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin #define G726ENC_DLL_NAME "g726enc_sn.dll64P" 320b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif 321b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 322b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 323b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** G726ENC_StreamType Stream types 324b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 325b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param G726ENC_DMM DMM 326b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 327b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param G726ENC_INSTRM Input stream 328b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 329b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param G726ENC_OUTSTRM Output stream 330b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 331b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 332b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavinenum G726ENC_StreamType { 333b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin G726ENC_DMM = 0, 334b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin G726ENC_INSTRM, 335b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin G726ENC_OUTSTRM 336b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin}; 337b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 338b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 339b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 340b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_TIMEOUT Default timeout used to come out of blocking calls 341b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 342b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 343b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_TIMEOUT 1000 344b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 345b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* 346b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_OMX_MAX_TIMEOUTS Max Time Outs 347b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_DONT_CARE Dont Care Condition 348b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_NUM_CHANNELS Number of Channels 349b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_APP_ID App ID Value setting 350b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 351b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 352b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_OMX_MAX_TIMEOUTS 20 353b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_DONT_CARE 0 354b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_NUM_CHANNELS 1 355b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 356b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 357b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def G726ENC_STREAM_COUNT Number of streams 358b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * G726ENC_INPUT_STREAM_ID Stream ID for Input Buffer 359b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 360b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 361b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_STREAM_COUNT 2 362b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_INPUT_STREAM_ID 0 363b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 364b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 365b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** G726ENC_COMP_PORT_TYPE Port types 366b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * 367b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @param G726ENC_INPUT_PORT Input port 368b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * 369b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @param G726ENC_OUTPUT_PORT Output port 370b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */ 371b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ====================================================================== */ 372b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*This enum must not be changed. */ 373b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavintypedef enum G726ENC_COMP_PORT_TYPE { 374b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin G726ENC_INPUT_PORT = 0, 375b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin G726ENC_OUTPUT_PORT 376b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin}G726ENC_COMP_PORT_TYPE; 377b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 378b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 379b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** G726ENC_BUFFER_Dir Buffer Direction 380b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 381b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param G726ENC_DIRECTION_INPUT Input direction 382b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 383b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param G726ENC_DIRECTION_OUTPUT Output direction 384b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 385b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 386b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 387b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavintypedef enum { 388b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin G726ENC_DIRECTION_INPUT, 389b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin G726ENC_DIRECTION_OUTPUT 390b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin}G726ENC_BUFFER_Dir; 391b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 392b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 393b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 394b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 395b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** G726ENC_BUFFS Buffer details 396b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 397b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param BufHeader Buffer header 398b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 399b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param Buffer Buffer 400b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 401b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 402b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 403b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavintypedef struct G726ENC_BUFFS { 404b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin char BufHeader; 405b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin char Buffer; 406b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin}G726ENC_BUFFS; 407b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 408b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 409b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** G726ENC_BUFFERHEADERTYPE_INFO 410b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 411b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pBufHeader 412b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 413b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param bBufOwner 414b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 415b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 416b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 417b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavintypedef struct G726ENC_BUFFERHEADERTYPE_INFO { 418b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BUFFERHEADERTYPE* pBufHeader[G726ENC_MAX_NUM_OF_BUFS]; 419b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin G726ENC_BUFFS bBufOwner[G726ENC_MAX_NUM_OF_BUFS]; 420b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin}G726ENC_BUFFERHEADERTYPE_INFO; 421b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 422b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 423b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavintypedef OMX_ERRORTYPE (*G726ENC_fpo)(OMX_HANDLETYPE); 424b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 425b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 426b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 427b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* Socket node Audio Codec Configuration parameters. 428b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 429b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 430b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavintypedef struct G726ENC_AudioCodecParams { 431b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin unsigned long iSamplingRate; 432b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin unsigned long iStrmId; 433b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin unsigned short iAudioFormat; 434b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin}G726ENC_AudioCodecParams; /*Especified as USN_AudioCodecParams on SN Guide*/ 435b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 436b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 437b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 438b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* G726ENC_ParamStruct Input Buffer Param Structure 439b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* bLastBuffer To Send Last Buufer Flag 440b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 441b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 442b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavintypedef struct G726ENC_ParamStruct { 443b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /*unsigned long bLastBuffer; */ 444b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin unsigned short bLastBuffer; 445b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin} G726ENC_ParamStruct; 446b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 447b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 448b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 449b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* G726ENC_LCML_BUFHEADERTYPE Buffer Header Type 450b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 451b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 452b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavintypedef struct G726ENC_LCML_BUFHEADERTYPE { 453b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin G726ENC_BUFFER_Dir eDir; 454b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin G726ENC_ParamStruct *pIpParam; 455b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* G726ENC_ParamStruct *pOpParam;*/ /*According SN guide, this should not be necessary*/ 456b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BUFFERHEADERTYPE* buffer; 457b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin}G726ENC_LCML_BUFHEADERTYPE; 458b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 459b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavintypedef struct _G726ENC_BUFFERLIST G726ENC_BUFFERLIST; 460b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 461b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 462b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 463b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* _G726ENC_BUFFERLIST Structure for buffer list 464b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 465b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ================================================================================== */ 466b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavinstruct _G726ENC_BUFFERLIST{ 467b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BUFFERHEADERTYPE sBufHdr; 468b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pBufHdr[G726ENC_MAX_NUM_OF_BUFS]; 469b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bufferOwner[G726ENC_MAX_NUM_OF_BUFS]; 470b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bBufferPending[G726ENC_MAX_NUM_OF_BUFS]; 471b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 numBuffers; 472b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin G726ENC_BUFFERLIST *pNextBuf; 473b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin G726ENC_BUFFERLIST *pPrevBuf; 474b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin}; 475b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 476b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 477b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 478b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* G726ENC_PORT_TYPE Structure for PortFormat details 479b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 480b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 481b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavintypedef struct G726ENC_PORT_TYPE { 482b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_HANDLETYPE hTunnelComponent; 483b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nTunnelPort; 484b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BUFFERSUPPLIERTYPE eSupplierSetting; 485b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 nBufferCnt; 486b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_AUDIO_PARAM_PORTFORMATTYPE* pPortFormat; 487b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin} G726ENC_PORT_TYPE; 488b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 489b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 490b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 491b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* G726ENC_COMPONENT_PRIVATE Component private data Structure 492b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 493b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 494b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavintypedef struct G726ENC_COMPONENT_PRIVATE 495b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin{ 496b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** callback Info */ 497b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_CALLBACKTYPE cbInfo; 498b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 499b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** port parameters Info */ 500b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_PORT_PARAM_TYPE* sPortParam; /*Needed??*/ 501b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 502b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** priority management */ 503b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_PRIORITYMGMTTYPE* sPriorityMgmt; 504b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 505b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** port definition structure */ 506b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_PARAM_PORTDEFINITIONTYPE* pPortDef[G726ENC_NUM_OF_PORTS]; 507b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 508b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** port parameter structure */ 509b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_AUDIO_PARAM_G726TYPE* G726Params[G726ENC_NUM_OF_PORTS]; 510b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 511b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Buffer info */ 512b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin G726ENC_BUFFERHEADERTYPE_INFO BufInfo[G726ENC_NUM_OF_PORTS]; 513b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 514b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Component ports */ 515b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin G726ENC_PORT_TYPE *pCompPort[G726ENC_NUM_OF_PORTS]; 516b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 517b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** LCML headers */ 518b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin G726ENC_LCML_BUFHEADERTYPE *pLcmlBufHeader[G726ENC_NUM_OF_PORTS]; 519b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 520b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** This is component handle */ 521b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_COMPONENTTYPE* pHandle; 522b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 523b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Current state of this component */ 524b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_STATETYPE curState; 525b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 526b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** The component thread handle */ 527b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin pthread_t ComponentThread; 528b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 529b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** The pipes for sending buffers to the thread */ 530b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin int dataPipe[2]; 531b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 532b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** The pipes for sending command to the thread */ 533b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin int cmdPipe[2]; 534b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 535b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** The pipes for sending cmd data to the thread */ 536b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin int cmdDataPipe[2]; 537b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 538b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** dasf mode flag */ 539b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 dasfMode; 540b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 541b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** acdn mode flag */ 542b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 acdnMode; 543b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 544b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** rtp mode flag */ 545b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 rtpMode; 546b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 547b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Set to indicate component is stopping */ 548b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bIsStopping; 549b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 550b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** stream ID */ 551b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 streamID; 552b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 553b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** port defaults allocated */ 554b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bPortDefsAllocated; 555b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 556b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** thread started flag */ 557b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bCompThreadStarted; 558b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 559b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** version number */ 560b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nVersion; 561b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 562b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** FillThisBufferCount */ 563b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nFillThisBufferCount; 564b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 565b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** FillBufferDoneCount */ 566b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nFillBufferDoneCount; 567b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 568b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** EmptyThisBufferCount */ 569b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nEmptyThisBufferCount; 570b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 571b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** EmptyBufferDoneCount */ 572b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nEmptyBufferDoneCount; 573b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 574b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** InitParamsInitialized */ 575b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bInitParamsInitialized; 576b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 577b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** NumInputBufPending */ 578b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nNumInputBufPending; 579b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 580b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** NumOutputBufPending */ 581b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nNumOutputBufPending; 582b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 583b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** DisableCommandPending */ 584b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bDisableCommandPending; 585b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 586b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** DisableCommandParam */ 587b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bDisableCommandParam; 588b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 589b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Lcml Handle */ 590b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_HANDLETYPE pLcmlHandle; 591b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 592b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Mark Data pointer */ 593b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_PTR pMarkData; 594b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 595b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Mark Buffer pointer */ 596b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_MARKTYPE *pMarkBuf; 597b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 598b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Mark Target component */ 599b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_HANDLETYPE hMarkTargetComponent; 600b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 601b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** pointer to Input Buffer List */ 602b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin G726ENC_BUFFERLIST *pInputBufferList; 603b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 604b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** pointer to Output Buffer List */ 605b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin G726ENC_BUFFERLIST *pOutputBufferList; 606b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 607b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** LCML stream attributes */ 608b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin LCML_STRMATTR *strmAttr; 609b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 610b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** pointer to audio codec parameters */ 611b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin G726ENC_AudioCodecParams *pParams; 612b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 613b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** component name */ 614b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_STRING cComponentName; 615b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 616b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** component version */ 617b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_VERSIONTYPE ComponentVersion; 618b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 619b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** pending input buffer headers */ 620b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pInputBufHdrPending[G726ENC_MAX_NUM_OF_BUFS]; 621b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 622b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** pending output buffer headers */ 623b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pOutputBufHdrPending[G726ENC_MAX_NUM_OF_BUFS]; 624b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 625b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Flag to set when socket node stop callback should not transition 626b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin component to OMX_StateIdle */ 627b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bNoIdleOnStop; 628b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 629b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Flag set when socket node is stopped */ 630b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 bDspStoppedWhileExecuting; 631b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 632b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Number of outstanding FillBufferDone() calls */ 633b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 nOutStandingFillDones; 634b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 635b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifndef UNDER_CE 636b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** sync mutexes and signals */ 637b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin pthread_mutex_t AlloBuf_mutex; 638b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin pthread_cond_t AlloBuf_threshold; 639b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 AlloBuf_waitingsignal; 640b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 641b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin pthread_mutex_t InLoaded_mutex; 642b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin pthread_cond_t InLoaded_threshold; 643b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 InLoaded_readytoidle; 644b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 645b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin pthread_mutex_t InIdle_mutex; 646b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin pthread_cond_t InIdle_threshold; 647b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 InIdle_goingtoloaded; 648b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif 649b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** pointer to LCML lib */ 650b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin void* ptrLibLCML; 651b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 652b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** frame size array */ 653b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 G726FrameSize[4]; 654b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 655b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** component role */ 656b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_PARAM_COMPONENTROLETYPE componentRole; 657b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 658b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** device string */ 659b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_STRING* sDeviceString; 660b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 661b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** runtime input buffers */ 662b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 nRuntimeInputBuffers; 663b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 664b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** runtime output buffers */ 665b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 nRuntimeOutputBuffers; 666b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 667b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** hold buffer */ 668b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 *pHoldBuffer; 669b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 670b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** hold length */ 671b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U16 nHoldLength; 672b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 673b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** temp buffer */ 674b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 *ptempBuffer; 675b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 676b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** last out buffer arrived */ 677b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BUFFERHEADERTYPE *lastOutBufArrived; 678b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 679b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** last buffer sent */ 680b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 LastBufSent; 681b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 682b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Keep buffer timestamps **/ 683b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_S64 arrTimestamp[G726ENC_MAX_NUM_OF_BUFS]; 684b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Keep buffer nTickCounts **/ 685b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_S64 arrTickCount[G726ENC_MAX_NUM_OF_BUFS]; 686b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Index to arrTimestamp[], used for input buffer timestamps */ 687b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 IpBufindex; 688b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** Index to arrTimestamp[], used for output buffer timestamps */ 689b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 OpBufindex; 690b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 691b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin /** preempted flag */ 692b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BOOL bPreempted; 693b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 694b65f253fdc60f6208a54911bee793d225f23cdf8James Dong /** Pointer to RM callback **/ 695b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#ifdef RESOURCE_MANAGER_ENABLED 696b65f253fdc60f6208a54911bee793d225f23cdf8James Dong RMPROXY_CALLBACKTYPE rmproxyCallback; 697b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#endif 698b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 699b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin} G726ENC_COMPONENT_PRIVATE; 700b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 701b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 702b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifndef UNDER_CE 703b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_ERRORTYPE OMX_ComponentInit (OMX_HANDLETYPE hComp); 704b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#else 705b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* WinCE Implicit Export Syntax */ 706b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define OMX_EXPORT __declspec(dllexport) 707b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 708b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 709b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* OMX_ComponentInit() Initializes component 710b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 711b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 712b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param hComp OMX Handle 713b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 714b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @return OMX_ErrorNone = Successful 715b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* Other error code = fail 716b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 717b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 718b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 719b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_EXPORT OMX_ERRORTYPE OMX_ComponentInit (OMX_HANDLETYPE hComp); 720b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif 721b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 722b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G726ENC_EXIT_COMPONENT_THRD 10 723b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 724b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 725b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* G726ENC_CompThread() Component thread 726b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 727b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 728b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pThreadData void* 729b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 730b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @return void* 731b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 732b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 733b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 734b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavinvoid* G726ENC_CompThread(void* pThreadData); 735b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 736b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 737b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* G726ENC_StartComponentThread() Starts component thread 738b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 739b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 740b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param hComp OMX Handle 741b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 742b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @return OMX_ErrorNone = Successful 743b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* Other error code = fail 744b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 745b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 746b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 747b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G726ENC_StartComponentThread(OMX_HANDLETYPE pHandle); 748b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 749b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 750b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* G726ENC_StopComponentThread() Stops component thread 751b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 752b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 753b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param hComp OMX Handle 754b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 755b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @return OMX_ErrorNone = Successful 756b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* Other error code = fail 757b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 758b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 759b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 760b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G726ENC_StopComponentThread(OMX_HANDLETYPE pHandle); 761b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 762b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 763b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* G726ENC_FreeCompResources() Frees allocated memory 764b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 765b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 766b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param hComp OMX Handle 767b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 768b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @return OMX_ErrorNone = Successful 769b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* Other error code = fail 770b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 771b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 772b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 773b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G726ENC_FreeCompResources(OMX_HANDLETYPE pComponent); 774b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 775b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 776b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* G726ENC_GetCorrespondingLCMLHeader() Returns LCML header 777b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* that corresponds to the given buffer 778b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 779b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pComponentPrivate Component private data 780b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 781b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @return OMX_ErrorNone = Successful 782b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* Other error code = fail 783b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 784b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 785b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G726ENC_GetCorrespondingLCMLHeader( G726ENC_COMPONENT_PRIVATE *pComponentPrivate, 786b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 *pBuffer, 787b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_DIRTYPE eDir, 788b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin G726ENC_LCML_BUFHEADERTYPE **ppLcmlHdr); 789b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 790b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 791b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* G726ENC_LCMLCallback() Callback from LCML 792b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 793b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param event Codec Event 794b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 795b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param args Arguments from LCML 796b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 797b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @return OMX_ErrorNone = Successful 798b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* Other error code = fail 799b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 800b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 801b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G726ENC_LCMLCallback(TUsnCodecEvent event, 802b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin void * args [10]); 803b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 804b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 805b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* G726ENC_FillLCMLInitParams() Fills the parameters needed 806b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* to initialize the LCML 807b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 808b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pHandle OMX Handle 809b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 810b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param plcml_Init LCML initialization parameters 811b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 812b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @return OMX_ErrorNone = Successful 813b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* Other error code = fail 814b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 815b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 816b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 817b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G726ENC_FillLCMLInitParams(OMX_HANDLETYPE pHandle, 818b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin LCML_DSP *plcml_Init, 819b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U16 arr[]); 820b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 821b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 822b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* G726ENC_GetBufferDirection() Returns direction of pBufHeader 823b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 824b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pBufHeader Buffer header 825b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 826b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param eDir Buffer direction 827b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 828b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pComponentPrivate Component private data 829b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 830b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @return OMX_ErrorNone = Successful 831b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* Other error code = fail 832b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 833b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 834b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G726ENC_GetBufferDirection(OMX_BUFFERHEADERTYPE *pBufHeader, 835b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_DIRTYPE *eDir); 836b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =========================================================== */ 837b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 838b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* G726ENC_HandleCommand() Handles commands sent via SendCommand() 839b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 840b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pComponentPrivate Component private data 841b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 842b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @return OMX_ErrorNone = Successful 843b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* Other error code = fail 844b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @return OMX_ErrorNone = Successful 845b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* Other error code = fail 846b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 847b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 848b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_U32 G726ENC_HandleCommand(G726ENC_COMPONENT_PRIVATE *pComponentPrivate); 849b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 850b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 851b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* G726ENC_HandleDataBufFromApp() Handles data buffers received 852b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* from the IL Client 853b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 854b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pComponentPrivate Component private data 855b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 856b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @return OMX_ErrorNone = Successful 857b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* Other error code = fail 858b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @return OMX_ErrorNone = Successful 859b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* Other error code = fail 860b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 861b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 862b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G726ENC_HandleDataBufFromApp(OMX_BUFFERHEADERTYPE *pBufHeader, 863b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin G726ENC_COMPONENT_PRIVATE *pComponentPrivate); 864b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 865b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 866b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* G726ENC_GetLCMLHandle() Get the handle to the LCML 867b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 868b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 869b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @return OMX_ErrorNone = Successful 870b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* Other error code = fail 871b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 872b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 873b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_HANDLETYPE G726ENC_GetLCMLHandle(G726ENC_COMPONENT_PRIVATE *pComponentPrivate); 874b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 875b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 876b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* G726ENC_FreeLCMLHandle() Frees the handle to the LCML 877b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 878b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 879b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @return OMX_ErrorNone = Successful 880b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* Other error code = fail 881b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 882b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 883b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G726ENC_FreeLCMLHandle(); 884b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 885b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 886b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* G726ENC_CleanupInitParams() Starts component thread 887b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 888b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pComponent OMX Handle 889b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 890b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @return OMX_ErrorNone = Successful 891b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* Other error code = fail 892b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 893b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 894b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G726ENC_CleanupInitParams(OMX_HANDLETYPE pHandle); 895b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 896b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 897b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* G726ENC_SetPending() Called when the component queues a buffer 898b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* to the LCML 899b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 900b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pComponentPrivate Component private data 901b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 902b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pBufHdr Buffer header 903b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 904b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param eDir Direction of the buffer 905b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 906b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @return None 907b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 908b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 909b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavinvoid G726ENC_SetPending(G726ENC_COMPONENT_PRIVATE *pComponentPrivate, 910b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pBufHdr, 911b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_DIRTYPE eDir, 912b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 lineNumber); 913b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 914b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 915b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* G726ENC_ClearPending() Called when a buffer is returned 916b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* from the LCML 917b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 918b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pComponentPrivate Component private data 919b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 920b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pBufHdr Buffer header 921b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 922b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param eDir Direction of the buffer 923b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 924b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @return None 925b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 926b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 927b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavinvoid G726ENC_ClearPending(G726ENC_COMPONENT_PRIVATE *pComponentPrivate, 928b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pBufHdr, 929b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_DIRTYPE eDir, 930b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U32 lineNumber); 931b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 932b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 933b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* G726ENC_IsPending() 934b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 935b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 936b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pComponentPrivate Component private data 937b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 938b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @return OMX_ErrorNone = Successful 939b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* Other error code = fail 940b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 941b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 942b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_U32 G726ENC_IsPending(G726ENC_COMPONENT_PRIVATE *pComponentPrivate, 943b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_BUFFERHEADERTYPE *pBufHdr, 944b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_DIRTYPE eDir); 945b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 946b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 947b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* G726ENC_FillLCMLInitParamsEx() Fills the parameters needed 948b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* to initialize the LCML without recreating the socket node 949b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 950b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pComponent OMX Handle 951b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 952b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @return None 953b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 954b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 955b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G726ENC_FillLCMLInitParamsEx(OMX_HANDLETYPE pComponent); 956b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 957b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** 958b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* G726ENC_IsValid() Returns whether a buffer is valid 959b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 960b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 961b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pComponentPrivate Component private data 962b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 963b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param pBuffer Data buffer 964b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 965b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param eDir Buffer direction 966b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 967b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @return OMX_True = Valid 968b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* OMX_False= Invalid 969b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 970b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */ 971b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_U32 G726ENC_IsValid(G726ENC_COMPONENT_PRIVATE *pComponentPrivate, 972b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_U8 *pBuffer, 973b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_DIRTYPE eDir); 974b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 975b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 976b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#ifdef RESOURCE_MANAGER_ENABLED 977b65f253fdc60f6208a54911bee793d225f23cdf8James Dong/*********************************** 978b65f253fdc60f6208a54911bee793d225f23cdf8James Dong * Callback to the RM * 979b65f253fdc60f6208a54911bee793d225f23cdf8James Dong ***********************************/ 980b65f253fdc60f6208a54911bee793d225f23cdf8James Dongvoid G726ENC_ResourceManagerCallback(RMPROXY_COMMANDDATATYPE cbData); 981b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#endif 982b65f253fdc60f6208a54911bee793d225f23cdf8James Dong 983b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */ 984b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** OMX_G726ENC_INDEXAUDIOTYPE Defines the custom configuration settings 985b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* for the component 986b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 987b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* @param OMX_IndexCustomG726ENCModeConfig Sets the DASF mode 988b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 989b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin* 990b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin*/ 991b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ==================================================================== */ 992b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavintypedef enum OMX_G726ENC_INDEXAUDIOTYPE { 993b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_IndexCustomG726ENCModeConfig = 0xFF000001, 994b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_IndexCustomG726ENCStreamIDConfig, 995b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin OMX_IndexCustomG726ENCDataPath 996b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin}OMX_G726ENC_INDEXAUDIOTYPE; 997b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 998b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin 999b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif /* OMX_G726ENC_UTILS__H */ 1000