|
1 /* |
|
2 * Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: This class is the top base class in the Advanced Audio Controller |
|
15 * inheritance hierarchy. Provided are the default implementations. |
|
16 * |
|
17 */ |
|
18 |
|
19 |
|
20 |
|
21 // INCLUDE FILES |
|
22 #include "AdvancedAudioController.h" |
|
23 #include "CustomInterfaceBuilder.h" |
|
24 #include "CustomInterfaceCustomCommandParser.h" |
|
25 #include "sounddevice.h" |
|
26 #include "DebugMacros.h" |
|
27 |
|
28 |
|
29 // ============================ MEMBER FUNCTIONS =============================== |
|
30 |
|
31 // ----------------------------------------------------------------------------- |
|
32 // CAdvancedAudioController::CAdvancedAudioController |
|
33 // C++ default constructor can NOT contain any code, that |
|
34 // might leave. |
|
35 // ----------------------------------------------------------------------------- |
|
36 // |
|
37 EXPORT_C CAdvancedAudioController::CAdvancedAudioController() |
|
38 : MDataSource(KUidMmfFormatEncode), |
|
39 MDataSink(KUidMmfFormatDecode), |
|
40 iDataSource(NULL), |
|
41 iDataSink(NULL), |
|
42 iDuration(0), |
|
43 iTimePositionInMicroSecs(0) |
|
44 { |
|
45 } |
|
46 |
|
47 // Destructor |
|
48 EXPORT_C CAdvancedAudioController::~CAdvancedAudioController() |
|
49 { |
|
50 delete iMMFDevSound; |
|
51 } |
|
52 |
|
53 void CAdvancedAudioController::ConstructL() |
|
54 { |
|
55 iMMFDevSound = CMMFDevSound::NewL(); |
|
56 |
|
57 iMMFDevSound->SetClientThreadInfo( CMMFController::ClientThreadIdL() ); |
|
58 // Construct custom command parsers |
|
59 CMMFAudioControllerCustomCommandParser* audConParser = CMMFAudioControllerCustomCommandParser::NewL(*this); |
|
60 CleanupStack::PushL(audConParser); |
|
61 AddCustomCommandParserL(*audConParser); |
|
62 CleanupStack::Pop(audConParser); |
|
63 |
|
64 CCustomInterfaceCustomCommandParser* customInterfaceParser = CCustomInterfaceCustomCommandParser::NewL(*this); |
|
65 CleanupStack::PushL(customInterfaceParser); |
|
66 AddCustomCommandParserL(*customInterfaceParser); |
|
67 CleanupStack::Pop(customInterfaceParser); |
|
68 } |
|
69 |
|
70 // ----------------------------------------------------------------------------- |
|
71 // CAdvancedAudioController::CreateSourceBufferOfSizeL |
|
72 // Creates a source buffer with the given size. The buffer is then pushed and |
|
73 // left on the cleanupstack. |
|
74 // ----------------------------------------------------------------------------- |
|
75 // |
|
76 EXPORT_C CMMFDataBuffer* CAdvancedAudioController::CreateSourceBufferOfSizeLC( |
|
77 TUint aSize ) |
|
78 { |
|
79 CMMFDataBuffer* buffer = CMMFDataBuffer::NewL(aSize); |
|
80 CleanupStack::PushL(buffer); |
|
81 buffer->Data().FillZ(aSize); |
|
82 buffer->SetRequestSizeL(aSize); |
|
83 buffer->Data().SetLength(0); |
|
84 return buffer; |
|
85 } |
|
86 |
|
87 // ----------------------------------------------------------------------------- |
|
88 // CAdvancedAudioController::ResetSharedBuffersL |
|
89 // Destroys the current buffers and re-populates it with new buffers. |
|
90 // ----------------------------------------------------------------------------- |
|
91 // |
|
92 EXPORT_C void CAdvancedAudioController::ResetSharedBuffersL( |
|
93 TInt aNumOfBuffer, |
|
94 TInt aBufferSize ) |
|
95 { |
|
96 DP0(_L("CAdvancedAudioController::ResetSharedBuffersL")); |
|
97 iSharedBuffers.ResetAndDestroy(); |
|
98 |
|
99 for ( TInt i = 0; i < aNumOfBuffer; i++ ) |
|
100 { |
|
101 CMMFDataBuffer* buffer = CreateSourceBufferOfSizeLC(aBufferSize); |
|
102 DP3(_L("CAdvancedAudioController::ResetSharedBuffersL, index[%d] ptr[%x] size[%d]"), i, buffer->Data().Ptr(), aBufferSize); |
|
103 User::LeaveIfError( iSharedBuffers.Append(buffer) ); |
|
104 CleanupStack::Pop(buffer); // buffer |
|
105 } |
|
106 } |
|
107 |
|
108 // ----------------------------------------------------------------------------- |
|
109 // CAdvancedAudioController::Panic |
|
110 // Raises an AdvancedAudioController panic. |
|
111 // ----------------------------------------------------------------------------- |
|
112 // |
|
113 EXPORT_C void CAdvancedAudioController::Panic( |
|
114 TInt aPanicCode ) |
|
115 { |
|
116 _LIT(KAdvancedAudioControllerPanicCategory, "AdvancedAudioController"); |
|
117 User::Panic(KAdvancedAudioControllerPanicCategory, aPanicCode); |
|
118 } |
|
119 |
|
120 // ----------------------------------------------------------------------------- |
|
121 // CAdvancedAudioController::AddDataSourceL |
|
122 // Provides the default implementation. |
|
123 // ----------------------------------------------------------------------------- |
|
124 // |
|
125 EXPORT_C void CAdvancedAudioController::AddDataSourceL( |
|
126 MDataSource& /*aSource*/ ) |
|
127 { |
|
128 User::Leave(KErrNotSupported); |
|
129 } |
|
130 |
|
131 // ----------------------------------------------------------------------------- |
|
132 // CAdvancedAudioController::AddDataSinkL |
|
133 // Provides the default implementation. |
|
134 // ----------------------------------------------------------------------------- |
|
135 // |
|
136 EXPORT_C void CAdvancedAudioController::AddDataSinkL( |
|
137 MDataSink& /*aSink*/ ) |
|
138 { |
|
139 User::Leave(KErrNotSupported); |
|
140 } |
|
141 |
|
142 // ----------------------------------------------------------------------------- |
|
143 // CAdvancedAudioController::RemoveDataSourceL |
|
144 // Provides the default implementation. |
|
145 // ----------------------------------------------------------------------------- |
|
146 // |
|
147 EXPORT_C void CAdvancedAudioController::RemoveDataSourceL( |
|
148 MDataSource& /*aDataSource*/ ) |
|
149 { |
|
150 User::Leave(KErrNotSupported); |
|
151 } |
|
152 |
|
153 // ----------------------------------------------------------------------------- |
|
154 // CAdvancedAudioController::RemoveDataSinkL |
|
155 // Provides the default implementation. |
|
156 // ----------------------------------------------------------------------------- |
|
157 // |
|
158 EXPORT_C void CAdvancedAudioController::RemoveDataSinkL( |
|
159 MDataSink& /*aDataSink*/ ) |
|
160 { |
|
161 User::Leave(KErrNotSupported); |
|
162 } |
|
163 |
|
164 // ----------------------------------------------------------------------------- |
|
165 // CAdvancedAudioController::ResetL |
|
166 // Provides the default implementation. |
|
167 // ----------------------------------------------------------------------------- |
|
168 // |
|
169 EXPORT_C void CAdvancedAudioController::ResetL() |
|
170 { |
|
171 User::Leave(KErrNotSupported); |
|
172 } |
|
173 |
|
174 // ----------------------------------------------------------------------------- |
|
175 // CAdvancedAudioController::PrimeL |
|
176 // Provides the default implementation. |
|
177 // ----------------------------------------------------------------------------- |
|
178 // |
|
179 EXPORT_C void CAdvancedAudioController::PrimeL() |
|
180 { |
|
181 User::Leave(KErrNotSupported); |
|
182 } |
|
183 |
|
184 // ----------------------------------------------------------------------------- |
|
185 // CAdvancedAudioController::Play |
|
186 // Provides the default implementation. |
|
187 // ----------------------------------------------------------------------------- |
|
188 // |
|
189 EXPORT_C void CAdvancedAudioController::PlayL() |
|
190 { |
|
191 User::Leave(KErrNotSupported); |
|
192 } |
|
193 |
|
194 // ----------------------------------------------------------------------------- |
|
195 // CAdvancedAudioController::Pause |
|
196 // Provides the default implementation. |
|
197 // ----------------------------------------------------------------------------- |
|
198 // |
|
199 EXPORT_C void CAdvancedAudioController::PauseL() |
|
200 { |
|
201 User::Leave(KErrNotSupported); |
|
202 } |
|
203 |
|
204 // ----------------------------------------------------------------------------- |
|
205 // CAdvancedAudioController::StopL |
|
206 // Provides the default implementation. |
|
207 // ----------------------------------------------------------------------------- |
|
208 // |
|
209 EXPORT_C void CAdvancedAudioController::StopL() |
|
210 { |
|
211 User::Leave(KErrNotSupported); |
|
212 } |
|
213 |
|
214 // ----------------------------------------------------------------------------- |
|
215 // CAdvancedAudioController::PositionL |
|
216 // Provides the default implementation. |
|
217 // ----------------------------------------------------------------------------- |
|
218 // |
|
219 EXPORT_C TTimeIntervalMicroSeconds CAdvancedAudioController::PositionL() const |
|
220 { |
|
221 return TTimeIntervalMicroSeconds(0); |
|
222 } |
|
223 |
|
224 // ----------------------------------------------------------------------------- |
|
225 // CAdvancedAudioController::SetPositionL |
|
226 // Provides the default implementation. |
|
227 // ----------------------------------------------------------------------------- |
|
228 // |
|
229 EXPORT_C void CAdvancedAudioController::SetPositionL( |
|
230 const TTimeIntervalMicroSeconds& /*aPosition*/ ) |
|
231 { |
|
232 User::Leave(KErrNotSupported); |
|
233 } |
|
234 |
|
235 // ----------------------------------------------------------------------------- |
|
236 // CAdvancedAudioController::DurationL |
|
237 // Provides the default implementation. |
|
238 // ----------------------------------------------------------------------------- |
|
239 // |
|
240 EXPORT_C TTimeIntervalMicroSeconds CAdvancedAudioController::DurationL() const |
|
241 { |
|
242 DP1(_L("CAdvancedAudioController::DurationL %d"), iDuration); |
|
243 return TTimeIntervalMicroSeconds(iDuration); |
|
244 } |
|
245 |
|
246 // ----------------------------------------------------------------------------- |
|
247 // CAdvancedAudioController::SetPrioritySettings |
|
248 // Provides the default implementation. |
|
249 // ----------------------------------------------------------------------------- |
|
250 // |
|
251 EXPORT_C void CAdvancedAudioController::SetPrioritySettings( |
|
252 const TMMFPrioritySettings& aPrioritySettings ) |
|
253 { |
|
254 iPrioritySettings = aPrioritySettings; |
|
255 iMMFDevSound->SetPrioritySettings(iPrioritySettings); |
|
256 } |
|
257 |
|
258 // ----------------------------------------------------------------------------- |
|
259 // CAdvancedAudioController::GetNumberOfMetaDataEntriesL |
|
260 // Provides the default implementation. |
|
261 // ----------------------------------------------------------------------------- |
|
262 // |
|
263 EXPORT_C void CAdvancedAudioController::GetNumberOfMetaDataEntriesL( |
|
264 TInt& /*aNumberOfEntries*/ ) |
|
265 { |
|
266 User::Leave(KErrNotSupported); |
|
267 } |
|
268 |
|
269 // ----------------------------------------------------------------------------- |
|
270 // CAdvancedAudioController::GetMetaDataEntryL |
|
271 // Provides the default implementation. |
|
272 // ----------------------------------------------------------------------------- |
|
273 // |
|
274 EXPORT_C CMMFMetaDataEntry* CAdvancedAudioController::GetMetaDataEntryL( |
|
275 TInt /*aIndex*/ ) |
|
276 { |
|
277 User::Leave(KErrNotSupported); |
|
278 return NULL; // Need this to suppress compiler warning |
|
279 } |
|
280 |
|
281 // ----------------------------------------------------------------------------- |
|
282 // CAdvancedAudioController::MacSetSourceSampleRateL |
|
283 // Provides the default implementation. |
|
284 // ----------------------------------------------------------------------------- |
|
285 // |
|
286 EXPORT_C void CAdvancedAudioController::MacSetSourceSampleRateL( |
|
287 TUint /*aSampleRate*/ ) |
|
288 { |
|
289 User::Leave(KErrNotSupported); |
|
290 } |
|
291 |
|
292 // ----------------------------------------------------------------------------- |
|
293 // CAdvancedAudioController::MacSetSourceBitRateL |
|
294 // Provides the default implementation. |
|
295 // ----------------------------------------------------------------------------- |
|
296 // |
|
297 EXPORT_C void CAdvancedAudioController::MacSetSourceBitRateL( |
|
298 TUint /*aBitRate*/ ) |
|
299 { |
|
300 User::Leave(KErrNotSupported); |
|
301 } |
|
302 |
|
303 // ----------------------------------------------------------------------------- |
|
304 // CAdvancedAudioController::MacSetSourceNumChannelsL |
|
305 // Provides the default implementation. |
|
306 // ----------------------------------------------------------------------------- |
|
307 // |
|
308 EXPORT_C void CAdvancedAudioController::MacSetSourceNumChannelsL( |
|
309 TUint /*aNumChannels*/ ) |
|
310 { |
|
311 User::Leave(KErrNotSupported); |
|
312 } |
|
313 |
|
314 // ----------------------------------------------------------------------------- |
|
315 // CAdvancedAudioController::MacSetSourceFormatL |
|
316 // Provides the default implementation. |
|
317 // ----------------------------------------------------------------------------- |
|
318 // |
|
319 EXPORT_C void CAdvancedAudioController::MacSetSourceFormatL( |
|
320 TUid /*aFormatUid*/ ) |
|
321 { |
|
322 User::Leave(KErrNotSupported); |
|
323 } |
|
324 |
|
325 // ----------------------------------------------------------------------------- |
|
326 // CAdvancedAudioController::MacSetSourceDataTypeL |
|
327 // Provides the default implementation. |
|
328 // ----------------------------------------------------------------------------- |
|
329 // |
|
330 EXPORT_C void CAdvancedAudioController::MacSetSourceDataTypeL( |
|
331 TFourCC /*aDataType*/ ) |
|
332 { |
|
333 User::Leave(KErrNotSupported); |
|
334 } |
|
335 |
|
336 // ----------------------------------------------------------------------------- |
|
337 // CAdvancedAudioController::MacSetSinkSampleRateL |
|
338 // Provides the default implementation. |
|
339 // ----------------------------------------------------------------------------- |
|
340 // |
|
341 EXPORT_C void CAdvancedAudioController::MacSetSinkSampleRateL( |
|
342 TUint /*aSampleRate*/ ) |
|
343 { |
|
344 User::Leave(KErrNotSupported); |
|
345 } |
|
346 |
|
347 // ----------------------------------------------------------------------------- |
|
348 // CAdvancedAudioController::MacSetSinkBitRateL |
|
349 // Provides the default implementation. |
|
350 // ----------------------------------------------------------------------------- |
|
351 // |
|
352 EXPORT_C void CAdvancedAudioController::MacSetSinkBitRateL( |
|
353 TUint /*aRate*/ ) |
|
354 { |
|
355 User::Leave(KErrNotSupported); |
|
356 } |
|
357 |
|
358 // ----------------------------------------------------------------------------- |
|
359 // CAdvancedAudioController::MacSetSinkNumChannelsL |
|
360 // Provides the default implementation. |
|
361 // ----------------------------------------------------------------------------- |
|
362 // |
|
363 EXPORT_C void CAdvancedAudioController::MacSetSinkNumChannelsL( |
|
364 TUint /*aNumChannels*/ ) |
|
365 { |
|
366 User::Leave(KErrNotSupported); |
|
367 } |
|
368 |
|
369 // ----------------------------------------------------------------------------- |
|
370 // CAdvancedAudioController::MacSetSinkFormatL |
|
371 // Provides the default implementation. |
|
372 // ----------------------------------------------------------------------------- |
|
373 // |
|
374 EXPORT_C void CAdvancedAudioController::MacSetSinkFormatL( |
|
375 TUid /*aFormatUid*/ ) |
|
376 { |
|
377 User::Leave(KErrNotSupported); |
|
378 } |
|
379 |
|
380 // ----------------------------------------------------------------------------- |
|
381 // CAdvancedAudioController::MacSetSinkDataTypeL |
|
382 // Provides the default implementation. |
|
383 // ----------------------------------------------------------------------------- |
|
384 // |
|
385 EXPORT_C void CAdvancedAudioController::MacSetSinkDataTypeL( |
|
386 TFourCC /*aDataType*/ ) |
|
387 { |
|
388 User::Leave(KErrNotSupported); |
|
389 } |
|
390 |
|
391 // ----------------------------------------------------------------------------- |
|
392 // CAdvancedAudioController::MacSetCodecL |
|
393 // Provides the default implementation. |
|
394 // ----------------------------------------------------------------------------- |
|
395 // |
|
396 EXPORT_C void CAdvancedAudioController::MacSetCodecL( |
|
397 TFourCC /*aSourceDataType*/, |
|
398 TFourCC /*aSinkDataType*/ ) |
|
399 { |
|
400 User::Leave(KErrNotSupported); |
|
401 } |
|
402 |
|
403 // ----------------------------------------------------------------------------- |
|
404 // CAdvancedAudioController::MacGetSourceSampleRateL |
|
405 // Provides the default implementation. |
|
406 // ----------------------------------------------------------------------------- |
|
407 // |
|
408 EXPORT_C void CAdvancedAudioController::MacGetSourceSampleRateL( |
|
409 TUint& /*aRate*/ ) |
|
410 { |
|
411 User::Leave(KErrNotSupported); |
|
412 } |
|
413 |
|
414 // ----------------------------------------------------------------------------- |
|
415 // CAdvancedAudioController::MacGetSourceBitRateL |
|
416 // Provides the default implementation. |
|
417 // ----------------------------------------------------------------------------- |
|
418 // |
|
419 EXPORT_C void CAdvancedAudioController::MacGetSourceBitRateL( |
|
420 TUint& /*aRate*/ ) |
|
421 { |
|
422 User::Leave(KErrNotSupported); |
|
423 } |
|
424 |
|
425 // ----------------------------------------------------------------------------- |
|
426 // CAdvancedAudioController::MacGetSourceNumChannelsL |
|
427 // Provides the default implementation. |
|
428 // ----------------------------------------------------------------------------- |
|
429 // |
|
430 EXPORT_C void CAdvancedAudioController::MacGetSourceNumChannelsL( |
|
431 TUint& /*aNumChannels*/ ) |
|
432 { |
|
433 User::Leave(KErrNotSupported); |
|
434 } |
|
435 |
|
436 // ----------------------------------------------------------------------------- |
|
437 // CAdvancedAudioController::MacGetSourceFormatL |
|
438 // Provides the default implementation. |
|
439 // ----------------------------------------------------------------------------- |
|
440 // |
|
441 EXPORT_C void CAdvancedAudioController::MacGetSourceFormatL( |
|
442 TUid& /*aFormat*/ ) |
|
443 { |
|
444 User::Leave(KErrNotSupported); |
|
445 } |
|
446 |
|
447 // ----------------------------------------------------------------------------- |
|
448 // CAdvancedAudioController::MacGetSourceDataTypeL |
|
449 // Provides the default implementation. |
|
450 // ----------------------------------------------------------------------------- |
|
451 // |
|
452 EXPORT_C void CAdvancedAudioController::MacGetSourceDataTypeL( |
|
453 TFourCC& /*aDataType*/ ) |
|
454 { |
|
455 User::Leave(KErrNotSupported); |
|
456 } |
|
457 |
|
458 // ----------------------------------------------------------------------------- |
|
459 // CAdvancedAudioController::MacGetSinkSampleRateL |
|
460 // Provides the default implementation. |
|
461 // ----------------------------------------------------------------------------- |
|
462 // |
|
463 EXPORT_C void CAdvancedAudioController::MacGetSinkSampleRateL( |
|
464 TUint& /*aRate*/ ) |
|
465 { |
|
466 User::Leave(KErrNotSupported); |
|
467 } |
|
468 |
|
469 // ----------------------------------------------------------------------------- |
|
470 // CAdvancedAudioController::MacGetSinkBitRateL |
|
471 // Provides the default implementation. |
|
472 // ----------------------------------------------------------------------------- |
|
473 // |
|
474 EXPORT_C void CAdvancedAudioController::MacGetSinkBitRateL( |
|
475 TUint& /*aRate*/ ) |
|
476 { |
|
477 User::Leave(KErrNotSupported); |
|
478 } |
|
479 |
|
480 // ----------------------------------------------------------------------------- |
|
481 // CAdvancedAudioController::MacGetSinkNumChannelsL |
|
482 // Provides the default implementation. |
|
483 // ----------------------------------------------------------------------------- |
|
484 // |
|
485 EXPORT_C void CAdvancedAudioController::MacGetSinkNumChannelsL( |
|
486 TUint& /*aNumChannels*/ ) |
|
487 { |
|
488 User::Leave(KErrNotSupported); |
|
489 } |
|
490 |
|
491 // ----------------------------------------------------------------------------- |
|
492 // CAdvancedAudioController::MacGetSinkFormatL |
|
493 // Provides the default implementation. |
|
494 // ----------------------------------------------------------------------------- |
|
495 // |
|
496 EXPORT_C void CAdvancedAudioController::MacGetSinkFormatL( |
|
497 TUid& /*aFormat*/ ) |
|
498 { |
|
499 User::Leave(KErrNotSupported); |
|
500 } |
|
501 |
|
502 // ----------------------------------------------------------------------------- |
|
503 // CAdvancedAudioController::MacGetSinkDataTypeL |
|
504 // Provides the default implementation. |
|
505 // ----------------------------------------------------------------------------- |
|
506 // |
|
507 EXPORT_C void CAdvancedAudioController::MacGetSinkDataTypeL( |
|
508 TFourCC& /*aDataType*/ ) |
|
509 { |
|
510 User::Leave(KErrNotSupported); |
|
511 } |
|
512 |
|
513 // ----------------------------------------------------------------------------- |
|
514 // CAdvancedAudioController::MacGetSupportedSourceSampleRatesL |
|
515 // Provides the default implementation. |
|
516 // ----------------------------------------------------------------------------- |
|
517 // |
|
518 EXPORT_C void CAdvancedAudioController::MacGetSupportedSourceSampleRatesL( |
|
519 RArray<TUint>& /*aSupportedRates*/ ) |
|
520 { |
|
521 User::Leave(KErrNotSupported); |
|
522 } |
|
523 |
|
524 // ----------------------------------------------------------------------------- |
|
525 // CAdvancedAudioController::MacGetSupportedSourceBitRatesL |
|
526 // Provides the default implementation. |
|
527 // ----------------------------------------------------------------------------- |
|
528 // |
|
529 EXPORT_C void CAdvancedAudioController::MacGetSupportedSourceBitRatesL( |
|
530 RArray<TUint>& /*aSupportedRates*/ ) |
|
531 { |
|
532 User::Leave(KErrNotSupported); |
|
533 } |
|
534 |
|
535 // ----------------------------------------------------------------------------- |
|
536 // CAdvancedAudioController::MacGetSupportedSourceNumChannelsL |
|
537 // Provides the default implementation. |
|
538 // ----------------------------------------------------------------------------- |
|
539 // |
|
540 EXPORT_C void CAdvancedAudioController::MacGetSupportedSourceNumChannelsL( |
|
541 RArray<TUint>& /*aSupportedChannels*/ ) |
|
542 { |
|
543 User::Leave(KErrNotSupported); |
|
544 } |
|
545 |
|
546 // ----------------------------------------------------------------------------- |
|
547 // CAdvancedAudioController::MacGetSupportedSourceDataTypesL |
|
548 // Provides the default implementation. |
|
549 // ----------------------------------------------------------------------------- |
|
550 // |
|
551 EXPORT_C void CAdvancedAudioController::MacGetSupportedSourceDataTypesL( |
|
552 RArray<TFourCC>& /*aSupportedDataTypes*/ ) |
|
553 { |
|
554 User::Leave(KErrNotSupported); |
|
555 } |
|
556 |
|
557 // ----------------------------------------------------------------------------- |
|
558 // CAdvancedAudioController::MacGetSupportedSinkSampleRatesL |
|
559 // Provides the default implementation. |
|
560 // ----------------------------------------------------------------------------- |
|
561 // |
|
562 EXPORT_C void CAdvancedAudioController::MacGetSupportedSinkSampleRatesL( |
|
563 RArray<TUint>& /*aSupportedRates*/ ) |
|
564 { |
|
565 User::Leave(KErrNotSupported); |
|
566 } |
|
567 |
|
568 // ----------------------------------------------------------------------------- |
|
569 // CAdvancedAudioController::MacGetSupportedSinkBitRatesL |
|
570 // Provides the default implementation. |
|
571 // ----------------------------------------------------------------------------- |
|
572 // |
|
573 EXPORT_C void CAdvancedAudioController::MacGetSupportedSinkBitRatesL( |
|
574 RArray<TUint>& /*aSupportedRates*/ ) |
|
575 { |
|
576 User::Leave(KErrNotSupported); |
|
577 } |
|
578 |
|
579 // ----------------------------------------------------------------------------- |
|
580 // CAdvancedAudioController::MacGetSupportedSinkNumChannelsL |
|
581 // Provides the default implementation. |
|
582 // ----------------------------------------------------------------------------- |
|
583 // |
|
584 EXPORT_C void CAdvancedAudioController::MacGetSupportedSinkNumChannelsL( |
|
585 RArray<TUint>& /*aSupportedChannels*/ ) |
|
586 { |
|
587 User::Leave(KErrNotSupported); |
|
588 } |
|
589 |
|
590 // ----------------------------------------------------------------------------- |
|
591 // CAdvancedAudioController::MacGetSupportedSinkDataTypesL |
|
592 // Provides the default implementation. |
|
593 // ----------------------------------------------------------------------------- |
|
594 // |
|
595 EXPORT_C void CAdvancedAudioController::MacGetSupportedSinkDataTypesL( |
|
596 RArray<TFourCC>& /*aSupportedDataTypes*/ ) |
|
597 { |
|
598 User::Leave(KErrNotSupported); |
|
599 } |
|
600 |
|
601 // ----------------------------------------------------------------------------- |
|
602 // CAdvancedAudioController::SendEventToClient |
|
603 // Provides the default implementation. |
|
604 // ----------------------------------------------------------------------------- |
|
605 // |
|
606 EXPORT_C TInt CAdvancedAudioController::SendEventToClient( |
|
607 const TMMFEvent& aEvent ) |
|
608 { |
|
609 DP1(_L("Error code at SendEventToClient [%d]"), aEvent.iErrorCode); |
|
610 DP1(_L("Event type at SendEventToClient [%d]"), aEvent.iEventType); |
|
611 TMMFEvent eventParamsChange; |
|
612 eventParamsChange.iErrorCode = aEvent.iErrorCode; |
|
613 eventParamsChange.iEventType = aEvent.iEventType; |
|
614 |
|
615 // This Change has been made for a special Case Scenario. |
|
616 // If the MMC card is taken out during an Incoming call |
|
617 // and the ringtone is in MMC, CMMFFile sends up |
|
618 // a Event type KMMFErrorCategoryControllerGeneralError, |
|
619 // instead of KMMFEventCategoryPlaybackComplete |
|
620 // which the client expects. |
|
621 //TSW: EAKN-63D9FW |
|
622 |
|
623 if (aEvent.iEventType == KMMFErrorCategoryControllerGeneralError) |
|
624 { |
|
625 eventParamsChange.iEventType = KMMFEventCategoryPlaybackComplete ; |
|
626 } |
|
627 |
|
628 return DoSendEventToClient(eventParamsChange); |
|
629 |
|
630 } |
|
631 |
|
632 // ----------------------------------------------------------------------------- |
|
633 // From MDataSource |
|
634 // Provides the default implementation. |
|
635 // ----------------------------------------------------------------------------- |
|
636 // |
|
637 EXPORT_C TFourCC CAdvancedAudioController::SourceDataTypeCode( |
|
638 TMediaId /*aMediaId*/ ) |
|
639 { |
|
640 return KFourCCNULL; |
|
641 } |
|
642 |
|
643 EXPORT_C void CAdvancedAudioController::FillBufferL( |
|
644 CMMFBuffer* /*aBuffer*/, |
|
645 MDataSink* /*aConsumer*/, |
|
646 TMediaId /*aMediaId*/ ) |
|
647 {} |
|
648 |
|
649 EXPORT_C void CAdvancedAudioController::BufferEmptiedL( |
|
650 CMMFBuffer* /*aBuffer*/ ) |
|
651 {} |
|
652 |
|
653 EXPORT_C TBool CAdvancedAudioController::CanCreateSourceBuffer() |
|
654 { |
|
655 return EFalse; |
|
656 } |
|
657 |
|
658 EXPORT_C CMMFBuffer* CAdvancedAudioController::CreateSourceBufferL( |
|
659 TMediaId /*aMediaId*/, |
|
660 TBool& /*aReference*/ ) |
|
661 { |
|
662 return NULL; |
|
663 } |
|
664 |
|
665 EXPORT_C void CAdvancedAudioController::ConstructSourceL( |
|
666 const TDesC8& /*aInitData*/ ) |
|
667 {} |
|
668 |
|
669 // ----------------------------------------------------------------------------- |
|
670 // From MDataSink |
|
671 // Provides the default implementation. |
|
672 // ----------------------------------------------------------------------------- |
|
673 // |
|
674 EXPORT_C TFourCC CAdvancedAudioController::SinkDataTypeCode( |
|
675 TMediaId /*aMediaId*/ ) |
|
676 { |
|
677 return KFourCCNULL; |
|
678 } |
|
679 |
|
680 EXPORT_C void CAdvancedAudioController::EmptyBufferL( |
|
681 CMMFBuffer* /*aBuffer*/, |
|
682 MDataSource* /*aSupplier*/, |
|
683 TMediaId /*aMediaId*/ ) |
|
684 {} |
|
685 |
|
686 EXPORT_C void CAdvancedAudioController::BufferFilledL( |
|
687 CMMFBuffer* /*aBuffer*/ ) |
|
688 {} |
|
689 |
|
690 EXPORT_C TBool CAdvancedAudioController::CanCreateSinkBuffer() |
|
691 { |
|
692 return EFalse; |
|
693 } |
|
694 |
|
695 EXPORT_C CMMFBuffer* CAdvancedAudioController::CreateSinkBufferL( |
|
696 TMediaId /*aMediaId*/, |
|
697 TBool& /*aReference*/ ) |
|
698 { |
|
699 return NULL; |
|
700 } |
|
701 |
|
702 EXPORT_C void CAdvancedAudioController::ConstructSinkL( |
|
703 const TDesC8& /*aInitData*/ ) |
|
704 {} |
|
705 |
|
706 // ----------------------------------------------------------------------------- |
|
707 // From MCustomInterfaceCustomCommandImplementor |
|
708 // Provides the default implementation. |
|
709 // ----------------------------------------------------------------------------- |
|
710 // |
|
711 EXPORT_C const TMMFMessageDestination& CAdvancedAudioController::GetCustomInterfaceBuilderL( ) |
|
712 { |
|
713 // If an effects manager already exist just return the handle to it |
|
714 // otherwise, create one. |
|
715 if ( !iCustomInterfaceBuilder ) |
|
716 { |
|
717 iCustomInterfaceBuilder = CCustomInterfaceBuilder::NewL(MMFObjectContainerL(), |
|
718 *iMMFDevSound); |
|
719 // Append custom interface builder to the array of MMFObjects |
|
720 User::LeaveIfError(MMFObjectContainerL().AddMMFObject(*iCustomInterfaceBuilder)); |
|
721 |
|
722 TBool secure = EFalse; |
|
723 secure = CMMFController::IsSecureDrmModeL(); |
|
724 DP1(_L("CAdvancedAudioController::GetCustomInterfaceBuilderL : ->SetSecureCustomInterfaces(%d)"), secure); |
|
725 iCustomInterfaceBuilder->SetSecureCustomInterfaces( secure ); |
|
726 } |
|
727 return iCustomInterfaceBuilder->Handle(); |
|
728 } |
|
729 // ========================== OTHER EXPORTED FUNCTIONS ========================= |
|
730 |
|
731 // End of file |