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