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_G722Enc_Utils.h
30b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
31b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * This header file contains data and function prototypes for G722 ENCODER OMX
32b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
33b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @path  $(OMAPSW_MPU)\linux\audio\src\openmax_il\g722_enc\inc
34b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
35b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @rev  0.1
36b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
37b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* -----------------------------------------------------------------------------
38b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *!
39b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *! Revision History
40b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *! ===================================
41b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *! Date         Author(s)            Version  Description
42b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *! ---------    -------------------  -------  ---------------------------------
43b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *! 08-Mar-2007  A.Donjon             0.1      Code update for G722 ENCODER
44b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *!
45b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *!
46b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * ================================================================================= */
47b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
48b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
49b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#include <OMX_Component.h>
50b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#include "LCML_DspCodec.h"
51b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#include "OMX_G722Encoder.h"
52b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
53b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define NEWSENDCOMMAND_MEMORY 123
54b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*#endif*/
55b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
56b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#include <TIDspOmx.h>
57b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
58b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ComponentThread constant */
59b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define EXIT_COMPONENT_THRD  10
60b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
61b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
62b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def    G722ENC_XXX_VER    Component version
63b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
64b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
65b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_MAJOR_VER 1
66b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_MINOR_VER 1
67b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
68b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
69b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
70b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def    NOT_USED    Defines a value for "don't care" parameters
71b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
72b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
73b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define NOT_USED 10
74b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
75b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
76b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
77b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def    NORMAL_BUFFER    Defines the flag value with all flags turned off
78b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
79b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
80b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define NORMAL_BUFFER 0
81b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
82b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
83b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
84b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def    OMX_G722ENC_DEFAULT_SEGMENT    Default segment ID for the LCML
85b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
86b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
87b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define OMX_G722ENC_DEFAULT_SEGMENT (0)
88b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
89b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
90b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
91b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
92b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def    OMX_G722ENC_SN_TIMEOUT    Timeout value for the socket node
93b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
94b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
95b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define OMX_G722ENC_SN_TIMEOUT (-1)
96b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
97b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
98b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
99b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def    OMX_G722ENC_SN_PRIORITY   Priority for the socket node
100b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
101b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
102b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define OMX_G722ENC_SN_PRIORITY (10)
103b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
104b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
105b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
106b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def    G722ENC_TIMEOUT_MILLISECONDS   Timeout value for the component thread
107b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
108b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
109b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_TIMEOUT_MILLISECONDS (1000)
110b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
111b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
112b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
113b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def    G722ENC_CACHE_ALIGN_MALLOC   Value to add to the size needed to
114b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *                                     malloc to ensure cache alignment
115b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
116b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
117b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_CACHE_ALIGN_MALLOC 256
118b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
119b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
120b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
121b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def    G722ENC_CACHE_ALIGN_OFFSET   Value to add to the pointer returned
122b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *                                     by malloc to ensure cache alignment
123b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
124b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
125b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_CACHE_ALIGN_OFFSET 128
126b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
127b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
128b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
129b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def    G722ENC_MAX_NUM_OF_BUFS   Maximum number of buffers
130b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
131b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
132b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_MAX_NUM_OF_BUFS 10
133b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
134b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
135b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
136b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
137b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def    USN_DLL_NAME   Path to the USN
138b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
139b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
140b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifdef UNDER_CE
141b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define USN_DLL_NAME "\\windows\\usn.dll64P"
142b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#else
143b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define USN_DLL_NAME "usn.dll64P"
144b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif
145b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
146b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
147b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def    G722ENC_DLL_NAME   Path to the G722ENC SN
148b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
149b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
150b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifdef UNDER_CE
151b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_DLL_NAME "\\windows\\g722enc_sn.dll64P"
152b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#else
153b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_DLL_NAME "g722enc_sn.dll64P"
154b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif
155b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
156b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
157b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def    DONT_CARE   Don't care value for the LCML initialization params
158b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
159b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
160b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define DONT_CARE 0
161b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
162b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
163b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
164b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
165b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def    G722ENC_DEBUG   Turns debug messaging on and off
166b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
167b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
168b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#undef G722ENC_DEBUG
169b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*#define G722ENC_DEBUG*/
170b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
171b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
172b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
173b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def    G722ENC_MEMCHECK   Turns memory messaging on and off
174b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
175b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
176b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#undef G722ENC_MEMCHECK     /* try to avoid the time out due to print message */
177b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
178b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
179b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
180b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
181b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def    G722ENC_DPRINT   Debug print macro
182b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
183b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
184b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
185b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifndef UNDER_CE /* Linux definitions */
186b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifdef  G722ENC_DEBUG
187b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_DPRINT(...)    fprintf(stdout,__VA_ARGS__)
188b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#else
189b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_DPRINT(...)
190b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif
191b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
192b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifdef  G722ENC_MEMCHECK
193b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_MEMPRINT(...)    fprintf(stdout,__VA_ARGS__)
194b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#else
195b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_MEMPRINT(...)
196b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif
197b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
198b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#else
199b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifdef  G722ENC_DEBUG
200b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_DPRINT(STR, ARG...) printf()
201b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#else
202b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif
203b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
204b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
205b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
206b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def    G722ENC_MEMCHECK   Memory print macro
207b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
208b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
209b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifdef G722ENC_MEMCHECK
210b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_MEMPRINT(STR, ARG...) printf()
211b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#else
212b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif
213b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_DPRINT   printf
214b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_MEMPRINT   printf
215b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
216b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif
217b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
218b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifdef UNDER_CE
219b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
220b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifdef DEBUG
221b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_DPRINT   printf
222b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_MEMPRINT   printf
223b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
224b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#else
225b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_DPRINT
226b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_MEMPRINT
227b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif
228b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
229b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif
230b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
231b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
232b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
233b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
234b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def    G722ENC_NUM_OF_PORTS   Number of ports
235b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
236b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
237b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_NUM_OF_PORTS 2
238b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
239b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
240b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
241b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def    G722ENC_NUM_STREAMS   Number of streams
242b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
243b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
244b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_NUM_STREAMS 2
245b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
246b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
247b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
248b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def    G722ENC_NUM_INPUT_DASF_BUFFERS   Number of input buffers
249b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
250b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
251b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_NUM_INPUT_DASF_BUFFERS 2
252b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
253b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
254b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
255b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
256b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def    G722ENC_AM_DEFAULT_RATE   Default audio manager rate
257b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
258b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
259b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_AM_DEFAULT_RATE 48000
260b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
261b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
262b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
263b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @def    G722ENC_SAMPLE_RATE      G722ENC SN sampling frequency
264b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
265b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
266b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define G722ENC_SAMPLE_RATE 16000
267b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
268b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
269b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
270b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  M A C R O S FOR MALLOC and MEMORY FREE and CLOSING PIPES
271b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
272b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
273b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
274b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define OMX_G722CONF_INIT_STRUCT(_s_, _name_)   \
275b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    memset((_s_), 0x0, sizeof(_name_));         \
276b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    (_s_)->nSize = sizeof(_name_);              \
277b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    (_s_)->nVersion.s.nVersionMajor = 0x1;      \
278b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    (_s_)->nVersion.s.nVersionMinor = 0x1;      \
279b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    (_s_)->nVersion.s.nRevision = 0x0;          \
280b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    (_s_)->nVersion.s.nStep = 0x0
281b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
282b65f253fdc60f6208a54911bee793d225f23cdf8James Dong#define OMX_G722MEMFREE_STRUCT(_pStruct_)                           \
283b65f253fdc60f6208a54911bee793d225f23cdf8James Dong    if(_pStruct_ != NULL)                                           \
284b65f253fdc60f6208a54911bee793d225f23cdf8James Dong    {                                                               \
285b65f253fdc60f6208a54911bee793d225f23cdf8James Dong        G722ENC_MEMPRINT("%d :: [FREE] %p\n", __LINE__, _pStruct_); \
286b65f253fdc60f6208a54911bee793d225f23cdf8James Dong        free(_pStruct_);                                            \
287b65f253fdc60f6208a54911bee793d225f23cdf8James Dong        _pStruct_ = NULL;                                           \
288b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    }
289b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
290b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define OMX_G722CLOSE_PIPE(_pStruct_,err)                       \
291b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    G722ENC_DPRINT("%d :: CLOSING PIPE \n", __LINE__);          \
292b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    err = close (_pStruct_);                                    \
293b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    if(0 != err && OMX_ErrorNone == eError)                     \
294b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    {                                                           \
295b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin        eError = OMX_ErrorHardware;                             \
296b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin        printf("%d :: Error while closing pipe\n", __LINE__);   \
297b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin        goto EXIT;                                              \
298b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    }
299b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
300b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define OMX_G722MALLOC_STRUCT(_pStruct_, _sName_)                   \
301b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    _pStruct_ = (_sName_*)malloc(sizeof(_sName_));                  \
302b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    if(_pStruct_ == NULL)                                           \
303b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    {                                                               \
304b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin        printf("***********************************\n");            \
305b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin        printf("%d :: Malloc Failed\n", __LINE__);                  \
306b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin        printf("***********************************\n");            \
307b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin        eError = OMX_ErrorInsufficientResources;                    \
308b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin        goto EXIT;                                                  \
309b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    }                                                               \
310b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    memset(_pStruct_,0,sizeof(_sName_));                            \
311b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    G722ENC_MEMPRINT("%d :: [ALLOC] %p\n", __LINE__, _pStruct_);
312b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
313b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** G722ENC_STREAM_TYPE  Values for create phase params
314b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
315b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param  G722ENCSTREAMDMM             Indicates DMM
316b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
317b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param  G722ENCSTREAMINPUT           Sets input stream
318b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
319b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param  G722ENCSTREAMOUTPUT          Sets output stream
320b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
321b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
322b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*  ==================================================================== */
323b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavintypedef enum {
324b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    G722ENCSTREAMDMM,
325b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    G722ENCSTREAMINPUT,
326b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    G722ENCSTREAMOUTPUT
327b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin} G722ENC_STREAM_TYPE;
328b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
329b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
330b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** IUALG_Cmd  Values for create phase params
331b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
332b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param  IULAG_CMD_STOP               Socket node stop command
333b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
334b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param  IULAG_CMD_PAUSE              Socket node pause command
335b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
336b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param  IULAG_CMD_GETSTATUS          Socket node get status command.
337b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
338b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param  IULAG_CMD_SETSTATUS          Socket node set status command.
339b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
340b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param  IUALG_CMD_USERCMDSTART       Socket node start command.
341b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
342b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
343b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*  ==================================================================== */
344b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavintypedef enum {
345b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    IULAG_CMD_STOP          = 0,
346b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    IULAG_CMD_PAUSE         = 1,
347b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    IULAG_CMD_GETSTATUS     = 2,
348b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    IULAG_CMD_SETSTATUS     = 3,
349b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    IUALG_CMD_USERCMDSTART  = 100
350b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin}IUALG_Cmd;
351b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
352b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
353b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ======================================================================= */
354b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/** G722ENC_COMP_PORT_TYPE  Port definition for component
355b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
356b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param  G722ENC_INPUT_PORT           Index for input port
357b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
358b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param  G722ENC_OUTPUT_PORT          Index for output port
359b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
360b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
361b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*  ==================================================================== */
362b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavintypedef enum G722ENC_COMP_PORT_TYPE {
363b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    G722ENC_INPUT_PORT = 0,
364b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    G722ENC_OUTPUT_PORT
365b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin}G722ENC_COMP_PORT_TYPE;
366b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
367b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
368b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
369b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */
370b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
371b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * Socket node input buffer parameters.
372b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
373b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ================================================================================== */
374b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavintypedef struct G722ENC_UAlgInBufParamStruct {
375b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    unsigned long bLastBuffer;
376b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin}G722ENC_UAlgInBufParamStruct;
377b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
378b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */
379b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
380b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * LCML data header.
381b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
382b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ================================================================================== */
383b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavintypedef struct G722ENC_LCML_BUFHEADERTYPE {
384b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_DIRTYPE eDir;
385b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_BUFFERHEADERTYPE *pBufHdr;
386b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    void *pOtherParams[10];
387b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    G722ENC_UAlgInBufParamStruct *pIpParam;
388b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /*G722ENC_UAlgOutBufParamStruct *pOpParam; */
389b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin}G722ENC_LCML_BUFHEADERTYPE;
390b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
391b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
392b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */
393b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
394b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * Socket node audio codec parameters
395b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
396b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ================================================================================== */
397b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavintypedef struct G722ENC_AudioCodecParams
398b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin{
399b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    unsigned long iSamplingRate;
400b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    unsigned long iStrmId;
401b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    unsigned short iAudioFormat;
402b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
403b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin}G722ENC_AudioCodecParams;
404b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
405b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */
406b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
407b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * Structure for buffer list
408b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
409b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ================================================================================== */
410b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavintypedef struct _BUFFERLIST G722ENC_BUFFERLIST;
411b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavinstruct _BUFFERLIST{
412b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_BUFFERHEADERTYPE *pBufHdr[G722ENC_MAX_NUM_OF_BUFS];  /* records buffer header send by client */
413b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 bufferOwner[G722ENC_MAX_NUM_OF_BUFS];
414b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 numBuffers;
415b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 bBufferPending[G722ENC_MAX_NUM_OF_BUFS];
416b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin};
417b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
418b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* =================================================================================== */
419b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
420b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * Component private data
421b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
422b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ================================================================================== */
423b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavintypedef struct G722ENC_COMPONENT_PRIVATE
424b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin{
425b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Array of pointers to BUFFERHEADERTYPE structues
426b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin        This pBufHeader[G722ENC_INPUT_PORT] will point to all the
427b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin        BUFFERHEADERTYPE structures related to input port,
428b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin        not just one structure. Same is for output port
429b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin        also. */
430b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_BUFFERHEADERTYPE* pBufHeader[G722ENC_NUM_OF_PORTS];
431b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
432b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Structure of callback pointers */
433b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_CALLBACKTYPE cbInfo;
434b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
435b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Handle for use with async callbacks */
436b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_PORT_PARAM_TYPE sPortParam;
437b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
438b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Input port parameters */
439b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_AUDIO_PARAM_PORTFORMATTYPE* pInPortFormat;
440b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
441b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Output port parameters */
442b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_AUDIO_PARAM_PORTFORMATTYPE* pOutPortFormat;
443b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
444b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Keeps track of whether a buffer is owned by the
445b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin        component or by the IL client */
446b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 bIsBufferOwned[G722ENC_NUM_OF_PORTS];
447b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
448b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /* Audio codec parameters structure */
449b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    G722ENC_AudioCodecParams *pParams;
450b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
451b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** This will contain info like how many buffers
452b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin        are there for input/output ports, their size etc, but not
453b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin        BUFFERHEADERTYPE POINTERS. */
454b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_PARAM_PORTDEFINITIONTYPE* pPortDef[G722ENC_NUM_OF_PORTS];
455b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_AUDIO_PARAM_ADPCMTYPE* g722Params;
456b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_AUDIO_PARAM_ADPCMTYPE* pcmParams;
457b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_PRIORITYMGMTTYPE* sPriorityMgmt;
458b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
459b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** This is component handle */
460b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_COMPONENTTYPE* pHandle;
461b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
462b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Current state of this component */
463b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_STATETYPE curState;
464b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
465b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** The component thread handle */
466b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    pthread_t ComponentThread;
467b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
468b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** The pipes for sending buffers to the thread */
469b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    int dataPipe[2];
470b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
471b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** The pipes for sending command data to the thread */
472b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    int cmdDataPipe[2];
473b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
474b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** The pipes for sending buffers to the thread */
475b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    int cmdPipe[2];
476b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
477b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** The pipes for sending buffers to the thread */
478b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    int lcml_Pipe[2];
479b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
480b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Set to indicate component is stopping */
481b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 bIsStopping;
482b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
483b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 bIsEOFSent;
484b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
485b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Count of number of buffers outstanding with bridge */
486b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 lcml_nIpBuf;
487b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
488b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Count of number of buffers outstanding with bridge */
489b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 lcml_nOpBuf;
490b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
491b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Count of buffers sent to the LCML */
492b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 lcml_nCntIp;
493b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
494b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Count of buffers received from the LCML */
495b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 lcml_nCntOpReceived;
496b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
497b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Count of buffers pending from the app */
498b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 app_nBuf;
499b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
500b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Flag for DASF mode */
501b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 dasfmode;
502b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
503b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Audio Stream ID */
504b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 streamID;
505b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
506b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** LCML Handle */
507b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_HANDLETYPE pLcmlHandle;
508b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
509b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** LCML Buffer Header */
510b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    G722ENC_LCML_BUFHEADERTYPE *pLcmlBufHeader[2];
511b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
512b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Tee Mode Flag */
513b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 teemode;
514b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
515b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Flag set when port definitions are allocated */
516b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 bPortDefsAllocated;
517b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
518b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Flag set when component thread is started */
519b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 bCompThreadStarted;
520b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
521b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Mark data */
522b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_PTR pMarkData;
523b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
524b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Mark buffer */
525b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_MARKTYPE *pMarkBuf;
526b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
527b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Mark target component */
528b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_HANDLETYPE hMarkTargetComponent;
529b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
530b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Flag set when buffer should not be queued to the DSP */
531b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 bBypassDSP;
532b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
533b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Create phase arguments */
534b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U16 *pCreatePhaseArgs;
535b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
536b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Input buffer list */
537b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    G722ENC_BUFFERLIST *pInputBufferList;
538b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
539b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Output buffer list */
540b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    G722ENC_BUFFERLIST *pOutputBufferList;
541b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
542b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** LCML stream attributes */
543b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    LCML_STRMATTR *strmAttr;
544b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
545b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Component version */
546b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 nVersion;
547b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
548b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** LCML Handle */
549b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    void *lcml_handle;
550b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
551b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Number of initialized input buffers */
552b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    int noInitInputBuf;
553b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
554b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Number of initialized output buffers */
555b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    int noInitOutputBuf;
556b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
557b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Flag set when LCML handle is opened */
558b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    int bLcmlHandleOpened;
559b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
560b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Flag set when initialization params are set */
561b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 bInitParamsInitialized;
562b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
563b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Pipe write handle for audio manager */
564b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    int fdwrite;
565b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
566b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Pipe read handle for audio manager */
567b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    int fdread;
568b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
569b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Stores input buffers while paused */
570b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_BUFFERHEADERTYPE *pInputBufHdrPending[G722ENC_MAX_NUM_OF_BUFS];
571b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
572b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Number of input buffers received while paused */
573b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 nNumInputBufPending;
574b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
575b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Stores output buffers while paused */
576b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_BUFFERHEADERTYPE *pOutputBufHdrPending[G722ENC_MAX_NUM_OF_BUFS];
577b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
578b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Number of output buffers received while paused */
579b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 nNumOutputBufPending;
580b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
581b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Keeps track of the number of invalid frames that come from the LCML */
582b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 nInvalidFrameCount;
583b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
584b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Flag set when a disable command is pending */
585b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 bDisableCommandPending;
586b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
587b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Parameter for pending disable command */
588b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 bDisableCommandParam;
589b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
590b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Flag to set when socket node stop callback should not transition
591b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin        component to OMX_StateIdle */
592b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 bNoIdleOnStop;
593b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
594b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Flag set when idle command is pending */
595b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 bIdleCommandPending;
596b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
597b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Flag set when socket node is stopped */
598b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 bDspStoppedWhileExecuting;
599b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
600b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Number of outstanding FillBufferDone() calls */
601b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 nOutStandingFillDones;
602b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
603b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Flag set when StrmCtrl has been called */
604b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 bStreamCtrlCalled;
605b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
606b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_PARAM_COMPONENTROLETYPE componentRole;
607b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_STRING* sDeviceString;
608b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_BOOL bLoadedCommandPending;
609b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
610b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Holds the value of RT Mixer mode  */
611b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 rtmx;
612b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    TI_OMX_DSP_DEFINITION tiOmxDspDefinition;
613b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
614b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /* Removing sleep() calls. Definition. */
615b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifndef UNDER_CE
616b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    pthread_mutex_t AlloBuf_mutex;
617b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    pthread_cond_t AlloBuf_threshold;
618b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U8 AlloBuf_waitingsignal;
619b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
620b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    pthread_mutex_t InLoaded_mutex;
621b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    pthread_cond_t InLoaded_threshold;
622b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U8 InLoaded_readytoidle;
623b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
624b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    pthread_mutex_t InIdle_mutex;
625b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    pthread_cond_t InIdle_threshold;
626b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U8 InIdle_goingtoloaded;
627b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#else
628b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_Event AlloBuf_event;
629b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U8 AlloBuf_waitingsignal;
630b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
631b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_Event InLoaded_event;
632b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U8 InLoaded_readytoidle;
633b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
634b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_Event InIdle_event;
635b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U8 InIdle_goingtoloaded;
636b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif
637b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
638b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifdef __PERF_INSTRUMENTATION__
639b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    PERF_OBJHANDLE pPERF, pPERFcomp;
640b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 nLcml_nCntIp;
641b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U32 nLcml_nCntOpReceived;
642b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif
643b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
644b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Keep buffer timestamps **/
645b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_S64 arrTimestamp[G722ENC_MAX_NUM_OF_BUFS];
646b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Keep buffer nTickCounts **/
647b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_S64 arrTickCount[G722ENC_MAX_NUM_OF_BUFS];
648b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Index to arrTimestamp[], used for input buffer timestamps */
649b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U8 IpBufindex;
650b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    /** Index to arrTimestamp[], used for output buffer timestamps */
651b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_U8 OpBufindex;
652b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
653b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
654b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin    OMX_BOOL bPreempted;
655b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
656b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin} G722ENC_COMPONENT_PRIVATE;
657b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
658b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
659b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
660b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  OMX_ComponentInit()  Initializes component
661b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
662b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
663b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param hComp         OMX Handle
664b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
665b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return OMX_ErrorNone = Successful
666b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *          Other error code = fail
667b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
668b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
669b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
670b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#ifndef UNDER_CE
671b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE OMX_ComponentInit (OMX_HANDLETYPE hComp);
672b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#else
673b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*  WinCE Implicit Export Syntax */
674b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#define OMX_EXPORT __declspec(dllexport)
675b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_EXPORT OMX_ERRORTYPE OMX_ComponentInit (OMX_HANDLETYPE hComp);
676b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin#endif
677b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
678b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
679b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
680b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  G722ENC_Fill_LCMLInitParams() Fills the parameters needed
681b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * to initialize the LCML
682b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
683b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pHandle OMX Handle
684b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
685b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param plcml_Init LCML initialization parameters
686b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
687b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return OMX_ErrorNone = Successful
688b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *          Other error code = fail
689b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
690b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
691b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
692b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G722ENC_Fill_LCMLInitParams(OMX_HANDLETYPE pHandle,
693b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin                                          LCML_DSP *plcml_Init);
694b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
695b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
696b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
697b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  G722ENC_GetBufferDirection() Returns direction of pBufHeader
698b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
699b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pBufHeader        Buffer header
700b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
701b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param eDir              Buffer direction
702b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
703b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pComponentPrivate Component private data
704b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
705b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return OMX_ErrorNone = Successful
706b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *          Other error code = fail
707b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
708b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
709b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G722ENC_GetBufferDirection(OMX_BUFFERHEADERTYPE *pBufHeader,
710b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin                                         OMX_DIRTYPE *eDir,
711b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin                                         G722ENC_COMPONENT_PRIVATE *pComponentPrivate);
712b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
713b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
714b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
715b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  G722ENC_LCML_Callback() Callback from LCML
716b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
717b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param event     Codec Event
718b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
719b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param args      Arguments from LCML
720b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
721b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return OMX_ErrorNone = Successful
722b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *          Other error code = fail
723b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
724b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
725b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G722ENC_LCML_Callback (TUsnCodecEvent event,void * args [10]);
726b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
727b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
728b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
729b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  G722ENC_HandleCommand() Handles commands sent via SendCommand()
730b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
731b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pComponentPrivate Component private data
732b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
733b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return OMX_ErrorNone = Successful
734b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *          Other error code = fail
735b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
736b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
737b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_U32 G722ENC_HandleCommand (G722ENC_COMPONENT_PRIVATE *pComponentPrivate);
738b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
739b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
740b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
741b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
742b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  G722ENC_HandleDataBuf_FromApp() Handles data buffers received
743b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * from application
744b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
745b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pBufHeader        Buffer header
746b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
747b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pComponentPrivate Component private data
748b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
749b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return OMX_ErrorNone = Successful
750b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *          Other error code = fail
751b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
752b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
753b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G722ENC_HandleDataBuf_FromApp(OMX_BUFFERHEADERTYPE *pBufHeader,
754b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin                                            G722ENC_COMPONENT_PRIVATE *pComponentPrivate);
755b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
756b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
757b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
758b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
759b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
760b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  G722ENC_HandleDataBuf_FromLCML() Handles data buffers received
761b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * from LCML
762b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
763b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pComponentPrivate Component private data
764b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
765b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return OMX_ErrorNone = Successful
766b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *          Other error code = fail
767b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
768b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
769b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/***** NO LCML *******
770b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin       OMX_ERRORTYPE G722ENC_HandleDataBuf_FromLCML(G722ENC_COMPONENT_PRIVATE*
771b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin       pComponentPrivate);
772b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin**********************/
773b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
774b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
775b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  GetLCMLHandle()
776b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
777b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param
778b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
779b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return *
780b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
781b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
782b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_HANDLETYPE GetLCMLHandle();
783b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
784b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
785b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
786b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
787b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  G722ENC_GetCorresponding_LCMLHeader()  Returns LCML header
788b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * that corresponds to the given buffer
789b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
790b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pComponentPrivate Component private data
791b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
792b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return OMX_ErrorNone = Successful
793b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *          Other error code = fail
794b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
795b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
796b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G722ENC_GetCorresponding_LCMLHeader(OMX_U8 *pBuffer,
797b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin                                                  OMX_DIRTYPE eDir,
798b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin                                                  G722ENC_LCML_BUFHEADERTYPE **ppLcmlHdr);
799b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
800b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
801b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
802b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
803b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  G722Enc_FreeCompResources()  Frees component resources
804b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
805b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pComponent        OMX Handle
806b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
807b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return OMX_ErrorNone = Successful
808b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *          Other error code = fail
809b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
810b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
811b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G722Enc_FreeCompResources(OMX_HANDLETYPE pComponent);
812b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
813b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
814b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
815b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  G722Enc_StartCompThread()  Starts component thread
816b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
817b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pComponent        OMX Handle
818b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
819b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return OMX_ErrorNone = Successful
820b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *          Other error code = fail
821b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
822b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
823b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G722Enc_StartCompThread(OMX_HANDLETYPE pComponent);
824b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
825b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
826b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
827b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  G722ENC_GetLCMLHandle()  Returns handle to the LCML
828b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
829b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
830b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return Handle to the LCML
831b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
832b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
833b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_HANDLETYPE G722ENC_GetLCMLHandle();
834b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
835b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
836b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ========================================================================== */
837b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
838b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @G722ENC_StopComponentThread() This function is called by the component during
839b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * de-init to close component thread.
840b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
841b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @param pComponent  handle for this instance of the component
842b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
843b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @pre
844b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
845b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @post
846b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
847b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * @return none
848b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
849b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ========================================================================== */
850b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G722ENC_StopComponentThread(OMX_HANDLETYPE pComponent);
851b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
852b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
853b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
854b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  G722ENC_FreeLCMLHandle()  Frees the handle to the LCML
855b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
856b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
857b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return OMX_ErrorNone = Successful
858b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *          Other error code = fail
859b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
860b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
861b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G722ENC_FreeLCMLHandle();
862b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
863b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
864b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
865b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
866b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  G722ENC_CleanupInitParams()  Starts component thread
867b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
868b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pComponent        OMX Handle
869b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
870b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return OMX_ErrorNone = Successful
871b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *          Other error code = fail
872b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
873b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
874b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G722ENC_CleanupInitParams(OMX_HANDLETYPE pComponent);
875b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
876b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
877b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
878b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
879b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  G722ENC_CommandToIdle()  Called when the component is commanded
880b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * to idle
881b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
882b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pComponentPrivate     Component private data
883b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
884b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return OMX_ErrorNone = Successful
885b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *          Other error code = fail
886b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
887b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
888b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G722ENC_CommandToIdle(G722ENC_COMPONENT_PRIVATE *pComponentPrivate);
889b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
890b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
891b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
892b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  G722ENC_CommandToIdle()  Called when the component is commanded
893b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * to idle
894b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
895b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pComponentPrivate     Component private data
896b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
897b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return OMX_ErrorNone = Successful
898b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *          Other error code = fail
899b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
900b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
901b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G722ENC_CommandToLoaded(G722ENC_COMPONENT_PRIVATE *pComponentPrivate);
902b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
903b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
904b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
905b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  G722ENC_CommandToExecuting()  Called when the component is commanded
906b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * to executing
907b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
908b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pComponentPrivate     Component private data
909b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
910b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return OMX_ErrorNone = Successful
911b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *          Other error code = fail
912b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
913b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
914b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G722ENC_CommandToExecuting(G722ENC_COMPONENT_PRIVATE *pComponentPrivate);
915b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
916b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
917b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
918b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  G722ENC_CommandToPause()  Called when the component is commanded
919b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * to paused
920b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
921b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pComponentPrivate     Component private data
922b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
923b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return OMX_ErrorNone = Successful
924b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *          Other error code = fail
925b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
926b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
927b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G722ENC_CommandToPause(G722ENC_COMPONENT_PRIVATE *pComponentPrivate);
928b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
929b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
930b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
931b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  G722ENC_CommandToWaitForResources()  Called when the component is commanded
932b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * to WaitForResources
933b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
934b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pComponentPrivate     Component private data
935b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
936b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return OMX_ErrorNone = Successful
937b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *          Other error code = fail
938b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
939b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
940b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G722ENC_CommandToWaitForResources(G722ENC_COMPONENT_PRIVATE *pComponentPrivate);
941b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
942b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
943b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
944b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  G722ENC_SetPending()  Called when the component queues a buffer
945b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * to the LCML
946b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
947b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pComponentPrivate     Component private data
948b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
949b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pBufHdr               Buffer header
950b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
951b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param eDir                  Direction of the buffer
952b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
953b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return None
954b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
955b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
956b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavinvoid G722ENC_SetPending(G722ENC_COMPONENT_PRIVATE *pComponentPrivate, OMX_BUFFERHEADERTYPE *pBufHdr, OMX_DIRTYPE eDir);
957b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
958b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
959b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
960b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  G722ENC_ClearPending()  Called when a buffer is returned
961b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * from the LCML
962b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
963b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pComponentPrivate     Component private data
964b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
965b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pBufHdr               Buffer header
966b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
967b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param eDir                  Direction of the buffer
968b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
969b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return None
970b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
971b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
972b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavinvoid G722ENC_ClearPending(G722ENC_COMPONENT_PRIVATE *pComponentPrivate, OMX_BUFFERHEADERTYPE *pBufHdr, OMX_DIRTYPE eDir) ;
973b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
974b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
975b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
976b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  G722ENC_IsPending()  Returns the status of a buffer
977b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
978b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pComponentPrivate     Component private data
979b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
980b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pBufHdr               Buffer header
981b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
982b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param eDir                  Direction of the buffer
983b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
984b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return None
985b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
986b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
987b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_U32 G722ENC_IsPending(G722ENC_COMPONENT_PRIVATE *pComponentPrivate, OMX_BUFFERHEADERTYPE *pBufHdr, OMX_DIRTYPE eDir);
988b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
989b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
990b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
991b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * G722ENC_Fill_LCMLInitParamsEx()  Fills the parameters needed
992b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin * to initialize the LCML without recreating the socket node
993b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
994b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pComponent            OMX Handle
995b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
996b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return None
997b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
998b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
999b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G722ENC_Fill_LCMLInitParamsEx(OMX_HANDLETYPE pComponent);
1000b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
1001b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
1002b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
1003b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  G722ENC_IsValid() Returns whether the buffer is a valid buffer
1004b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
1005b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pComponentPrivate     Component private data
1006b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
1007b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pBuffer               Buffer
1008b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
1009b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param eDir                  Direction of the buffer
1010b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
1011b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return None
1012b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
1013b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
1014b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_U32 G722ENC_IsValid(G722ENC_COMPONENT_PRIVATE *pComponentPrivate, OMX_U8 *pBuffer, OMX_DIRTYPE eDir) ;
1015b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
1016b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/* ===========================================================  */
1017b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/**
1018b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  G722ENC_TransitionToIdle() Transitions component to idle
1019b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
1020b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
1021b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @param pComponentPrivate     Component private data
1022b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *
1023b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *  @return OMX_ErrorNone = No error
1024b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin *          OMX Error code = Error
1025b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin */
1026b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*================================================================== */
1027b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz ZavinOMX_ERRORTYPE G722ENC_TransitionToIdle(G722ENC_COMPONENT_PRIVATE *pComponentPrivate);
1028b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
1029b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin
1030b44cdb1b44b144d09e8ec950d1e8e4c280064056Rebecca Schultz Zavin/*void printEmmEvent (TUsnCodecEvent event);*/
1031