21 #include "tmsutility.h" |
21 #include "tmsutility.h" |
22 #include "ipcallstream.h" |
22 #include "ipcallstream.h" |
23 |
23 |
24 using namespace TMS; |
24 using namespace TMS; |
25 |
25 |
26 static TMSVoIPUplink* iSelfUp; |
26 static TMSIPUplink* iSelfUp; |
27 GstBuffer* gstUplBuffer; |
27 GstBuffer* gstUplBuffer; |
28 #ifdef _DEBUG |
28 #ifdef _DEBUG |
29 //static TInt iHeapUp; |
29 //static TInt iHeapUp; |
30 #endif //_DEBUG |
30 #endif //_DEBUG |
31 |
31 |
32 // ----------------------------------------------------------------------------- |
32 // ----------------------------------------------------------------------------- |
33 // TMSVoIPUplink::cb_record_raw_handoff |
33 // TMSIPUplink::cb_record_raw_handoff |
34 // ----------------------------------------------------------------------------- |
34 // ----------------------------------------------------------------------------- |
35 // |
35 // |
36 void TMSVoIPUplink::cb_record_raw_handoff(GstElement *sink) |
36 void TMSIPUplink::cb_record_raw_handoff(GstElement *sink) |
37 { |
37 { |
38 TRACE_PRN_N(_L("TMS->UPL: cb_record_raw_handoff Enter")); |
38 TRACE_PRN_N(_L("TMS->UPL: cb_record_raw_handoff Enter")); |
39 |
39 |
40 #ifdef _DEBUG |
40 #ifdef _DEBUG |
41 /* TInt block; |
41 /* TInt block; |
49 gstUplBuffer = gst_app_sink_pull_buffer(GST_APP_SINK(sink)); |
49 gstUplBuffer = gst_app_sink_pull_buffer(GST_APP_SINK(sink)); |
50 iSelfUp->BufferToBeEmptied(); |
50 iSelfUp->BufferToBeEmptied(); |
51 } |
51 } |
52 |
52 |
53 // ----------------------------------------------------------------------------- |
53 // ----------------------------------------------------------------------------- |
54 // TMSVoIPUplink::bus_call |
54 // TMSIPUplink::bus_call |
55 // ----------------------------------------------------------------------------- |
55 // ----------------------------------------------------------------------------- |
56 // |
56 // |
57 gboolean TMSVoIPUplink::bus_call(GstBus* /*bus*/, GstMessage* msg, |
57 gboolean TMSIPUplink::bus_call(GstBus* /*bus*/, GstMessage* msg, |
58 gpointer /*data*/) |
58 gpointer /*data*/) |
59 { |
59 { |
60 switch (GST_MESSAGE_TYPE(msg)) |
60 switch (GST_MESSAGE_TYPE(msg)) |
61 { |
61 { |
62 case GST_MESSAGE_EOS: |
62 case GST_MESSAGE_EOS: |
115 "rate", G_TYPE_INT, 8000, |
115 "rate", G_TYPE_INT, 8000, |
116 "channels", G_TYPE_INT, 1, |
116 "channels", G_TYPE_INT, 1, |
117 NULL); |
117 NULL); |
118 |
118 |
119 iBusRec = gst_pipeline_get_bus(GST_PIPELINE(iPipelineRec)); |
119 iBusRec = gst_pipeline_get_bus(GST_PIPELINE(iPipelineRec)); |
120 gst_bus_add_watch(iBusRec, (TMSVoIPUplink::bus_call), NULL); |
120 gst_bus_add_watch(iBusRec, (TMSIPUplink::bus_call), NULL); |
121 gst_object_unref(iBusRec); |
121 gst_object_unref(iBusRec); |
122 |
122 |
123 // add objects to the main iPipelineRec |
123 // add objects to the main iPipelineRec |
124 gst_bin_add_many(GST_BIN(iPipelineRec), iSource, iAppSink, NULL); |
124 gst_bin_add_many(GST_BIN(iPipelineRec), iSource, iAppSink, NULL); |
125 |
125 |
159 TRACE_PRN_FN_EXT; |
159 TRACE_PRN_FN_EXT; |
160 return err; |
160 return err; |
161 } |
161 } |
162 |
162 |
163 // ----------------------------------------------------------------------------- |
163 // ----------------------------------------------------------------------------- |
164 // TMSVoIPUplink::gst_record_raw |
164 // TMSIPUplink::gst_record_raw |
165 // ----------------------------------------------------------------------------- |
165 // ----------------------------------------------------------------------------- |
166 // |
166 // |
167 gint TMSVoIPUplink::gst_record_raw() |
167 gint TMSIPUplink::gst_record_raw() |
168 { |
168 { |
169 // start recording |
169 // start recording |
170 gst_element_set_state(iPipelineRec, GST_STATE_PLAYING); |
170 gst_element_set_state(iPipelineRec, GST_STATE_PLAYING); |
171 return KErrNone; |
171 return KErrNone; |
172 } |
172 } |
173 |
173 |
174 // ----------------------------------------------------------------------------- |
174 // ----------------------------------------------------------------------------- |
175 // TMSVoIPUplink::TMSVoIPUplink |
175 // TMSIPUplink::TMSIPUplink |
176 // Standard Constructor |
176 // Standard Constructor |
177 // ----------------------------------------------------------------------------- |
177 // ----------------------------------------------------------------------------- |
178 // |
178 // |
179 TMSVoIPUplink::TMSVoIPUplink() |
179 TMSIPUplink::TMSIPUplink() |
180 { |
180 { |
181 iSelfUp = this; |
181 iSelfUp = this; |
182 } |
182 } |
183 |
183 |
184 // ----------------------------------------------------------------------------- |
184 // ----------------------------------------------------------------------------- |
185 // TMSVoIPUplink::~TMSVoIPUplink |
185 // TMSIPUplink::~TMSIPUplink |
186 // Standard Constructor |
186 // Standard Constructor |
187 // ----------------------------------------------------------------------------- |
187 // ----------------------------------------------------------------------------- |
188 // |
188 // |
189 TMSVoIPUplink::~TMSVoIPUplink() |
189 TMSIPUplink::~TMSIPUplink() |
190 { |
190 { |
191 TRACE_PRN_FN_ENT; |
191 TRACE_PRN_FN_ENT; |
192 |
192 |
193 Stop(); |
193 Stop(); |
194 gst_object_unref(GST_OBJECT(iPipelineRec)); |
194 gst_object_unref(GST_OBJECT(iPipelineRec)); |
201 |
201 |
202 TRACE_PRN_FN_EXT; |
202 TRACE_PRN_FN_EXT; |
203 } |
203 } |
204 |
204 |
205 // ----------------------------------------------------------------------------- |
205 // ----------------------------------------------------------------------------- |
206 // TMSVoIPUplink::NewL |
206 // TMSIPUplink::NewL |
207 // Symbian two-phase constructor |
207 // Symbian two-phase constructor |
208 // ----------------------------------------------------------------------------- |
208 // ----------------------------------------------------------------------------- |
209 // |
209 // |
210 TMSVoIPUplink* TMSVoIPUplink::NewL(const guint32 codecID, |
210 TMSIPUplink* TMSIPUplink::NewL(const guint32 codecID, |
211 const TMMFPrioritySettings priority) |
211 const TMMFPrioritySettings priority) |
212 { |
212 { |
213 TMSVoIPUplink* self = new (ELeave) TMSVoIPUplink(); |
213 TMSIPUplink* self = new (ELeave) TMSIPUplink(); |
214 CleanupStack::PushL(self); |
214 CleanupStack::PushL(self); |
215 self->ConstructL(codecID, priority); |
215 self->ConstructL(codecID, priority); |
216 CleanupStack::Pop(self); |
216 CleanupStack::Pop(self); |
217 return self; |
217 return self; |
218 } |
218 } |
219 |
219 |
220 // ----------------------------------------------------------------------------- |
220 // ----------------------------------------------------------------------------- |
221 // TMSVoIPUplink::ConstructL |
221 // TMSIPUplink::ConstructL |
222 // Part two of Symbian two phase construction |
222 // Part two of Symbian two phase construction |
223 // ----------------------------------------------------------------------------- |
223 // ----------------------------------------------------------------------------- |
224 // |
224 // |
225 void TMSVoIPUplink::ConstructL(const guint32 codecID, |
225 void TMSIPUplink::ConstructL(const guint32 codecID, |
226 const TMMFPrioritySettings priority) |
226 const TMMFPrioritySettings priority) |
227 { |
227 { |
228 TRACE_PRN_FN_ENT; |
228 TRACE_PRN_FN_ENT; |
229 |
229 |
230 iCodecID = codecID; |
230 iCodecID = codecID; |
246 |
246 |
247 TRACE_PRN_FN_EXT; |
247 TRACE_PRN_FN_EXT; |
248 } |
248 } |
249 |
249 |
250 // ----------------------------------------------------------------------------- |
250 // ----------------------------------------------------------------------------- |
251 // TMSVoIPUplink::Start |
251 // TMSIPUplink::Start |
252 // |
252 // |
253 // ----------------------------------------------------------------------------- |
253 // ----------------------------------------------------------------------------- |
254 // |
254 // |
255 void TMSVoIPUplink::Start() |
255 void TMSIPUplink::Start() |
256 { |
256 { |
257 TRACE_PRN_FN_ENT; |
257 TRACE_PRN_FN_ENT; |
258 |
258 |
259 gst_record_raw(); |
259 gst_record_raw(); |
260 iStatus = EStreaming; |
260 iStatus = EStreaming; |
261 |
261 |
262 TRACE_PRN_FN_EXT; |
262 TRACE_PRN_FN_EXT; |
263 } |
263 } |
264 |
264 |
265 // ----------------------------------------------------------------------------- |
265 // ----------------------------------------------------------------------------- |
266 // TMSVoIPUplink::Stop |
266 // TMSIPUplink::Stop |
267 // |
267 // |
268 // ----------------------------------------------------------------------------- |
268 // ----------------------------------------------------------------------------- |
269 // |
269 // |
270 void TMSVoIPUplink::Stop() |
270 void TMSIPUplink::Stop() |
271 { |
271 { |
272 TRACE_PRN_FN_ENT; |
272 TRACE_PRN_FN_ENT; |
273 |
273 |
274 if (iStatus == EStreaming) |
274 if (iStatus == EStreaming) |
275 { |
275 { |
294 |
294 |
295 TRACE_PRN_FN_EXT; |
295 TRACE_PRN_FN_EXT; |
296 } |
296 } |
297 |
297 |
298 // ----------------------------------------------------------------------------- |
298 // ----------------------------------------------------------------------------- |
299 // TMSVoIPUplink::BufferToBeEmptied |
299 // TMSIPUplink::BufferToBeEmptied |
300 // From MDevSoundObserver |
300 // From MDevSoundObserver |
301 // ----------------------------------------------------------------------------- |
301 // ----------------------------------------------------------------------------- |
302 // |
302 // |
303 void TMSVoIPUplink::BufferToBeEmptied() |
303 void TMSIPUplink::BufferToBeEmptied() |
304 { |
304 { |
305 TInt buflen = GST_BUFFER_SIZE(gstUplBuffer); |
305 TInt buflen = GST_BUFFER_SIZE(gstUplBuffer); |
306 TRACE_PRN_N1(_L("TMS->UPL: BTBE->LEN [%d]"), buflen); |
306 TRACE_PRN_N1(_L("TMS->UPL: BTBE->LEN [%d]"), buflen); |
307 |
307 |
308 // Adjust/create RChunk if necessary |
308 // Adjust/create RChunk if necessary |
343 err = iMsgQueue.Send(iMsgBuffer); |
343 err = iMsgQueue.Send(iMsgBuffer); |
344 TRACE_PRN_IF_ERR(err); |
344 TRACE_PRN_IF_ERR(err); |
345 } |
345 } |
346 |
346 |
347 // ----------------------------------------------------------------------------- |
347 // ----------------------------------------------------------------------------- |
348 // TMSVoIPUplink::BufferEmptied |
348 // TMSIPUplink::BufferEmptied |
349 // |
349 // |
350 // ----------------------------------------------------------------------------- |
350 // ----------------------------------------------------------------------------- |
351 // |
351 // |
352 void TMSVoIPUplink::BufferEmptied() |
352 void TMSIPUplink::BufferEmptied() |
353 { |
353 { |
354 //TRACE_PRN_N(_L("TMS->UPL->BE")); |
354 //TRACE_PRN_N(_L("TMS->UPL->BE")); |
355 } |
355 } |
356 |
356 |
357 // ----------------------------------------------------------------------------- |
357 // ----------------------------------------------------------------------------- |
358 // TMSVoIPUplink::SetCodecCi |
358 // TMSIPUplink::SetCodecCi |
359 // |
359 // |
360 // ----------------------------------------------------------------------------- |
360 // ----------------------------------------------------------------------------- |
361 // |
361 // |
362 gint TMSVoIPUplink::SetCodecCi() |
362 gint TMSIPUplink::SetCodecCi() |
363 { |
363 { |
364 TRAPD(err, SetCodecCiL()); |
364 TRAPD(err, SetCodecCiL()); |
365 return err; |
365 return err; |
366 } |
366 } |
367 |
367 |
368 // ----------------------------------------------------------------------------- |
368 // ----------------------------------------------------------------------------- |
369 // TMSVoIPUplink::SetCodecCiL |
369 // TMSIPUplink::SetCodecCiL |
370 // |
370 // |
371 // ----------------------------------------------------------------------------- |
371 // ----------------------------------------------------------------------------- |
372 // |
372 // |
373 void TMSVoIPUplink::SetCodecCiL() |
373 void TMSIPUplink::SetCodecCiL() |
374 { |
374 { |
375 TRACE_PRN_FN_ENT; |
375 TRACE_PRN_FN_ENT; |
376 |
376 |
377 switch (iCodecID) |
377 switch (iCodecID) |
378 { |
378 { |
418 |
418 |
419 TRACE_PRN_FN_EXT; |
419 TRACE_PRN_FN_EXT; |
420 } |
420 } |
421 |
421 |
422 // ----------------------------------------------------------------------------- |
422 // ----------------------------------------------------------------------------- |
423 // TMSVoIPUplink::SetGain |
423 // TMSIPUplink::SetGain |
424 // |
424 // |
425 // ----------------------------------------------------------------------------- |
425 // ----------------------------------------------------------------------------- |
426 // |
426 // |
427 gint TMSVoIPUplink::SetGain(const guint gain) |
427 gint TMSIPUplink::SetGain(const guint gain) |
428 { |
428 { |
429 g_object_set(G_OBJECT(iSource), "gain", gain, NULL); |
429 g_object_set(G_OBJECT(iSource), "gain", gain, NULL); |
430 TRACE_PRN_N1(_L("TMS->UPL: SetGain [%d]"), gain); |
430 TRACE_PRN_N1(_L("TMS->UPL: SetGain [%d]"), gain); |
431 return TMS_RESULT_SUCCESS; |
431 return TMS_RESULT_SUCCESS; |
432 } |
432 } |
433 |
433 |
434 // ----------------------------------------------------------------------------- |
434 // ----------------------------------------------------------------------------- |
435 // TMSVoIPUplink::GetGain |
435 // TMSIPUplink::GetGain |
436 // |
436 // |
437 // ----------------------------------------------------------------------------- |
437 // ----------------------------------------------------------------------------- |
438 // |
438 // |
439 gint TMSVoIPUplink::GetGain(guint& gain) |
439 gint TMSIPUplink::GetGain(guint& gain) |
440 { |
440 { |
441 g_object_get(G_OBJECT(iSource), "gain", &gain, NULL); |
441 g_object_get(G_OBJECT(iSource), "gain", &gain, NULL); |
442 TRACE_PRN_N1(_L("TMS->UPL: GetGain [%d]"), gain); |
442 TRACE_PRN_N1(_L("TMS->UPL: GetGain [%d]"), gain); |
443 return TMS_RESULT_SUCCESS; |
443 return TMS_RESULT_SUCCESS; |
444 } |
444 } |
445 |
445 |
446 // ----------------------------------------------------------------------------- |
446 // ----------------------------------------------------------------------------- |
447 // TMSVoIPUplink::GetMaxGain |
447 // TMSIPUplink::GetMaxGain |
448 // |
448 // |
449 // ----------------------------------------------------------------------------- |
449 // ----------------------------------------------------------------------------- |
450 // |
450 // |
451 gint TMSVoIPUplink::GetMaxGain(guint& gain) |
451 gint TMSIPUplink::GetMaxGain(guint& gain) |
452 { |
452 { |
453 g_object_get(G_OBJECT(iSource), "maxgain", &gain, NULL); |
453 g_object_get(G_OBJECT(iSource), "maxgain", &gain, NULL); |
454 TRACE_PRN_N1(_L("TMS->UPL: MaxGain [%d]"), gain); |
454 TRACE_PRN_N1(_L("TMS->UPL: MaxGain [%d]"), gain); |
455 return TMS_RESULT_SUCCESS; |
455 return TMS_RESULT_SUCCESS; |
456 } |
456 } |
457 |
457 |
458 // ----------------------------------------------------------------------------- |
458 // ----------------------------------------------------------------------------- |
459 // TMSVoIPUplink::GetDataXferChunkHndl |
459 // TMSIPUplink::GetDataXferChunkHndl |
460 // |
460 // |
461 // ----------------------------------------------------------------------------- |
461 // ----------------------------------------------------------------------------- |
462 // |
462 // |
463 gint TMSVoIPUplink::GetDataXferChunkHndl(const TUint32 key, RChunk& chunk) |
463 gint TMSIPUplink::GetDataXferChunkHndl(const TUint32 key, RChunk& chunk) |
464 { |
464 { |
465 gint status = TMS_RESULT_SUCCESS; |
465 gint status = TMS_RESULT_SUCCESS; |
466 |
466 |
467 if (iChunk.Handle()) |
467 if (iChunk.Handle()) |
468 { |
468 { |
512 TRACE_PRN_IF_ERR(err); |
512 TRACE_PRN_IF_ERR(err); |
513 return err; |
513 return err; |
514 } |
514 } |
515 |
515 |
516 // ----------------------------------------------------------------------------- |
516 // ----------------------------------------------------------------------------- |
517 // TMSVoIPUplink::GetIlbcCodecMode |
517 // TMSIPUplink::GetIlbcCodecMode |
518 // |
518 // |
519 // ----------------------------------------------------------------------------- |
519 // ----------------------------------------------------------------------------- |
520 // |
520 // |
521 gint TMSVoIPUplink::GetIlbcCodecMode(gint& mode) |
521 gint TMSIPUplink::GetIlbcCodecMode(gint& mode) |
522 { |
522 { |
523 // not available through CIs -> return cached value |
523 // not available through CIs -> return cached value |
524 mode = iILBCEncodeMode; |
524 mode = iILBCEncodeMode; |
525 TRACE_PRN_N1(_L("TMS->UPL: GetIlbcCodecMode [%d]"), mode); |
525 TRACE_PRN_N1(_L("TMS->UPL: GetIlbcCodecMode [%d]"), mode); |
526 return TMS_RESULT_SUCCESS; |
526 return TMS_RESULT_SUCCESS; |
527 } |
527 } |
528 |
528 |
529 // ----------------------------------------------------------------------------- |
529 // ----------------------------------------------------------------------------- |
530 // TMSVoIPUplink::SetG711CodecMode |
530 // TMSIPUplink::SetG711CodecMode |
531 // |
531 // |
532 // ----------------------------------------------------------------------------- |
532 // ----------------------------------------------------------------------------- |
533 // |
533 // |
534 gint TMSVoIPUplink::SetG711CodecMode(const gint mode) |
534 gint TMSIPUplink::SetG711CodecMode(const gint mode) |
535 { |
535 { |
536 gint err = TMS_RESULT_DOES_NOT_EXIST; |
536 gint err = TMS_RESULT_DOES_NOT_EXIST; |
537 |
537 |
538 if (iStatus == EReady) |
538 if (iStatus == EReady) |
539 { |
539 { |
557 TRACE_PRN_IF_ERR(err); |
557 TRACE_PRN_IF_ERR(err); |
558 return err; |
558 return err; |
559 } |
559 } |
560 |
560 |
561 // ----------------------------------------------------------------------------- |
561 // ----------------------------------------------------------------------------- |
562 // TMSVoIPUplink::GetG711CodecMode |
562 // TMSIPUplink::GetG711CodecMode |
563 // |
563 // |
564 // ----------------------------------------------------------------------------- |
564 // ----------------------------------------------------------------------------- |
565 // |
565 // |
566 gint TMSVoIPUplink::GetG711CodecMode(gint& mode) |
566 gint TMSIPUplink::GetG711CodecMode(gint& mode) |
567 { |
567 { |
568 // not available through CIs -> return cached value |
568 // not available through CIs -> return cached value |
569 mode = iG711EncodeMode; |
569 mode = iG711EncodeMode; |
570 TRACE_PRN_N1(_L("TMS->UPL: GetG711CodecMode [%d]"), mode); |
570 TRACE_PRN_N1(_L("TMS->UPL: GetG711CodecMode [%d]"), mode); |
571 return TMS_RESULT_SUCCESS; |
571 return TMS_RESULT_SUCCESS; |
572 } |
572 } |
573 |
573 |
574 // ----------------------------------------------------------------------------- |
574 // ----------------------------------------------------------------------------- |
575 // TMSVoIPUplink::GetSupportedBitrates |
575 // TMSIPUplink::GetSupportedBitrates |
576 // |
576 // |
577 // ----------------------------------------------------------------------------- |
577 // ----------------------------------------------------------------------------- |
578 // |
578 // |
579 gint TMSVoIPUplink::GetSupportedBitrates(RArray<guint>& bitrates) |
579 gint TMSIPUplink::GetSupportedBitrates(RArray<guint>& bitrates) |
580 { |
580 { |
581 gint err = TMS_RESULT_DOES_NOT_EXIST; |
581 gint err = TMS_RESULT_DOES_NOT_EXIST; |
582 bitrates.Reset(); |
582 bitrates.Reset(); |
583 |
583 |
584 if (iSpeechEncoderConfig) |
584 if (iSpeechEncoderConfig) |
602 TRACE_PRN_IF_ERR(err); |
602 TRACE_PRN_IF_ERR(err); |
603 return err; |
603 return err; |
604 } |
604 } |
605 |
605 |
606 // ----------------------------------------------------------------------------- |
606 // ----------------------------------------------------------------------------- |
607 // TMSVoIPUplink::SetBitrate |
607 // TMSIPUplink::SetBitrate |
608 // |
608 // |
609 // ----------------------------------------------------------------------------- |
609 // ----------------------------------------------------------------------------- |
610 // |
610 // |
611 gint TMSVoIPUplink::SetBitrate(guint bitrate) |
611 gint TMSIPUplink::SetBitrate(guint bitrate) |
612 { |
612 { |
613 gint err = TMS_RESULT_DOES_NOT_EXIST; |
613 gint err = TMS_RESULT_DOES_NOT_EXIST; |
614 |
614 |
615 if (iSpeechEncoderConfig) |
615 if (iSpeechEncoderConfig) |
616 { |
616 { |
621 TRACE_PRN_IF_ERR(err); |
621 TRACE_PRN_IF_ERR(err); |
622 return err; |
622 return err; |
623 } |
623 } |
624 |
624 |
625 // ----------------------------------------------------------------------------- |
625 // ----------------------------------------------------------------------------- |
626 // TMSVoIPUplink::GetBitrate |
626 // TMSIPUplink::GetBitrate |
627 // |
627 // |
628 // ----------------------------------------------------------------------------- |
628 // ----------------------------------------------------------------------------- |
629 // |
629 // |
630 gint TMSVoIPUplink::GetBitrate(guint& bitrate) |
630 gint TMSIPUplink::GetBitrate(guint& bitrate) |
631 { |
631 { |
632 gint err = TMS_RESULT_DOES_NOT_EXIST; |
632 gint err = TMS_RESULT_DOES_NOT_EXIST; |
633 |
633 |
634 if (iSpeechEncoderConfig) |
634 if (iSpeechEncoderConfig) |
635 { |
635 { |
640 TRACE_PRN_IF_ERR(err); |
640 TRACE_PRN_IF_ERR(err); |
641 return err; |
641 return err; |
642 } |
642 } |
643 |
643 |
644 // ----------------------------------------------------------------------------- |
644 // ----------------------------------------------------------------------------- |
645 // TMSVoIPUplink::SetVad |
645 // TMSIPUplink::SetVad |
646 // |
646 // |
647 // ----------------------------------------------------------------------------- |
647 // ----------------------------------------------------------------------------- |
648 // |
648 // |
649 gint TMSVoIPUplink::SetVad(const TMSFormatType fmttype, const gboolean vad) |
649 gint TMSIPUplink::SetVad(const TMSFormatType fmttype, const gboolean vad) |
650 { |
650 { |
651 gint err = TMS_RESULT_DOES_NOT_EXIST; |
651 gint err = TMS_RESULT_DOES_NOT_EXIST; |
652 |
652 |
653 switch (fmttype) |
653 switch (fmttype) |
654 { |
654 { |
697 TRACE_PRN_IF_ERR(err); |
697 TRACE_PRN_IF_ERR(err); |
698 return err; |
698 return err; |
699 } |
699 } |
700 |
700 |
701 // ----------------------------------------------------------------------------- |
701 // ----------------------------------------------------------------------------- |
702 // TMSVoIPUplink::GetVad |
702 // TMSIPUplink::GetVad |
703 // |
703 // |
704 // ----------------------------------------------------------------------------- |
704 // ----------------------------------------------------------------------------- |
705 // |
705 // |
706 gint TMSVoIPUplink::GetVad(const TMSFormatType fmttype, gboolean& vad) |
706 gint TMSIPUplink::GetVad(const TMSFormatType fmttype, gboolean& vad) |
707 { |
707 { |
708 gint err = TMS_RESULT_DOES_NOT_EXIST; |
708 gint err = TMS_RESULT_DOES_NOT_EXIST; |
709 |
709 |
710 switch (fmttype) |
710 switch (fmttype) |
711 { |
711 { |