26 #include "ipcallstream.h" |
26 #include "ipcallstream.h" |
27 |
27 |
28 using namespace TMS; |
28 using namespace TMS; |
29 |
29 |
30 // ----------------------------------------------------------------------------- |
30 // ----------------------------------------------------------------------------- |
31 // TMSVoIPDownlink::TMSVoIPDownlink |
31 // TMSIPDownlink::TMSIPDownlink |
32 // Standard Constructor |
32 // Standard Constructor |
33 // ----------------------------------------------------------------------------- |
33 // ----------------------------------------------------------------------------- |
34 // |
34 // |
35 TMSVoIPDownlink::TMSVoIPDownlink() |
35 TMSIPDownlink::TMSIPDownlink() |
36 { |
36 { |
37 } |
37 } |
38 |
38 |
39 // ----------------------------------------------------------------------------- |
39 // ----------------------------------------------------------------------------- |
40 // TMSVoIPDownlink::~TMSVoIPDownlink |
40 // TMSIPDownlink::~TMSIPDownlink |
41 // Standard Constructor |
41 // Standard Constructor |
42 // ----------------------------------------------------------------------------- |
42 // ----------------------------------------------------------------------------- |
43 // |
43 // |
44 TMSVoIPDownlink::~TMSVoIPDownlink() |
44 TMSIPDownlink::~TMSIPDownlink() |
45 { |
45 { |
46 TRACE_PRN_FN_ENT; |
46 TRACE_PRN_FN_ENT; |
47 |
47 |
48 Stop(); |
48 Stop(); |
49 |
49 |
55 |
55 |
56 TRACE_PRN_FN_EXT; |
56 TRACE_PRN_FN_EXT; |
57 } |
57 } |
58 |
58 |
59 // ----------------------------------------------------------------------------- |
59 // ----------------------------------------------------------------------------- |
60 // TMSVoIPDownlink::NewL |
60 // TMSIPDownlink::NewL |
61 // Symbian two-phase constructor |
61 // Symbian two-phase constructor |
62 // ----------------------------------------------------------------------------- |
62 // ----------------------------------------------------------------------------- |
63 // |
63 // |
64 TMSVoIPDownlink* TMSVoIPDownlink::NewL(const guint32 codecID, |
64 TMSIPDownlink* TMSIPDownlink::NewL(const guint32 codecID, |
65 const TMMFPrioritySettings priority) |
65 const TMMFPrioritySettings priority) |
66 { |
66 { |
67 TMSVoIPDownlink* self = new (ELeave) TMSVoIPDownlink(); |
67 TMSIPDownlink* self = new (ELeave) TMSIPDownlink(); |
68 CleanupStack::PushL(self); |
68 CleanupStack::PushL(self); |
69 self->ConstructL(codecID, priority); |
69 self->ConstructL(codecID, priority); |
70 CleanupStack::Pop(self); |
70 CleanupStack::Pop(self); |
71 return self; |
71 return self; |
72 } |
72 } |
73 |
73 |
74 // ----------------------------------------------------------------------------- |
74 // ----------------------------------------------------------------------------- |
75 // TMSVoIPDownlink::ConstructL |
75 // TMSIPDownlink::ConstructL |
76 // Part two of Symbian two phase construction |
76 // Part two of Symbian two phase construction |
77 // ----------------------------------------------------------------------------- |
77 // ----------------------------------------------------------------------------- |
78 // |
78 // |
79 void TMSVoIPDownlink::ConstructL(const guint32 codecID, |
79 void TMSIPDownlink::ConstructL(const guint32 codecID, |
80 const TMMFPrioritySettings priority) |
80 const TMMFPrioritySettings priority) |
81 { |
81 { |
82 TRACE_PRN_FN_ENT; |
82 TRACE_PRN_FN_ENT; |
83 |
83 |
84 iCodecID = codecID; |
84 iCodecID = codecID; |
98 |
98 |
99 TRACE_PRN_FN_EXT; |
99 TRACE_PRN_FN_EXT; |
100 } |
100 } |
101 |
101 |
102 // ----------------------------------------------------------------------------- |
102 // ----------------------------------------------------------------------------- |
103 // TMSVoIPDownlink::Start |
103 // TMSIPDownlink::Start |
104 // |
104 // |
105 // ----------------------------------------------------------------------------- |
105 // ----------------------------------------------------------------------------- |
106 // |
106 // |
107 void TMSVoIPDownlink::Start() |
107 void TMSIPDownlink::Start() |
108 { |
108 { |
109 TRACE_PRN_FN_ENT; |
109 TRACE_PRN_FN_ENT; |
110 |
110 |
111 gint err = TMS_RESULT_ILLEGAL_OPERATION; |
111 gint err = TMS_RESULT_ILLEGAL_OPERATION; |
112 |
112 |
126 |
126 |
127 TRACE_PRN_FN_EXT; |
127 TRACE_PRN_FN_EXT; |
128 } |
128 } |
129 |
129 |
130 // ----------------------------------------------------------------------------- |
130 // ----------------------------------------------------------------------------- |
131 // TMSVoIPDownlink::Stop |
131 // TMSIPDownlink::Stop |
132 // |
132 // |
133 // ----------------------------------------------------------------------------- |
133 // ----------------------------------------------------------------------------- |
134 // |
134 // |
135 void TMSVoIPDownlink::Stop() |
135 void TMSIPDownlink::Stop() |
136 { |
136 { |
137 TRACE_PRN_FN_ENT; |
137 TRACE_PRN_FN_ENT; |
138 |
138 |
139 if (iStatus == EStreaming && iDevSound) |
139 if (iStatus == EStreaming && iDevSound) |
140 { |
140 { |
144 |
144 |
145 TRACE_PRN_FN_EXT; |
145 TRACE_PRN_FN_EXT; |
146 } |
146 } |
147 |
147 |
148 // ----------------------------------------------------------------------------- |
148 // ----------------------------------------------------------------------------- |
149 // TMSVoIPDownlink::BufferToBeFilled |
149 // TMSIPDownlink::BufferToBeFilled |
150 // A reference to the buffer delivered from the DevSound is stored locally |
150 // A reference to the buffer delivered from the DevSound is stored locally |
151 // for later use. It will be filled with the data passed from the client |
151 // for later use. It will be filled with the data passed from the client |
152 // when it calls BufferFilled. |
152 // when it calls BufferFilled. |
153 // |
153 // |
154 // ----------------------------------------------------------------------------- |
154 // ----------------------------------------------------------------------------- |
155 // |
155 // |
156 void TMSVoIPDownlink::BufferToBeFilled(CMMFBuffer* aBuffer) |
156 void TMSIPDownlink::BufferToBeFilled(CMMFBuffer* aBuffer) |
157 { |
157 { |
158 // Store pointer to the received buffer |
158 // Store pointer to the received buffer |
159 iDevSoundBufPtr = static_cast<CMMFDataBuffer*> (aBuffer); |
159 iDevSoundBufPtr = static_cast<CMMFDataBuffer*> (aBuffer); |
160 iBufLen = iDevSoundBufPtr->RequestSize(); |
160 iBufLen = iDevSoundBufPtr->RequestSize(); |
161 TRACE_PRN_N1(_L("TMS->DNL->BTBF: LEN[%d]"), iBufLen); |
161 TRACE_PRN_N1(_L("TMS->DNL->BTBF: LEN[%d]"), iBufLen); |
198 |
198 |
199 TRACE_PRN_IF_ERR(err); |
199 TRACE_PRN_IF_ERR(err); |
200 } |
200 } |
201 |
201 |
202 // ----------------------------------------------------------------------------- |
202 // ----------------------------------------------------------------------------- |
203 // TMSVoIPDownlink::BufferFilled |
203 // TMSIPDownlink::BufferFilled |
204 // |
204 // |
205 // ----------------------------------------------------------------------------- |
205 // ----------------------------------------------------------------------------- |
206 // |
206 // |
207 void TMSVoIPDownlink::BufferFilled(const guint buflen) |
207 void TMSIPDownlink::BufferFilled(const guint buflen) |
208 { |
208 { |
209 TRACE_PRN_N1(_L("TMS->DNL->BF: LEN[%d]"), buflen); |
209 TRACE_PRN_N1(_L("TMS->DNL->BF: LEN[%d]"), buflen); |
210 |
210 |
211 // Copy data over from chunk |
211 // Copy data over from chunk |
212 TPtr8 dataPtr(iChunk.Base(), buflen, iMaxBufLen); |
212 TPtr8 dataPtr(iChunk.Base(), buflen, iMaxBufLen); |
228 } |
228 } |
229 } |
229 } |
230 } |
230 } |
231 |
231 |
232 // ----------------------------------------------------------------------------- |
232 // ----------------------------------------------------------------------------- |
233 // TMSVoIPDownlink::SetCodecCi |
233 // TMSIPDownlink::SetCodecCi |
234 // |
234 // |
235 // ----------------------------------------------------------------------------- |
235 // ----------------------------------------------------------------------------- |
236 // |
236 // |
237 gint TMSVoIPDownlink::SetCodecCi() |
237 gint TMSIPDownlink::SetCodecCi() |
238 { |
238 { |
239 TRAPD(err, SetCodecCiL()); |
239 TRAPD(err, SetCodecCiL()); |
240 return err; |
240 return err; |
241 } |
241 } |
242 |
242 |
243 // ----------------------------------------------------------------------------- |
243 // ----------------------------------------------------------------------------- |
244 // TMSVoIPDownlink::SetCodecCiL |
244 // TMSIPDownlink::SetCodecCiL |
245 // |
245 // |
246 // ----------------------------------------------------------------------------- |
246 // ----------------------------------------------------------------------------- |
247 // |
247 // |
248 void TMSVoIPDownlink::SetCodecCiL() |
248 void TMSIPDownlink::SetCodecCiL() |
249 { |
249 { |
250 TRACE_PRN_FN_ENT; |
250 TRACE_PRN_FN_ENT; |
251 |
251 |
252 switch (iCodecID) |
252 switch (iCodecID) |
253 { |
253 { |
294 |
294 |
295 TRACE_PRN_FN_EXT; |
295 TRACE_PRN_FN_EXT; |
296 } |
296 } |
297 |
297 |
298 // ----------------------------------------------------------------------------- |
298 // ----------------------------------------------------------------------------- |
299 // TMSVoIPDownlink::SetVolume |
299 // TMSIPDownlink::SetVolume |
300 // |
300 // |
301 // ----------------------------------------------------------------------------- |
301 // ----------------------------------------------------------------------------- |
302 // |
302 // |
303 gint TMSVoIPDownlink::SetVolume(const guint volume) |
303 gint TMSIPDownlink::SetVolume(const guint volume) |
304 { |
304 { |
305 gint ret(TMS_RESULT_UNINITIALIZED_OBJECT); |
305 gint ret(TMS_RESULT_UNINITIALIZED_OBJECT); |
306 if (iDevSound) |
306 if (iDevSound) |
307 { |
307 { |
308 iDevSound->SetVolume(volume); |
308 iDevSound->SetVolume(volume); |
311 TRACE_PRN_N1(_L("TMS->DNL: SetVolume [%d]"), volume); |
311 TRACE_PRN_N1(_L("TMS->DNL: SetVolume [%d]"), volume); |
312 return ret; |
312 return ret; |
313 } |
313 } |
314 |
314 |
315 // ----------------------------------------------------------------------------- |
315 // ----------------------------------------------------------------------------- |
316 // TMSVoIPDownlink::GetVolume |
316 // TMSIPDownlink::GetVolume |
317 // |
317 // |
318 // ----------------------------------------------------------------------------- |
318 // ----------------------------------------------------------------------------- |
319 // |
319 // |
320 gint TMSVoIPDownlink::GetVolume(guint& volume) |
320 gint TMSIPDownlink::GetVolume(guint& volume) |
321 { |
321 { |
322 gint ret(TMS_RESULT_UNINITIALIZED_OBJECT); |
322 gint ret(TMS_RESULT_UNINITIALIZED_OBJECT); |
323 if (iDevSound) |
323 if (iDevSound) |
324 { |
324 { |
325 volume = iDevSound->Volume(); |
325 volume = iDevSound->Volume(); |
328 TRACE_PRN_N1(_L("TMS->DNL: GetVolume [%d]"), volume); |
328 TRACE_PRN_N1(_L("TMS->DNL: GetVolume [%d]"), volume); |
329 return ret; |
329 return ret; |
330 } |
330 } |
331 |
331 |
332 // ----------------------------------------------------------------------------- |
332 // ----------------------------------------------------------------------------- |
333 // TMSVoIPDownlink::GetMaxVolume |
333 // TMSIPDownlink::GetMaxVolume |
334 // |
334 // |
335 // ----------------------------------------------------------------------------- |
335 // ----------------------------------------------------------------------------- |
336 // |
336 // |
337 gint TMSVoIPDownlink::GetMaxVolume(guint& volume) |
337 gint TMSIPDownlink::GetMaxVolume(guint& volume) |
338 { |
338 { |
339 gint ret(TMS_RESULT_UNINITIALIZED_OBJECT); |
339 gint ret(TMS_RESULT_UNINITIALIZED_OBJECT); |
340 if (iDevSound) |
340 if (iDevSound) |
341 { |
341 { |
342 volume = iDevSound->MaxVolume(); |
342 volume = iDevSound->MaxVolume(); |
345 TRACE_PRN_N1(_L("TMS->DNL: MaxVolume [%d]"), volume); |
345 TRACE_PRN_N1(_L("TMS->DNL: MaxVolume [%d]"), volume); |
346 return ret; |
346 return ret; |
347 } |
347 } |
348 |
348 |
349 // ----------------------------------------------------------------------------- |
349 // ----------------------------------------------------------------------------- |
350 // TMSVoIPDownlink::GetDataXferChunkHndl |
350 // TMSIPDownlink::GetDataXferChunkHndl |
351 // |
351 // |
352 // ----------------------------------------------------------------------------- |
352 // ----------------------------------------------------------------------------- |
353 // |
353 // |
354 gint TMSVoIPDownlink::GetDataXferChunkHndl(const TUint32 key, RChunk& chunk) |
354 gint TMSIPDownlink::GetDataXferChunkHndl(const TUint32 key, RChunk& chunk) |
355 { |
355 { |
356 gint status = TMS_RESULT_DOES_NOT_EXIST; |
356 gint status = TMS_RESULT_DOES_NOT_EXIST; |
357 |
357 |
358 if (iChunk.Handle()) |
358 if (iChunk.Handle()) |
359 { |
359 { |
373 TRACE_PRN_IF_ERR(status); |
373 TRACE_PRN_IF_ERR(status); |
374 return status; |
374 return status; |
375 } |
375 } |
376 |
376 |
377 // ----------------------------------------------------------------------------- |
377 // ----------------------------------------------------------------------------- |
378 // TMSVoIPDownlink::SetIlbcCodecMode |
378 // TMSIPDownlink::SetIlbcCodecMode |
379 // |
379 // |
380 // ----------------------------------------------------------------------------- |
380 // ----------------------------------------------------------------------------- |
381 // |
381 // |
382 gint TMSVoIPDownlink::SetIlbcCodecMode(gint mode) |
382 gint TMSIPDownlink::SetIlbcCodecMode(gint mode) |
383 { |
383 { |
384 gint err = TMS_RESULT_DOES_NOT_EXIST; |
384 gint err = TMS_RESULT_DOES_NOT_EXIST; |
385 |
385 |
386 if (iStatus == EReady) |
386 if (iStatus == EReady) |
387 { |
387 { |
407 TRACE_PRN_IF_ERR(err); |
407 TRACE_PRN_IF_ERR(err); |
408 return err; |
408 return err; |
409 } |
409 } |
410 |
410 |
411 // ----------------------------------------------------------------------------- |
411 // ----------------------------------------------------------------------------- |
412 // TMSVoIPDownlink::GetIlbcCodecMode |
412 // TMSIPDownlink::GetIlbcCodecMode |
413 // |
413 // |
414 // ----------------------------------------------------------------------------- |
414 // ----------------------------------------------------------------------------- |
415 // |
415 // |
416 gint TMSVoIPDownlink::GetIlbcCodecMode(gint& mode) |
416 gint TMSIPDownlink::GetIlbcCodecMode(gint& mode) |
417 { |
417 { |
418 // not available through CIs -> return cashed value |
418 // not available through CIs -> return cashed value |
419 mode = iILBCDecodeMode; |
419 mode = iILBCDecodeMode; |
420 TRACE_PRN_N1(_L("TMS->DNL: GetIlbcCodecMode [%d]"), mode); |
420 TRACE_PRN_N1(_L("TMS->DNL: GetIlbcCodecMode [%d]"), mode); |
421 return TMS_RESULT_SUCCESS; |
421 return TMS_RESULT_SUCCESS; |
422 } |
422 } |
423 |
423 |
424 // ----------------------------------------------------------------------------- |
424 // ----------------------------------------------------------------------------- |
425 // TMSVoIPDownlink::SetG711CodecMode |
425 // TMSIPDownlink::SetG711CodecMode |
426 // |
426 // |
427 // ----------------------------------------------------------------------------- |
427 // ----------------------------------------------------------------------------- |
428 // |
428 // |
429 gint TMSVoIPDownlink::SetG711CodecMode(gint mode) |
429 gint TMSIPDownlink::SetG711CodecMode(gint mode) |
430 { |
430 { |
431 gint err = TMS_RESULT_DOES_NOT_EXIST; |
431 gint err = TMS_RESULT_DOES_NOT_EXIST; |
432 |
432 |
433 if (iStatus == EReady) |
433 if (iStatus == EReady) |
434 { |
434 { |
454 TRACE_PRN_IF_ERR(err); |
454 TRACE_PRN_IF_ERR(err); |
455 return err; |
455 return err; |
456 } |
456 } |
457 |
457 |
458 // ----------------------------------------------------------------------------- |
458 // ----------------------------------------------------------------------------- |
459 // TMSVoIPDownlink::GetG711CodecMode |
459 // TMSIPDownlink::GetG711CodecMode |
460 // |
460 // |
461 // ----------------------------------------------------------------------------- |
461 // ----------------------------------------------------------------------------- |
462 // |
462 // |
463 gint TMSVoIPDownlink::GetG711CodecMode(gint& mode) |
463 gint TMSIPDownlink::GetG711CodecMode(gint& mode) |
464 { |
464 { |
465 // not available through CIs -> return cached value |
465 // not available through CIs -> return cached value |
466 mode = iG711DecodeMode; |
466 mode = iG711DecodeMode; |
467 TRACE_PRN_N1(_L("TMS->DNL: GetG711CodecMode [%d]"), mode); |
467 TRACE_PRN_N1(_L("TMS->DNL: GetG711CodecMode [%d]"), mode); |
468 return TMS_RESULT_SUCCESS; |
468 return TMS_RESULT_SUCCESS; |
469 } |
469 } |
470 |
470 |
471 // ----------------------------------------------------------------------------- |
471 // ----------------------------------------------------------------------------- |
472 // TMSVoIPDownlink::FrameModeRqrdForEC |
472 // TMSIPDownlink::FrameModeRqrdForEC |
473 // |
473 // |
474 // ----------------------------------------------------------------------------- |
474 // ----------------------------------------------------------------------------- |
475 // |
475 // |
476 gint TMSVoIPDownlink::FrameModeRqrdForEC(gboolean& frmodereq) |
476 gint TMSIPDownlink::FrameModeRqrdForEC(gboolean& frmodereq) |
477 { |
477 { |
478 gint err = TMS_RESULT_DOES_NOT_EXIST; |
478 gint err = TMS_RESULT_DOES_NOT_EXIST; |
479 |
479 |
480 if (iStatus == EReady) |
480 if (iStatus == EReady) |
481 { |
481 { |
489 TRACE_PRN_IF_ERR(err); |
489 TRACE_PRN_IF_ERR(err); |
490 return err; |
490 return err; |
491 } |
491 } |
492 |
492 |
493 // ----------------------------------------------------------------------------- |
493 // ----------------------------------------------------------------------------- |
494 // TMSVoIPDownlink::SetFrameMode |
494 // TMSIPDownlink::SetFrameMode |
495 // |
495 // |
496 // ----------------------------------------------------------------------------- |
496 // ----------------------------------------------------------------------------- |
497 // |
497 // |
498 gint TMSVoIPDownlink::SetFrameMode(const gboolean frmode) |
498 gint TMSIPDownlink::SetFrameMode(const gboolean frmode) |
499 { |
499 { |
500 gint err = TMS_RESULT_DOES_NOT_EXIST; |
500 gint err = TMS_RESULT_DOES_NOT_EXIST; |
501 |
501 |
502 if (iStatus == EReady) |
502 if (iStatus == EReady) |
503 { |
503 { |
513 TRACE_PRN_IF_ERR(err); |
513 TRACE_PRN_IF_ERR(err); |
514 return err; |
514 return err; |
515 } |
515 } |
516 |
516 |
517 // ----------------------------------------------------------------------------- |
517 // ----------------------------------------------------------------------------- |
518 // TMSVoIPDownlink::GetFrameMode |
518 // TMSIPDownlink::GetFrameMode |
519 // |
519 // |
520 // ----------------------------------------------------------------------------- |
520 // ----------------------------------------------------------------------------- |
521 // |
521 // |
522 gint TMSVoIPDownlink::GetFrameMode(gboolean& frmode) |
522 gint TMSIPDownlink::GetFrameMode(gboolean& frmode) |
523 { |
523 { |
524 gint err = TMS_RESULT_DOES_NOT_EXIST; |
524 gint err = TMS_RESULT_DOES_NOT_EXIST; |
525 |
525 |
526 if (iErrConcealmentIntfc) |
526 if (iErrConcealmentIntfc) |
527 { |
527 { |
534 TRACE_PRN_IF_ERR(err); |
534 TRACE_PRN_IF_ERR(err); |
535 return err; |
535 return err; |
536 } |
536 } |
537 |
537 |
538 // ----------------------------------------------------------------------------- |
538 // ----------------------------------------------------------------------------- |
539 // TMSVoIPDownlink::ConcealErrorForNextBuffer |
539 // TMSIPDownlink::ConcealErrorForNextBuffer |
540 // |
540 // |
541 // ----------------------------------------------------------------------------- |
541 // ----------------------------------------------------------------------------- |
542 // |
542 // |
543 gint TMSVoIPDownlink::ConcealErrorForNextBuffer() |
543 gint TMSIPDownlink::ConcealErrorForNextBuffer() |
544 { |
544 { |
545 gint err = TMS_RESULT_DOES_NOT_EXIST; |
545 gint err = TMS_RESULT_DOES_NOT_EXIST; |
546 |
546 |
547 if (iErrConcealmentIntfc) |
547 if (iErrConcealmentIntfc) |
548 { |
548 { |
553 TRACE_PRN_IF_ERR(err); |
553 TRACE_PRN_IF_ERR(err); |
554 return err; |
554 return err; |
555 } |
555 } |
556 |
556 |
557 // ----------------------------------------------------------------------------- |
557 // ----------------------------------------------------------------------------- |
558 // TMSVoIPDownlink::SetCng |
558 // TMSIPDownlink::SetCng |
559 // |
559 // |
560 // ----------------------------------------------------------------------------- |
560 // ----------------------------------------------------------------------------- |
561 // |
561 // |
562 gint TMSVoIPDownlink::SetCng(const TMSFormatType fmttype, const gboolean cng) |
562 gint TMSIPDownlink::SetCng(const TMSFormatType fmttype, const gboolean cng) |
563 { |
563 { |
564 gint err = TMS_RESULT_DOES_NOT_EXIST; |
564 gint err = TMS_RESULT_DOES_NOT_EXIST; |
565 |
565 |
566 if (iStatus == EReady) |
566 if (iStatus == EReady) |
567 { |
567 { |
580 TRACE_PRN_IF_ERR(err); |
580 TRACE_PRN_IF_ERR(err); |
581 return err; |
581 return err; |
582 } |
582 } |
583 |
583 |
584 // ----------------------------------------------------------------------------- |
584 // ----------------------------------------------------------------------------- |
585 // TMSVoIPDownlink::GetCng |
585 // TMSIPDownlink::GetCng |
586 // |
586 // |
587 // ----------------------------------------------------------------------------- |
587 // ----------------------------------------------------------------------------- |
588 // |
588 // |
589 gint TMSVoIPDownlink::GetCng(const TMSFormatType fmttype, gboolean& cng) |
589 gint TMSIPDownlink::GetCng(const TMSFormatType fmttype, gboolean& cng) |
590 { |
590 { |
591 gint err = TMS_RESULT_DOES_NOT_EXIST; |
591 gint err = TMS_RESULT_DOES_NOT_EXIST; |
592 |
592 |
593 if (iStatus == EReady) |
593 if (iStatus == EReady) |
594 { |
594 { |
607 TRACE_PRN_IF_ERR(err); |
607 TRACE_PRN_IF_ERR(err); |
608 return err; |
608 return err; |
609 } |
609 } |
610 |
610 |
611 // ----------------------------------------------------------------------------- |
611 // ----------------------------------------------------------------------------- |
612 // TMSVoIPDownlink::SetPlc |
612 // TMSIPDownlink::SetPlc |
613 // |
613 // |
614 // ----------------------------------------------------------------------------- |
614 // ----------------------------------------------------------------------------- |
615 // |
615 // |
616 gint TMSVoIPDownlink::SetPlc(const TMSFormatType fmttype, const gboolean plc) |
616 gint TMSIPDownlink::SetPlc(const TMSFormatType fmttype, const gboolean plc) |
617 { |
617 { |
618 gint err = TMS_RESULT_DOES_NOT_EXIST; |
618 gint err = TMS_RESULT_DOES_NOT_EXIST; |
619 |
619 |
620 if (iStatus == EReady) |
620 if (iStatus == EReady) |
621 { |
621 { |
630 TRACE_PRN_IF_ERR(err); |
630 TRACE_PRN_IF_ERR(err); |
631 return err; |
631 return err; |
632 } |
632 } |
633 |
633 |
634 // ----------------------------------------------------------------------------- |
634 // ----------------------------------------------------------------------------- |
635 // TMSVoIPDownlink::GetPlc |
635 // TMSIPDownlink::GetPlc |
636 // |
636 // |
637 // ----------------------------------------------------------------------------- |
637 // ----------------------------------------------------------------------------- |
638 // |
638 // |
639 gint TMSVoIPDownlink::GetPlc(const TMSFormatType fmttype, gboolean& plc) |
639 gint TMSIPDownlink::GetPlc(const TMSFormatType fmttype, gboolean& plc) |
640 { |
640 { |
641 gint err = TMS_RESULT_DOES_NOT_EXIST; |
641 gint err = TMS_RESULT_DOES_NOT_EXIST; |
642 |
642 |
643 if (fmttype == TMS_FORMAT_G711 && iG711DecoderIntfc) |
643 if (fmttype == TMS_FORMAT_G711 && iG711DecoderIntfc) |
644 { |
644 { |
651 TRACE_PRN_IF_ERR(err); |
651 TRACE_PRN_IF_ERR(err); |
652 return err; |
652 return err; |
653 } |
653 } |
654 |
654 |
655 // ----------------------------------------------------------------------------- |
655 // ----------------------------------------------------------------------------- |
656 // TMSVoIPDownlink::BadLsfNextBuffer |
656 // TMSIPDownlink::BadLsfNextBuffer |
657 // |
657 // |
658 // ----------------------------------------------------------------------------- |
658 // ----------------------------------------------------------------------------- |
659 // |
659 // |
660 gint TMSVoIPDownlink::BadLsfNextBuffer() |
660 gint TMSIPDownlink::BadLsfNextBuffer() |
661 { |
661 { |
662 gint err = TMS_RESULT_DOES_NOT_EXIST; |
662 gint err = TMS_RESULT_DOES_NOT_EXIST; |
663 |
663 |
664 if (iStatus == EStreaming) |
664 if (iStatus == EStreaming) |
665 { |
665 { |
673 TRACE_PRN_IF_ERR(err); |
673 TRACE_PRN_IF_ERR(err); |
674 return err; |
674 return err; |
675 } |
675 } |
676 |
676 |
677 // ----------------------------------------------------------------------------- |
677 // ----------------------------------------------------------------------------- |
678 // TMSVoIPDownlink::SetAudioDeviceL |
678 // TMSIPDownlink::SetAudioDeviceL |
679 // |
679 // |
680 // ----------------------------------------------------------------------------- |
680 // ----------------------------------------------------------------------------- |
681 void TMSVoIPDownlink::SetAudioDeviceL(TMSAudioOutput output) |
681 void TMSIPDownlink::SetAudioDeviceL(TMSAudioOutput output) |
682 { |
682 { |
683 TRACE_PRN_FN_ENT; |
683 TRACE_PRN_FN_ENT; |
684 |
684 |
685 if (!iAudioOutput) |
685 if (!iAudioOutput) |
686 { |
686 { |
754 } |
754 } |
755 |
755 |
756 // CALLBACKS |
756 // CALLBACKS |
757 |
757 |
758 // ----------------------------------------------------------------------------- |
758 // ----------------------------------------------------------------------------- |
759 // TMSVoIPDownlink::InitializeComplete |
759 // TMSIPDownlink::InitializeComplete |
760 // A callback from the DevSound indicating completion of the initialization. |
760 // A callback from the DevSound indicating completion of the initialization. |
761 // It will send config data to the D/S and configure the encoder via CI. |
761 // It will send config data to the D/S and configure the encoder via CI. |
762 // If everything goes well, the state of the thread is set EReady. |
762 // If everything goes well, the state of the thread is set EReady. |
763 // The initialization completion message is sent back to the main thread. |
763 // The initialization completion message is sent back to the main thread. |
764 // ----------------------------------------------------------------------------- |
764 // ----------------------------------------------------------------------------- |
765 // |
765 // |
766 void TMSVoIPDownlink::InitializeComplete(TInt aError) |
766 void TMSIPDownlink::InitializeComplete(TInt aError) |
767 { |
767 { |
768 TRACE_PRN_FN_ENT; |
768 TRACE_PRN_FN_ENT; |
769 |
769 |
770 gint err = aError; |
770 gint err = aError; |
771 |
771 |
799 TRACE_PRN_IF_ERR(err); |
799 TRACE_PRN_IF_ERR(err); |
800 TRACE_PRN_FN_EXT; |
800 TRACE_PRN_FN_EXT; |
801 } |
801 } |
802 |
802 |
803 // ----------------------------------------------------------------------------- |
803 // ----------------------------------------------------------------------------- |
804 // TMSVoIPDownlink::PlayError |
804 // TMSIPDownlink::PlayError |
805 // From MDevSoundObserver |
805 // From MDevSoundObserver |
806 // Record error is send to client over comm channel. |
806 // Record error is send to client over comm channel. |
807 // The state of recorder is rolled back to EReady. |
807 // The state of recorder is rolled back to EReady. |
808 // ----------------------------------------------------------------------------- |
808 // ----------------------------------------------------------------------------- |
809 // |
809 // |
810 void TMSVoIPDownlink::PlayError(TInt /*aError*/) |
810 void TMSIPDownlink::PlayError(TInt /*aError*/) |
811 { |
811 { |
812 //TRACE_PRN_IF_ERR(aError); |
812 //TRACE_PRN_IF_ERR(aError); |
813 |
813 |
814 #ifdef _DEBUG |
814 #ifdef _DEBUG |
815 iSamplesPlayedCount = 0; |
815 iSamplesPlayedCount = 0; |