17 |
17 |
18 #include <stdio.h> |
18 #include <stdio.h> |
19 #include <stdlib.h> |
19 #include <stdlib.h> |
20 #include <assert.h> |
20 #include <assert.h> |
21 #include "xaequalizeritf.h" |
21 #include "xaequalizeritf.h" |
22 #ifdef _GSTREAMER_BACKEND_ |
22 |
23 #include "XAEqualizerItfAdaptation.h" |
23 #include "xaequalizeritfadaptation.h" |
24 #endif |
24 |
25 static const XAuint16 equalizerNumOfPresets = 0; |
25 static const XAuint16 equalizerNumOfPresets = 0; |
26 |
26 |
27 /** |
27 /** |
28 * XAEqualizerItfImpl* GetImpl(XAEqualizerItf self) |
28 * XAEqualizerItfImpl* GetImpl(XAEqualizerItf self) |
29 * Description: Validated interface pointer and cast it to implementations pointer. |
29 * Description: Validated interface pointer and cast it to implementations pointer. |
51 **/ |
51 **/ |
52 XAresult XAEqualizerItfImpl_SetEnabled(XAEqualizerItf self,XAboolean enabled) |
52 XAresult XAEqualizerItfImpl_SetEnabled(XAEqualizerItf self,XAboolean enabled) |
53 { |
53 { |
54 XAresult ret = XA_RESULT_SUCCESS; |
54 XAresult ret = XA_RESULT_SUCCESS; |
55 XAEqualizerItfImpl* impl = GetImpl(self); |
55 XAEqualizerItfImpl* impl = GetImpl(self); |
56 |
56 XAuint16 index = 0; |
57 DEBUG_API("->XAEqualizerItfImpl_SetEnabled"); |
57 DEBUG_API("->XAEqualizerItfImpl_SetEnabled"); |
58 |
58 |
59 if(!impl) |
59 if(!impl) |
60 { |
60 { |
61 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
61 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
62 DEBUG_API("<-XAEqualizerItfImpl_SetEnabled"); |
62 DEBUG_API("<-XAEqualizerItfImpl_SetEnabled"); |
63 /* invalid parameter */ |
63 /* invalid parameter */ |
64 return XA_RESULT_PARAMETER_INVALID; |
64 return XA_RESULT_PARAMETER_INVALID; |
65 } |
65 } |
66 #ifdef _GSTREAMER_BACKEND_ |
66 |
67 XAuint16 index = 0; |
67 |
68 if(enabled && !(impl->enabled)) |
68 if(enabled && !(impl->enabled)) |
69 { |
69 { |
70 for(index = 0; index < EQUALIZER_NUM_OF_BANDS; index++) |
70 for(index = 0; index < EQUALIZER_NUM_OF_BANDS; index++) |
71 { |
71 { |
72 if(impl->changeLevel[index]) |
72 if(impl->changeLevel[index]) |
73 { |
73 { |
74 ret = XAEqualizerItfAdapt_SetBandLevel(impl->adapCtx, index, impl->levels[index]); |
74 ret = XAEqualizerItfAdapt_SetBandLevel((XAAdaptationGstCtx*)impl->adapCtx, index, impl->levels[index]); |
75 |
75 |
76 if(XA_RESULT_SUCCESS == ret) |
76 if(XA_RESULT_SUCCESS == ret) |
77 { |
77 { |
78 impl->changeLevel[index] = XA_BOOLEAN_FALSE; |
78 impl->changeLevel[index] = XA_BOOLEAN_FALSE; |
79 } |
79 } |
82 } |
82 } |
83 else if(!enabled && impl->enabled) |
83 else if(!enabled && impl->enabled) |
84 { |
84 { |
85 for(index = 0; index < EQUALIZER_NUM_OF_BANDS; index++) |
85 for(index = 0; index < EQUALIZER_NUM_OF_BANDS; index++) |
86 { |
86 { |
87 ret = XAEqualizerItfAdapt_SetBandLevel(impl->adapCtx, index, EQUALIZER_DEFAULT_BAND_LEVEL); |
87 ret = XAEqualizerItfAdapt_SetBandLevel((XAAdaptationGstCtx*)impl->adapCtx, index, EQUALIZER_DEFAULT_BAND_LEVEL); |
88 |
88 |
89 if(XA_RESULT_SUCCESS == ret) |
89 if(XA_RESULT_SUCCESS == ret) |
90 { |
90 { |
91 impl->changeLevel[index] = XA_BOOLEAN_FALSE; |
91 impl->changeLevel[index] = XA_BOOLEAN_FALSE; |
92 } |
92 } |
150 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
150 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
151 DEBUG_API("<-XAEqualizerItfImpl_GetNumberOfBands"); |
151 DEBUG_API("<-XAEqualizerItfImpl_GetNumberOfBands"); |
152 /* invalid parameter */ |
152 /* invalid parameter */ |
153 return XA_RESULT_PARAMETER_INVALID; |
153 return XA_RESULT_PARAMETER_INVALID; |
154 } |
154 } |
155 #ifdef _GSTREAMER_BACKEND_ |
155 |
156 *pNumBands = EQUALIZER_NUM_OF_BANDS; |
156 *pNumBands = EQUALIZER_NUM_OF_BANDS; |
157 #endif |
157 |
158 DEBUG_API("<-XAEqualizerItfImpl_GetNumberOfBands"); |
158 DEBUG_API("<-XAEqualizerItfImpl_GetNumberOfBands"); |
159 return ret; |
159 return ret; |
160 } |
160 } |
161 |
161 |
162 /** |
162 /** |
178 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
178 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
179 DEBUG_API("<-XAEqualizerItfImpl_GetBandLevelRange"); |
179 DEBUG_API("<-XAEqualizerItfImpl_GetBandLevelRange"); |
180 /* invalid parameter */ |
180 /* invalid parameter */ |
181 return XA_RESULT_PARAMETER_INVALID; |
181 return XA_RESULT_PARAMETER_INVALID; |
182 } |
182 } |
183 #ifdef _GSTREAMER_BACKEND_ |
183 |
184 ret = XAEqualizerItfAdapt_ThreadEntry(impl->adapCtx); |
184 ret = XAAdaptationBase_ThreadEntry(impl->adapCtx); |
185 if( ret == XA_RESULT_PARAMETER_INVALID || ret == XA_RESULT_PRECONDITIONS_VIOLATED ) |
185 if( ret == XA_RESULT_PARAMETER_INVALID || ret == XA_RESULT_PRECONDITIONS_VIOLATED ) |
186 { |
186 { |
187 DEBUG_API("<-XAEqualizerItfImpl_GetBandLevelRange"); |
187 DEBUG_API("<-XAEqualizerItfImpl_GetBandLevelRange"); |
188 return ret; |
188 return ret; |
189 } |
189 } |
190 ret = XAEqualizerItfAdapt_GetBandLevelRange(impl->adapCtx, pMin, pMax); |
190 ret = XAEqualizerItfAdapt_GetBandLevelRange((XAAdaptationGstCtx*)impl->adapCtx, pMin, pMax); |
191 XAEqualizerItfAdapt_ThreadExit(impl->adapCtx); |
191 XAAdaptationBase_ThreadExit(impl->adapCtx); |
192 #endif |
192 |
193 DEBUG_API("<-XAEqualizerItfImpl_GetBandLevelRange"); |
193 DEBUG_API("<-XAEqualizerItfImpl_GetBandLevelRange"); |
194 return ret; |
194 return ret; |
195 } |
195 } |
196 |
196 |
197 /** |
197 /** |
234 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
234 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
235 DEBUG_API("<-XAEqualizerItfImpl_SetBandLevel"); |
235 DEBUG_API("<-XAEqualizerItfImpl_SetBandLevel"); |
236 /* invalid parameter */ |
236 /* invalid parameter */ |
237 return XA_RESULT_PARAMETER_INVALID; |
237 return XA_RESULT_PARAMETER_INVALID; |
238 } |
238 } |
239 #ifdef _GSTREAMER_BACKEND_ |
239 |
240 ret = XAEqualizerItfAdapt_ThreadEntry(impl->adapCtx); |
240 ret = XAAdaptationBase_ThreadEntry(impl->adapCtx); |
241 if( ret == XA_RESULT_PARAMETER_INVALID || ret == XA_RESULT_PRECONDITIONS_VIOLATED ) |
241 if( ret == XA_RESULT_PARAMETER_INVALID || ret == XA_RESULT_PRECONDITIONS_VIOLATED ) |
242 { |
242 { |
243 DEBUG_API("<-XAEqualizerItfImpl_SetBandLevel"); |
243 DEBUG_API("<-XAEqualizerItfImpl_SetBandLevel"); |
244 return ret; |
244 return ret; |
245 } |
245 } |
246 |
246 |
247 if(impl->enabled) |
247 if(impl->enabled) |
248 { |
248 { |
249 ret = XAEqualizerItfAdapt_SetBandLevel(impl->adapCtx, band, level); |
249 ret = XAEqualizerItfAdapt_SetBandLevel((XAAdaptationGstCtx*)impl->adapCtx, band, level); |
250 if(XA_RESULT_SUCCESS == ret) |
250 if(XA_RESULT_SUCCESS == ret) |
251 { |
251 { |
252 impl->levels[band] = level; |
252 impl->levels[band] = level; |
253 } |
253 } |
254 } |
254 } |
271 **/ |
271 **/ |
272 XAresult XAEqualizerItfImpl_GetBandLevel(XAEqualizerItf self, XAuint16 band, |
272 XAresult XAEqualizerItfImpl_GetBandLevel(XAEqualizerItf self, XAuint16 band, |
273 XAmillibel *pLevel) |
273 XAmillibel *pLevel) |
274 { |
274 { |
275 XAresult ret = XA_RESULT_SUCCESS; |
275 XAresult ret = XA_RESULT_SUCCESS; |
|
276 |
|
277 XAEqualizerItfImpl* impl = GetImpl(self); |
276 DEBUG_API("->XAEqualizerItfImpl_GetBandLevel"); |
278 DEBUG_API("->XAEqualizerItfImpl_GetBandLevel"); |
277 #ifdef _GSTREAMER_BACKEND_ |
279 |
278 XAEqualizerItfImpl* impl = GetImpl(self); |
|
279 if(!impl || !pLevel || band >= EQUALIZER_NUM_OF_BANDS) |
280 if(!impl || !pLevel || band >= EQUALIZER_NUM_OF_BANDS) |
280 { |
281 { |
281 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
282 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
282 DEBUG_API("<-XAEqualizerItfImpl_GetBandLevel"); |
283 DEBUG_API("<-XAEqualizerItfImpl_GetBandLevel"); |
283 /* invalid parameter */ |
284 /* invalid parameter */ |
284 return XA_RESULT_PARAMETER_INVALID; |
285 return XA_RESULT_PARAMETER_INVALID; |
285 } |
286 } |
286 |
287 |
287 *pLevel = impl->levels[band]; |
288 *pLevel = impl->levels[band]; |
288 #endif |
|
289 DEBUG_API("<-XAEqualizerItfImpl_GetBandLevel"); |
289 DEBUG_API("<-XAEqualizerItfImpl_GetBandLevel"); |
290 return ret; |
290 return ret; |
291 } |
291 } |
292 |
292 |
293 /** |
293 /** |
307 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
307 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
308 DEBUG_API("<-XAEqualizerItfImpl_GetCenterFreq"); |
308 DEBUG_API("<-XAEqualizerItfImpl_GetCenterFreq"); |
309 /* invalid parameter */ |
309 /* invalid parameter */ |
310 return XA_RESULT_PARAMETER_INVALID; |
310 return XA_RESULT_PARAMETER_INVALID; |
311 } |
311 } |
312 #ifdef _GSTREAMER_BACKEND_ |
312 |
313 ret = XAEqualizerItfAdapt_ThreadEntry(impl->adapCtx); |
313 ret = XAAdaptationBase_ThreadEntry(impl->adapCtx); |
314 if( ret == XA_RESULT_PARAMETER_INVALID || ret == XA_RESULT_PRECONDITIONS_VIOLATED ) |
314 if( ret == XA_RESULT_PARAMETER_INVALID || ret == XA_RESULT_PRECONDITIONS_VIOLATED ) |
315 { |
315 { |
316 DEBUG_API("<-XAEqualizerItfImpl_GetCenterFreq"); |
316 DEBUG_API("<-XAEqualizerItfImpl_GetCenterFreq"); |
317 return ret; |
317 return ret; |
318 } |
318 } |
319 ret = XAEqualizerItfAdapt_GetCenterFreq(impl->adapCtx, band, pCenter); |
319 ret = XAEqualizerItfAdapt_GetCenterFreq((XAAdaptationGstCtx*)impl->adapCtx, band, pCenter); |
320 |
320 |
321 XAEqualizerItfAdapt_ThreadExit(impl->adapCtx); |
321 XAAdaptationBase_ThreadExit(impl->adapCtx); |
322 #endif |
322 |
323 DEBUG_API("<-XAEqualizerItfImpl_GetCenterFreq"); |
323 DEBUG_API("<-XAEqualizerItfImpl_GetCenterFreq"); |
324 return ret; |
324 return ret; |
325 } |
325 } |
326 |
326 |
327 /** |
327 /** |
354 DEBUG_API("<-XAEqualizerItfImpl_GetBandFreqRange"); |
354 DEBUG_API("<-XAEqualizerItfImpl_GetBandFreqRange"); |
355 /* invalid parameter */ |
355 /* invalid parameter */ |
356 return XA_RESULT_PARAMETER_INVALID; |
356 return XA_RESULT_PARAMETER_INVALID; |
357 } |
357 } |
358 |
358 |
359 #ifdef _GSTREAMER_BACKEND_ |
359 |
360 ret = XAEqualizerItfAdapt_ThreadEntry(impl->adapCtx); |
360 ret = XAAdaptationBase_ThreadEntry(impl->adapCtx); |
361 if( ret == XA_RESULT_PARAMETER_INVALID || ret == XA_RESULT_PRECONDITIONS_VIOLATED ) |
361 if( ret == XA_RESULT_PARAMETER_INVALID || ret == XA_RESULT_PRECONDITIONS_VIOLATED ) |
362 { |
362 { |
363 DEBUG_API("<-XAEqualizerItfImpl_GetBandFreqRange"); |
363 DEBUG_API("<-XAEqualizerItfImpl_GetBandFreqRange"); |
364 return ret; |
364 return ret; |
365 } |
365 } |
366 ret = XAEqualizerItfAdapt_GetBandFreqRange(impl->adapCtx, band, pMin, pMax); |
366 ret = XAEqualizerItfAdapt_GetBandFreqRange((XAAdaptationGstCtx*)impl->adapCtx, band, pMin, pMax); |
367 |
367 |
368 XAEqualizerItfAdapt_ThreadExit(impl->adapCtx); |
368 XAAdaptationBase_ThreadExit(impl->adapCtx); |
369 #endif |
369 |
370 DEBUG_API("<-XAEqualizerItfImpl_GetBandFreqRange"); |
370 DEBUG_API("<-XAEqualizerItfImpl_GetBandFreqRange"); |
371 return ret; |
371 return ret; |
372 } |
372 } |
373 |
373 |
374 /** |
374 /** |
390 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
390 DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); |
391 DEBUG_API("<-XAEqualizerItfImpl_GetBand"); |
391 DEBUG_API("<-XAEqualizerItfImpl_GetBand"); |
392 /* invalid parameter */ |
392 /* invalid parameter */ |
393 return XA_RESULT_PARAMETER_INVALID; |
393 return XA_RESULT_PARAMETER_INVALID; |
394 } |
394 } |
395 #ifdef _GSTREAMER_BACKEND_ |
395 |
396 ret = XAEqualizerItfAdapt_ThreadEntry(impl->adapCtx); |
396 ret = XAAdaptationBase_ThreadEntry(impl->adapCtx); |
397 if( ret == XA_RESULT_PARAMETER_INVALID || ret == XA_RESULT_PRECONDITIONS_VIOLATED ) |
397 if( ret == XA_RESULT_PARAMETER_INVALID || ret == XA_RESULT_PRECONDITIONS_VIOLATED ) |
398 { |
398 { |
399 DEBUG_API("<-XAEqualizerItfImpl_GetBand"); |
399 DEBUG_API("<-XAEqualizerItfImpl_GetBand"); |
400 return ret; |
400 return ret; |
401 } |
401 } |
402 ret = XAEqualizerItfAdapt_GetBand(impl->adapCtx, frequency, pBand); |
402 ret = XAEqualizerItfAdapt_GetBand((XAAdaptationGstCtx*)impl->adapCtx, frequency, pBand); |
403 |
403 |
404 XAEqualizerItfAdapt_ThreadExit(impl->adapCtx); |
404 XAAdaptationBase_ThreadExit(impl->adapCtx); |
405 #endif |
405 |
406 DEBUG_API("<-XAEqualizerItfImpl_GetBand"); |
406 DEBUG_API("<-XAEqualizerItfImpl_GetBand"); |
407 return ret; |
407 return ret; |
408 } |
408 } |
409 |
409 |
410 /** |
410 /** |