39 #ifdef __PLAY_WAV_FROM_FILE__ |
39 #ifdef __PLAY_WAV_FROM_FILE__ |
40 _LIT16(KTestFile1, "c:\\data\\sounds\\digital\\sample1.wav"); |
40 _LIT16(KTestFile1, "c:\\data\\sounds\\digital\\sample1.wav"); |
41 #endif |
41 #endif |
42 |
42 |
43 // ----------------------------------------------------------------------------- |
43 // ----------------------------------------------------------------------------- |
44 // TMSVoIPDownlink::cb_raw_playback_handoff |
44 // TMSIPDownlink::cb_raw_playback_handoff |
45 // ----------------------------------------------------------------------------- |
45 // ----------------------------------------------------------------------------- |
46 // |
46 // |
47 void TMSVoIPDownlink::cb_raw_playback_handoff(GstElement* /*appsrc*/, |
47 void TMSIPDownlink::cb_raw_playback_handoff(GstElement* /*appsrc*/, |
48 guint size) |
48 guint size) |
49 { |
49 { |
50 TRACE_PRN_N(_L("TMS->DNL: cb_raw_playback_handoff")); |
50 TRACE_PRN_N(_L("TMS->DNL: cb_raw_playback_handoff")); |
51 |
51 |
52 requestBufLen = size; |
52 requestBufLen = size; |
61 #endif //_DEBUG |
61 #endif //_DEBUG |
62 iSelfDn->BufferToBeFilled(); |
62 iSelfDn->BufferToBeFilled(); |
63 } |
63 } |
64 |
64 |
65 // ----------------------------------------------------------------------------- |
65 // ----------------------------------------------------------------------------- |
66 // TMSVoIPDownlink::bus_call |
66 // TMSIPDownlink::bus_call |
67 // ----------------------------------------------------------------------------- |
67 // ----------------------------------------------------------------------------- |
68 // |
68 // |
69 gboolean TMSVoIPDownlink::bus_call(GstBus* /*bus*/, GstMessage* msg, |
69 gboolean TMSIPDownlink::bus_call(GstBus* /*bus*/, GstMessage* msg, |
70 gpointer /*data*/) |
70 gpointer /*data*/) |
71 { |
71 { |
72 switch (GST_MESSAGE_TYPE(msg)) |
72 switch (GST_MESSAGE_TYPE(msg)) |
73 { |
73 { |
74 case GST_MESSAGE_EOS: |
74 case GST_MESSAGE_EOS: |
117 TRACE_PRN_IF_ERR(err); |
117 TRACE_PRN_IF_ERR(err); |
118 return err; |
118 return err; |
119 } |
119 } |
120 |
120 |
121 iBusPlay = gst_pipeline_get_bus(GST_PIPELINE(iPipelinePlay)); |
121 iBusPlay = gst_pipeline_get_bus(GST_PIPELINE(iPipelinePlay)); |
122 gst_bus_add_watch(iBusPlay, TMSVoIPDownlink::bus_call, NULL); |
122 gst_bus_add_watch(iBusPlay, TMSIPDownlink::bus_call, NULL); |
123 gst_object_unref(iBusPlay); |
123 gst_object_unref(iBusPlay); |
124 |
124 |
125 iMaxBufLen = ConfigureMedia(iCodecID); |
125 iMaxBufLen = ConfigureMedia(iCodecID); |
126 |
126 |
127 g_object_set(iAppSrc, "stream-type", 0, "blocksize", iMaxBufLen, NULL); |
127 g_object_set(iAppSrc, "stream-type", 0, "blocksize", iMaxBufLen, NULL); |
177 TRACE_PRN_FN_EXT; |
177 TRACE_PRN_FN_EXT; |
178 return KErrNone; |
178 return KErrNone; |
179 } |
179 } |
180 |
180 |
181 // ----------------------------------------------------------------------------- |
181 // ----------------------------------------------------------------------------- |
182 // TMSVoIPDownlink::TMSVoIPDownlink |
182 // TMSIPDownlink::TMSIPDownlink |
183 // Standard Constructor |
183 // Standard Constructor |
184 // ----------------------------------------------------------------------------- |
184 // ----------------------------------------------------------------------------- |
185 // |
185 // |
186 TMSVoIPDownlink::TMSVoIPDownlink() |
186 TMSIPDownlink::TMSIPDownlink() |
187 { |
187 { |
188 iSelfDn = this; |
188 iSelfDn = this; |
189 } |
189 } |
190 |
190 |
191 // ----------------------------------------------------------------------------- |
191 // ----------------------------------------------------------------------------- |
192 // TMSVoIPDownlink::~TMSVoIPDownlink |
192 // TMSIPDownlink::~TMSIPDownlink |
193 // Standard Constructor |
193 // Standard Constructor |
194 // ----------------------------------------------------------------------------- |
194 // ----------------------------------------------------------------------------- |
195 // |
195 // |
196 TMSVoIPDownlink::~TMSVoIPDownlink() |
196 TMSIPDownlink::~TMSIPDownlink() |
197 { |
197 { |
198 TRACE_PRN_FN_ENT; |
198 TRACE_PRN_FN_ENT; |
199 |
199 |
200 Stop(); |
200 Stop(); |
201 gst_caps_unref(caps); |
201 gst_caps_unref(caps); |
214 |
214 |
215 TRACE_PRN_FN_EXT; |
215 TRACE_PRN_FN_EXT; |
216 } |
216 } |
217 |
217 |
218 // ----------------------------------------------------------------------------- |
218 // ----------------------------------------------------------------------------- |
219 // TMSVoIPDownlink::NewL |
219 // TMSIPDownlink::NewL |
220 // Symbian two-phase constructor |
220 // Symbian two-phase constructor |
221 // ----------------------------------------------------------------------------- |
221 // ----------------------------------------------------------------------------- |
222 // |
222 // |
223 TMSVoIPDownlink* TMSVoIPDownlink::NewL(const guint32 codecID, |
223 TMSIPDownlink* TMSIPDownlink::NewL(const guint32 codecID, |
224 const TMMFPrioritySettings priority) |
224 const TMMFPrioritySettings priority) |
225 { |
225 { |
226 TMSVoIPDownlink* self = new (ELeave) TMSVoIPDownlink(); |
226 TMSIPDownlink* self = new (ELeave) TMSIPDownlink(); |
227 CleanupStack::PushL(self); |
227 CleanupStack::PushL(self); |
228 self->ConstructL(codecID, priority); |
228 self->ConstructL(codecID, priority); |
229 CleanupStack::Pop(self); |
229 CleanupStack::Pop(self); |
230 return self; |
230 return self; |
231 } |
231 } |
232 |
232 |
233 // ----------------------------------------------------------------------------- |
233 // ----------------------------------------------------------------------------- |
234 // TMSVoIPDownlink::ConstructL |
234 // TMSIPDownlink::ConstructL |
235 // Part two of Symbian two phase construction |
235 // Part two of Symbian two phase construction |
236 // ----------------------------------------------------------------------------- |
236 // ----------------------------------------------------------------------------- |
237 // |
237 // |
238 void TMSVoIPDownlink::ConstructL(const guint32 codecID, |
238 void TMSIPDownlink::ConstructL(const guint32 codecID, |
239 const TMMFPrioritySettings priority) |
239 const TMMFPrioritySettings priority) |
240 { |
240 { |
241 TRACE_PRN_FN_ENT; |
241 TRACE_PRN_FN_ENT; |
242 |
242 |
243 iCodecID = codecID; |
243 iCodecID = codecID; |
277 |
277 |
278 TRACE_PRN_FN_EXT; |
278 TRACE_PRN_FN_EXT; |
279 } |
279 } |
280 |
280 |
281 // ----------------------------------------------------------------------------- |
281 // ----------------------------------------------------------------------------- |
282 // TMSVoIPDownlink::Start |
282 // TMSIPDownlink::Start |
283 // |
283 // |
284 // ----------------------------------------------------------------------------- |
284 // ----------------------------------------------------------------------------- |
285 // |
285 // |
286 void TMSVoIPDownlink::Start() |
286 void TMSIPDownlink::Start() |
287 { |
287 { |
288 TRACE_PRN_FN_ENT; |
288 TRACE_PRN_FN_ENT; |
289 |
289 |
290 gst_play_raw(); |
290 gst_play_raw(); |
291 iStatus = EStreaming; |
291 iStatus = EStreaming; |
292 |
292 |
293 TRACE_PRN_FN_EXT; |
293 TRACE_PRN_FN_EXT; |
294 } |
294 } |
295 |
295 |
296 // ----------------------------------------------------------------------------- |
296 // ----------------------------------------------------------------------------- |
297 // TMSVoIPDownlink::Stop |
297 // TMSIPDownlink::Stop |
298 // |
298 // |
299 // ----------------------------------------------------------------------------- |
299 // ----------------------------------------------------------------------------- |
300 // |
300 // |
301 void TMSVoIPDownlink::Stop() |
301 void TMSIPDownlink::Stop() |
302 { |
302 { |
303 TRACE_PRN_FN_ENT; |
303 TRACE_PRN_FN_ENT; |
304 |
304 |
305 if (iStatus == EStreaming) |
305 if (iStatus == EStreaming) |
306 { |
306 { |
320 |
320 |
321 TRACE_PRN_FN_EXT; |
321 TRACE_PRN_FN_EXT; |
322 } |
322 } |
323 |
323 |
324 // ----------------------------------------------------------------------------- |
324 // ----------------------------------------------------------------------------- |
325 // TMSVoIPDownlink::BufferToBeFilled |
325 // TMSIPDownlink::BufferToBeFilled |
326 // ----------------------------------------------------------------------------- |
326 // ----------------------------------------------------------------------------- |
327 // |
327 // |
328 void TMSVoIPDownlink::BufferToBeFilled() |
328 void TMSIPDownlink::BufferToBeFilled() |
329 { |
329 { |
330 TRACE_PRN_N1(_L("TMS->DNL->BTBF: requestBufLen[%d]"), requestBufLen); |
330 TRACE_PRN_N1(_L("TMS->DNL->BTBF: requestBufLen[%d]"), requestBufLen); |
331 |
331 |
332 #ifndef __PLAY_WAV_FROM_FILE__ |
332 #ifndef __PLAY_WAV_FROM_FILE__ |
333 // Create or adjust the chunk |
333 // Create or adjust the chunk |
364 #endif //__PLAY_WAV_FROM_FILE__ |
364 #endif //__PLAY_WAV_FROM_FILE__ |
365 TRACE_PRN_IF_ERR(err); |
365 TRACE_PRN_IF_ERR(err); |
366 } |
366 } |
367 |
367 |
368 // ----------------------------------------------------------------------------- |
368 // ----------------------------------------------------------------------------- |
369 // TMSVoIPDownlink::BufferFilled |
369 // TMSIPDownlink::BufferFilled |
370 // |
370 // |
371 // ----------------------------------------------------------------------------- |
371 // ----------------------------------------------------------------------------- |
372 // |
372 // |
373 void TMSVoIPDownlink::BufferFilled(const guint buflen) |
373 void TMSIPDownlink::BufferFilled(const guint buflen) |
374 { |
374 { |
375 #ifndef __PLAY_WAV_FROM_FILE__ |
375 #ifndef __PLAY_WAV_FROM_FILE__ |
376 gstDnlBuffer = gst_buffer_new(); |
376 gstDnlBuffer = gst_buffer_new(); |
377 gst_buffer_set_caps(gstDnlBuffer, caps); |
377 gst_buffer_set_caps(gstDnlBuffer, caps); |
378 GST_BUFFER_SIZE(gstDnlBuffer) = buflen; |
378 GST_BUFFER_SIZE(gstDnlBuffer) = buflen; |
416 gst_app_src_push_buffer(GST_APP_SRC(iAppSrc), gstDnlBuffer); |
416 gst_app_src_push_buffer(GST_APP_SRC(iAppSrc), gstDnlBuffer); |
417 TRACE_PRN_N1(_L("TMS->DNL->BF: LEN[%d]"), buflen); |
417 TRACE_PRN_N1(_L("TMS->DNL->BF: LEN[%d]"), buflen); |
418 } |
418 } |
419 |
419 |
420 // ----------------------------------------------------------------------------- |
420 // ----------------------------------------------------------------------------- |
421 // TMSVoIPDownlink::SetCodecCi |
421 // TMSIPDownlink::SetCodecCi |
422 // |
422 // |
423 // ----------------------------------------------------------------------------- |
423 // ----------------------------------------------------------------------------- |
424 // |
424 // |
425 gint TMSVoIPDownlink::SetCodecCi() |
425 gint TMSIPDownlink::SetCodecCi() |
426 { |
426 { |
427 TRAPD(err, SetCodecCiL()); |
427 TRAPD(err, SetCodecCiL()); |
428 return err; |
428 return err; |
429 } |
429 } |
430 |
430 |
431 // ----------------------------------------------------------------------------- |
431 // ----------------------------------------------------------------------------- |
432 // TMSVoIPDownlink::SetCodecCiL |
432 // TMSIPDownlink::SetCodecCiL |
433 // |
433 // |
434 // ----------------------------------------------------------------------------- |
434 // ----------------------------------------------------------------------------- |
435 // |
435 // |
436 void TMSVoIPDownlink::SetCodecCiL() |
436 void TMSIPDownlink::SetCodecCiL() |
437 { |
437 { |
438 TRACE_PRN_FN_ENT; |
438 TRACE_PRN_FN_ENT; |
439 |
439 |
440 switch (iCodecID) |
440 switch (iCodecID) |
441 { |
441 { |
487 |
487 |
488 TRACE_PRN_FN_EXT; |
488 TRACE_PRN_FN_EXT; |
489 } |
489 } |
490 |
490 |
491 // ----------------------------------------------------------------------------- |
491 // ----------------------------------------------------------------------------- |
492 // TMSVoIPDownlink::SetVolume |
492 // TMSIPDownlink::SetVolume |
493 // |
493 // |
494 // ----------------------------------------------------------------------------- |
494 // ----------------------------------------------------------------------------- |
495 // |
495 // |
496 gint TMSVoIPDownlink::SetVolume(const guint volume) |
496 gint TMSIPDownlink::SetVolume(const guint volume) |
497 { |
497 { |
498 g_object_set(G_OBJECT(iSink), "volume", volume, NULL); |
498 g_object_set(G_OBJECT(iSink), "volume", volume, NULL); |
499 TRACE_PRN_N1(_L("TMS->DNL: SetVolume [%d]"), volume); |
499 TRACE_PRN_N1(_L("TMS->DNL: SetVolume [%d]"), volume); |
500 return TMS_RESULT_SUCCESS; |
500 return TMS_RESULT_SUCCESS; |
501 } |
501 } |
502 |
502 |
503 // ----------------------------------------------------------------------------- |
503 // ----------------------------------------------------------------------------- |
504 // TMSVoIPDownlink::GetVolume |
504 // TMSIPDownlink::GetVolume |
505 // |
505 // |
506 // ----------------------------------------------------------------------------- |
506 // ----------------------------------------------------------------------------- |
507 // |
507 // |
508 gint TMSVoIPDownlink::GetVolume(guint& volume) |
508 gint TMSIPDownlink::GetVolume(guint& volume) |
509 { |
509 { |
510 g_object_get(G_OBJECT(iSink), "volume", &volume, NULL); |
510 g_object_get(G_OBJECT(iSink), "volume", &volume, NULL); |
511 TRACE_PRN_N1(_L("TMS->DNL: GetVolume [%d]"), volume); |
511 TRACE_PRN_N1(_L("TMS->DNL: GetVolume [%d]"), volume); |
512 return TMS_RESULT_SUCCESS; |
512 return TMS_RESULT_SUCCESS; |
513 } |
513 } |
514 |
514 |
515 // ----------------------------------------------------------------------------- |
515 // ----------------------------------------------------------------------------- |
516 // TMSVoIPDownlink::GetMaxVolume |
516 // TMSIPDownlink::GetMaxVolume |
517 // |
517 // |
518 // ----------------------------------------------------------------------------- |
518 // ----------------------------------------------------------------------------- |
519 // |
519 // |
520 gint TMSVoIPDownlink::GetMaxVolume(guint& volume) |
520 gint TMSIPDownlink::GetMaxVolume(guint& volume) |
521 { |
521 { |
522 g_object_get(G_OBJECT(iSink), "maxvolume", &volume, NULL); |
522 g_object_get(G_OBJECT(iSink), "maxvolume", &volume, NULL); |
523 TRACE_PRN_N1(_L("TMS->DNL: MaxVolume [%d]"), volume); |
523 TRACE_PRN_N1(_L("TMS->DNL: MaxVolume [%d]"), volume); |
524 return TMS_RESULT_SUCCESS; |
524 return TMS_RESULT_SUCCESS; |
525 } |
525 } |
526 |
526 |
527 // ----------------------------------------------------------------------------- |
527 // ----------------------------------------------------------------------------- |
528 // TMSVoIPDownlink::GetDataXferChunkHndl |
528 // TMSIPDownlink::GetDataXferChunkHndl |
529 // |
529 // |
530 // ----------------------------------------------------------------------------- |
530 // ----------------------------------------------------------------------------- |
531 // |
531 // |
532 gint TMSVoIPDownlink::GetDataXferChunkHndl(const TUint32 key, RChunk& chunk) |
532 gint TMSIPDownlink::GetDataXferChunkHndl(const TUint32 key, RChunk& chunk) |
533 { |
533 { |
534 gint status = TMS_RESULT_DOES_NOT_EXIST; |
534 gint status = TMS_RESULT_DOES_NOT_EXIST; |
535 |
535 |
536 if (iChunk.Handle()) |
536 if (iChunk.Handle()) |
537 { |
537 { |
551 TRACE_PRN_IF_ERR(status); |
551 TRACE_PRN_IF_ERR(status); |
552 return status; |
552 return status; |
553 } |
553 } |
554 |
554 |
555 // ----------------------------------------------------------------------------- |
555 // ----------------------------------------------------------------------------- |
556 // TMSVoIPDownlink::SetIlbcCodecMode |
556 // TMSIPDownlink::SetIlbcCodecMode |
557 // |
557 // |
558 // ----------------------------------------------------------------------------- |
558 // ----------------------------------------------------------------------------- |
559 // |
559 // |
560 gint TMSVoIPDownlink::SetIlbcCodecMode(gint mode) |
560 gint TMSIPDownlink::SetIlbcCodecMode(gint mode) |
561 { |
561 { |
562 gint err = TMS_RESULT_DOES_NOT_EXIST; |
562 gint err = TMS_RESULT_DOES_NOT_EXIST; |
563 |
563 |
564 if (iStatus == EReady) |
564 if (iStatus == EReady) |
565 { |
565 { |
583 TRACE_PRN_IF_ERR(err); |
583 TRACE_PRN_IF_ERR(err); |
584 return err; |
584 return err; |
585 } |
585 } |
586 |
586 |
587 // ----------------------------------------------------------------------------- |
587 // ----------------------------------------------------------------------------- |
588 // TMSVoIPDownlink::GetIlbcCodecMode |
588 // TMSIPDownlink::GetIlbcCodecMode |
589 // |
589 // |
590 // ----------------------------------------------------------------------------- |
590 // ----------------------------------------------------------------------------- |
591 // |
591 // |
592 gint TMSVoIPDownlink::GetIlbcCodecMode(gint& mode) |
592 gint TMSIPDownlink::GetIlbcCodecMode(gint& mode) |
593 { |
593 { |
594 // not available through CIs -> return cashed value |
594 // not available through CIs -> return cashed value |
595 mode = iILBCDecodeMode; |
595 mode = iILBCDecodeMode; |
596 TRACE_PRN_N1(_L("TMS->DNL: GetIlbcCodecMode [%d]"), mode); |
596 TRACE_PRN_N1(_L("TMS->DNL: GetIlbcCodecMode [%d]"), mode); |
597 return TMS_RESULT_SUCCESS; |
597 return TMS_RESULT_SUCCESS; |
598 } |
598 } |
599 |
599 |
600 // ----------------------------------------------------------------------------- |
600 // ----------------------------------------------------------------------------- |
601 // TMSVoIPDownlink::SetG711CodecMode |
601 // TMSIPDownlink::SetG711CodecMode |
602 // |
602 // |
603 // ----------------------------------------------------------------------------- |
603 // ----------------------------------------------------------------------------- |
604 // |
604 // |
605 gint TMSVoIPDownlink::SetG711CodecMode(gint mode) |
605 gint TMSIPDownlink::SetG711CodecMode(gint mode) |
606 { |
606 { |
607 gint err = TMS_RESULT_DOES_NOT_EXIST; |
607 gint err = TMS_RESULT_DOES_NOT_EXIST; |
608 |
608 |
609 if (iStatus == EReady) |
609 if (iStatus == EReady) |
610 { |
610 { |
628 TRACE_PRN_IF_ERR(err); |
628 TRACE_PRN_IF_ERR(err); |
629 return err; |
629 return err; |
630 } |
630 } |
631 |
631 |
632 // ----------------------------------------------------------------------------- |
632 // ----------------------------------------------------------------------------- |
633 // TMSVoIPDownlink::GetG711CodecMode |
633 // TMSIPDownlink::GetG711CodecMode |
634 // |
634 // |
635 // ----------------------------------------------------------------------------- |
635 // ----------------------------------------------------------------------------- |
636 // |
636 // |
637 gint TMSVoIPDownlink::GetG711CodecMode(gint& mode) |
637 gint TMSIPDownlink::GetG711CodecMode(gint& mode) |
638 { |
638 { |
639 // not available through CIs -> return cached value |
639 // not available through CIs -> return cached value |
640 mode = iG711DecodeMode; |
640 mode = iG711DecodeMode; |
641 TRACE_PRN_N1(_L("TMS->DNL: GetG711CodecMode [%d]"), mode); |
641 TRACE_PRN_N1(_L("TMS->DNL: GetG711CodecMode [%d]"), mode); |
642 return TMS_RESULT_SUCCESS; |
642 return TMS_RESULT_SUCCESS; |
643 } |
643 } |
644 |
644 |
645 // ----------------------------------------------------------------------------- |
645 // ----------------------------------------------------------------------------- |
646 // TMSVoIPDownlink::FrameModeRqrdForEC |
646 // TMSIPDownlink::FrameModeRqrdForEC |
647 // |
647 // |
648 // ----------------------------------------------------------------------------- |
648 // ----------------------------------------------------------------------------- |
649 // |
649 // |
650 gint TMSVoIPDownlink::FrameModeRqrdForEC(gboolean& frmodereq) |
650 gint TMSIPDownlink::FrameModeRqrdForEC(gboolean& frmodereq) |
651 { |
651 { |
652 gint err = TMS_RESULT_DOES_NOT_EXIST; |
652 gint err = TMS_RESULT_DOES_NOT_EXIST; |
653 |
653 |
654 if (iStatus == EReady) |
654 if (iStatus == EReady) |
655 { |
655 { |
663 TRACE_PRN_IF_ERR(err); |
663 TRACE_PRN_IF_ERR(err); |
664 return err; |
664 return err; |
665 } |
665 } |
666 |
666 |
667 // ----------------------------------------------------------------------------- |
667 // ----------------------------------------------------------------------------- |
668 // TMSVoIPDownlink::SetFrameMode |
668 // TMSIPDownlink::SetFrameMode |
669 // |
669 // |
670 // ----------------------------------------------------------------------------- |
670 // ----------------------------------------------------------------------------- |
671 // |
671 // |
672 gint TMSVoIPDownlink::SetFrameMode(const gboolean frmode) |
672 gint TMSIPDownlink::SetFrameMode(const gboolean frmode) |
673 { |
673 { |
674 gint err = TMS_RESULT_DOES_NOT_EXIST; |
674 gint err = TMS_RESULT_DOES_NOT_EXIST; |
675 |
675 |
676 if (iStatus == EReady) |
676 if (iStatus == EReady) |
677 { |
677 { |
687 TRACE_PRN_IF_ERR(err); |
687 TRACE_PRN_IF_ERR(err); |
688 return err; |
688 return err; |
689 } |
689 } |
690 |
690 |
691 // ----------------------------------------------------------------------------- |
691 // ----------------------------------------------------------------------------- |
692 // TMSVoIPDownlink::GetFrameMode |
692 // TMSIPDownlink::GetFrameMode |
693 // |
693 // |
694 // ----------------------------------------------------------------------------- |
694 // ----------------------------------------------------------------------------- |
695 // |
695 // |
696 gint TMSVoIPDownlink::GetFrameMode(gboolean& frmode) |
696 gint TMSIPDownlink::GetFrameMode(gboolean& frmode) |
697 { |
697 { |
698 gint err = TMS_RESULT_DOES_NOT_EXIST; |
698 gint err = TMS_RESULT_DOES_NOT_EXIST; |
699 |
699 |
700 if (iErrConcealmentIntfc) |
700 if (iErrConcealmentIntfc) |
701 { |
701 { |
708 TRACE_PRN_IF_ERR(err); |
708 TRACE_PRN_IF_ERR(err); |
709 return err; |
709 return err; |
710 } |
710 } |
711 |
711 |
712 // ----------------------------------------------------------------------------- |
712 // ----------------------------------------------------------------------------- |
713 // TMSVoIPDownlink::ConcealErrorForNextBuffer |
713 // TMSIPDownlink::ConcealErrorForNextBuffer |
714 // |
714 // |
715 // ----------------------------------------------------------------------------- |
715 // ----------------------------------------------------------------------------- |
716 // |
716 // |
717 gint TMSVoIPDownlink::ConcealErrorForNextBuffer() |
717 gint TMSIPDownlink::ConcealErrorForNextBuffer() |
718 { |
718 { |
719 gint err = TMS_RESULT_DOES_NOT_EXIST; |
719 gint err = TMS_RESULT_DOES_NOT_EXIST; |
720 |
720 |
721 if (iErrConcealmentIntfc) |
721 if (iErrConcealmentIntfc) |
722 { |
722 { |
727 TRACE_PRN_IF_ERR(err); |
727 TRACE_PRN_IF_ERR(err); |
728 return err; |
728 return err; |
729 } |
729 } |
730 |
730 |
731 // ----------------------------------------------------------------------------- |
731 // ----------------------------------------------------------------------------- |
732 // TMSVoIPDownlink::SetCng |
732 // TMSIPDownlink::SetCng |
733 // |
733 // |
734 // ----------------------------------------------------------------------------- |
734 // ----------------------------------------------------------------------------- |
735 // |
735 // |
736 gint TMSVoIPDownlink::SetCng(const TMSFormatType fmttype, const gboolean cng) |
736 gint TMSIPDownlink::SetCng(const TMSFormatType fmttype, const gboolean cng) |
737 { |
737 { |
738 gint err = TMS_RESULT_DOES_NOT_EXIST; |
738 gint err = TMS_RESULT_DOES_NOT_EXIST; |
739 |
739 |
740 if (iStatus == EReady) |
740 if (iStatus == EReady) |
741 { |
741 { |
754 TRACE_PRN_IF_ERR(err); |
754 TRACE_PRN_IF_ERR(err); |
755 return err; |
755 return err; |
756 } |
756 } |
757 |
757 |
758 // ----------------------------------------------------------------------------- |
758 // ----------------------------------------------------------------------------- |
759 // TMSVoIPDownlink::GetCng |
759 // TMSIPDownlink::GetCng |
760 // |
760 // |
761 // ----------------------------------------------------------------------------- |
761 // ----------------------------------------------------------------------------- |
762 // |
762 // |
763 gint TMSVoIPDownlink::GetCng(const TMSFormatType fmttype, gboolean& cng) |
763 gint TMSIPDownlink::GetCng(const TMSFormatType fmttype, gboolean& cng) |
764 { |
764 { |
765 gint err = TMS_RESULT_DOES_NOT_EXIST; |
765 gint err = TMS_RESULT_DOES_NOT_EXIST; |
766 |
766 |
767 if (iStatus == EReady) |
767 if (iStatus == EReady) |
768 { |
768 { |
781 TRACE_PRN_IF_ERR(err); |
781 TRACE_PRN_IF_ERR(err); |
782 return err; |
782 return err; |
783 } |
783 } |
784 |
784 |
785 // ----------------------------------------------------------------------------- |
785 // ----------------------------------------------------------------------------- |
786 // TMSVoIPDownlink::SetPlc |
786 // TMSIPDownlink::SetPlc |
787 // |
787 // |
788 // ----------------------------------------------------------------------------- |
788 // ----------------------------------------------------------------------------- |
789 // |
789 // |
790 gint TMSVoIPDownlink::SetPlc(const TMSFormatType fmttype, const gboolean plc) |
790 gint TMSIPDownlink::SetPlc(const TMSFormatType fmttype, const gboolean plc) |
791 { |
791 { |
792 gint err = TMS_RESULT_DOES_NOT_EXIST; |
792 gint err = TMS_RESULT_DOES_NOT_EXIST; |
793 |
793 |
794 if (iStatus == EReady) |
794 if (iStatus == EReady) |
795 { |
795 { |
804 TRACE_PRN_IF_ERR(err); |
804 TRACE_PRN_IF_ERR(err); |
805 return err; |
805 return err; |
806 } |
806 } |
807 |
807 |
808 // ----------------------------------------------------------------------------- |
808 // ----------------------------------------------------------------------------- |
809 // TMSVoIPDownlink::GetPlc |
809 // TMSIPDownlink::GetPlc |
810 // |
810 // |
811 // ----------------------------------------------------------------------------- |
811 // ----------------------------------------------------------------------------- |
812 // |
812 // |
813 gint TMSVoIPDownlink::GetPlc(const TMSFormatType fmttype, gboolean& plc) |
813 gint TMSIPDownlink::GetPlc(const TMSFormatType fmttype, gboolean& plc) |
814 { |
814 { |
815 gint err = TMS_RESULT_DOES_NOT_EXIST; |
815 gint err = TMS_RESULT_DOES_NOT_EXIST; |
816 |
816 |
817 if (fmttype == TMS_FORMAT_G711 && iG711DecoderIntfc) |
817 if (fmttype == TMS_FORMAT_G711 && iG711DecoderIntfc) |
818 { |
818 { |
825 TRACE_PRN_IF_ERR(err); |
825 TRACE_PRN_IF_ERR(err); |
826 return err; |
826 return err; |
827 } |
827 } |
828 |
828 |
829 // ----------------------------------------------------------------------------- |
829 // ----------------------------------------------------------------------------- |
830 // TMSVoIPDownlink::BadLsfNextBuffer |
830 // TMSIPDownlink::BadLsfNextBuffer |
831 // |
831 // |
832 // ----------------------------------------------------------------------------- |
832 // ----------------------------------------------------------------------------- |
833 // |
833 // |
834 gint TMSVoIPDownlink::BadLsfNextBuffer() |
834 gint TMSIPDownlink::BadLsfNextBuffer() |
835 { |
835 { |
836 gint err = TMS_RESULT_DOES_NOT_EXIST; |
836 gint err = TMS_RESULT_DOES_NOT_EXIST; |
837 |
837 |
838 if (iStatus == EStreaming) |
838 if (iStatus == EStreaming) |
839 { |
839 { |
847 TRACE_PRN_IF_ERR(err); |
847 TRACE_PRN_IF_ERR(err); |
848 return err; |
848 return err; |
849 } |
849 } |
850 |
850 |
851 // ----------------------------------------------------------------------------- |
851 // ----------------------------------------------------------------------------- |
852 // TMSVoIPDownlink::SetAudioDeviceL |
852 // TMSIPDownlink::SetAudioDeviceL |
853 // |
853 // |
854 // ----------------------------------------------------------------------------- |
854 // ----------------------------------------------------------------------------- |
855 void TMSVoIPDownlink::SetAudioDeviceL(TMSAudioOutput output) |
855 void TMSIPDownlink::SetAudioDeviceL(TMSAudioOutput output) |
856 { |
856 { |
857 gint outputDev; |
857 gint outputDev; |
858 |
858 |
859 // ENoPreference=0, EAll=1, ENoOutput=2, EPrivate=3, EPublic=4 |
859 // ENoPreference=0, EAll=1, ENoOutput=2, EPrivate=3, EPublic=4 |
860 switch (output) |
860 switch (output) |
875 g_object_set(G_OBJECT(iSink), "outputdevice", outputDev, NULL); |
875 g_object_set(G_OBJECT(iSink), "outputdevice", outputDev, NULL); |
876 TRACE_PRN_N1(_L("TMS->DNL: SetAudioDeviceL [%d]"), outputDev); |
876 TRACE_PRN_N1(_L("TMS->DNL: SetAudioDeviceL [%d]"), outputDev); |
877 } |
877 } |
878 |
878 |
879 // ----------------------------------------------------------------------------- |
879 // ----------------------------------------------------------------------------- |
880 // TMSVoIPDownlink::GetAudioDeviceL |
880 // TMSIPDownlink::GetAudioDeviceL |
881 // |
881 // |
882 // ----------------------------------------------------------------------------- |
882 // ----------------------------------------------------------------------------- |
883 // |
883 // |
884 void TMSVoIPDownlink::GetAudioDeviceL(TMSAudioOutput& output) |
884 void TMSIPDownlink::GetAudioDeviceL(TMSAudioOutput& output) |
885 { |
885 { |
886 TRACE_PRN_FN_ENT; |
886 TRACE_PRN_FN_ENT; |
887 |
887 |
888 gint outputDev; |
888 gint outputDev; |
889 g_object_get(G_OBJECT(iSink), "outputdevice", &outputDev, NULL); |
889 g_object_get(G_OBJECT(iSink), "outputdevice", &outputDev, NULL); |