91 /***********************************************************/ |
91 /***********************************************************/ |
92 void DevSoundWrapper::PlayError(TInt aError) |
92 void DevSoundWrapper::PlayError(TInt aError) |
93 { |
93 { |
94 TRequestStatus* stat = &(AL->iStatus); |
94 TRequestStatus* stat = &(AL->iStatus); |
95 User::RequestComplete(stat, aError); |
95 User::RequestComplete(stat, aError); |
96 iCallbackError = aError; |
96 iCallbackError = 0; |
97 } |
97 } |
98 /*******************************************************/ |
98 /*******************************************************/ |
99 void DevSoundWrapper::BufferToBeEmptied(CMMFBuffer* /*aBuffer*/) |
99 void DevSoundWrapper::BufferToBeEmptied(CMMFBuffer* /*aBuffer*/) |
100 { |
100 { |
101 |
101 |
241 TRACE_PRN_FN_EXT; |
241 TRACE_PRN_FN_EXT; |
242 return ret; |
242 return ret; |
243 } |
243 } |
244 |
244 |
245 /************************************************************/ |
245 /************************************************************/ |
|
246 |
|
247 int pause_devsound(GstDevsoundSink *ds) |
|
248 { |
|
249 TRACE_PRN_FN_ENT; |
|
250 DevSoundWrapper* handle = (DevSoundWrapper*) ds->handle; |
|
251 if(handle->dev_sound->IsResumeSupported()) |
|
252 { |
|
253 handle->dev_sound->Pause(); |
|
254 } |
|
255 else |
|
256 { |
|
257 handle->iSamplesPlayed = handle->dev_sound->SamplesPlayed(); |
|
258 handle->dev_sound->Stop(); |
|
259 } |
|
260 TRACE_PRN_FN_EXT; |
|
261 return 0; |
|
262 } |
|
263 |
|
264 int resume_devsound(GstDevsoundSink *ds) |
|
265 { |
|
266 TRACE_PRN_FN_ENT; |
|
267 DevSoundWrapper* handle = (DevSoundWrapper*) ds->handle; |
|
268 if(handle->dev_sound->IsResumeSupported()) |
|
269 { |
|
270 handle->dev_sound->Resume(); |
|
271 } |
|
272 else |
|
273 { |
|
274 playinit(handle); |
|
275 initproperties(ds); |
|
276 } |
|
277 TRACE_PRN_FN_EXT; |
|
278 return 0; |
|
279 } |
|
280 |
246 |
281 |
247 int close_devsound(GstDevsoundSink *ds) |
282 int close_devsound(GstDevsoundSink *ds) |
248 { |
283 { |
249 TRACE_PRN_FN_ENT; |
284 TRACE_PRN_FN_ENT; |
250 |
285 |
558 |
593 |
559 int get_ds_cb_error(DevSoundWrapper *handle) |
594 int get_ds_cb_error(DevSoundWrapper *handle) |
560 { |
595 { |
561 return handle->iCallbackError; |
596 return handle->iCallbackError; |
562 } |
597 } |
|
598 |
|
599 #ifdef AV_SYNC |
|
600 gboolean is_timeplayed_supported(DevSoundWrapper *handle) |
|
601 { |
|
602 gboolean retVal = FALSE; |
|
603 if (handle->dev_sound && (handle->dev_sound)->IsGetTimePlayedSupported()) |
|
604 { |
|
605 retVal = TRUE; |
|
606 } |
|
607 return retVal; |
|
608 } |
|
609 #endif /*AV_SYNC*/ |
|
610 |
563 /*******************************************************************/ |
611 /*******************************************************************/ |
564 |
612 |
565 int playinit(DevSoundWrapper *handle) |
613 int playinit(DevSoundWrapper *handle) |
566 { |
614 { |
567 TRACE_PRN_FN_ENT; |
615 TRACE_PRN_FN_ENT; |
568 |
616 |
569 ((handle)->AL)->InitialiseActiveListener(); |
617 ((handle)->AL)->InitialiseActiveListener(); |
570 handle->eosReceived = false; |
618 handle->eosReceived = false; |
571 |
619 |
572 TRAP(handle->iCallbackError,(handle->dev_sound)->PlayInitL()); |
620 TRAP(handle->iCallbackError,(handle->dev_sound)->PlayInitL()); |
573 if (handle->iCallbackError == KErrNone) |
621 if (handle->iCallbackError == KErrNone) |
574 { |
622 { |
575 ((handle)->AL)->StartActiveScheduler(); |
623 ((handle)->AL)->StartActiveScheduler(); |
576 } |
624 } |
577 |
625 |
713 /*********************************************************/ |
761 /*********************************************************/ |
714 void populateproperties(GstDevsoundSink *ds) |
762 void populateproperties(GstDevsoundSink *ds) |
715 { |
763 { |
716 TRACE_PRN_FN_ENT; |
764 TRACE_PRN_FN_ENT; |
717 DevSoundWrapper* dsPtr = STATIC_CAST(DevSoundWrapper*, ds->handle); |
765 DevSoundWrapper* dsPtr = STATIC_CAST(DevSoundWrapper*, ds->handle); |
718 ds->samplesplayed = (dsPtr->dev_sound)->SamplesPlayed(); |
766 #ifdef AV_SYNC |
|
767 if (dsPtr->dev_sound->IsGetTimePlayedSupported()) |
|
768 { |
|
769 TTimeIntervalMicroSeconds timePlayedInMS = 0; |
|
770 (dsPtr->dev_sound)->GetTimePlayed(timePlayedInMS); |
|
771 /* store value in nano seconds */ |
|
772 ds->time_or_samples_played = timePlayedInMS.Int64() * 1000; |
|
773 } |
|
774 else |
|
775 { |
|
776 ds->time_or_samples_played += (dsPtr->dev_sound)->SamplesPlayed(); |
|
777 } |
|
778 #endif /*AV_SYNC*/ |
719 get_outputdevice(dsPtr,&ds->output); |
779 get_outputdevice(dsPtr,&ds->output); |
720 TRACE_PRN_FN_EXT; |
780 TRACE_PRN_FN_EXT; |
721 } |
781 } |
722 |
782 |
723 void initproperties(GstDevsoundSink* ds) |
783 void initproperties(GstDevsoundSink* ds) |
724 { |
784 { |
725 TRACE_PRN_FN_ENT; |
785 TRACE_PRN_FN_ENT; |
726 DevSoundWrapper* dsPtr= STATIC_CAST(DevSoundWrapper*, ds->handle); |
786 DevSoundWrapper* dsPtr= STATIC_CAST(DevSoundWrapper*, ds->handle); |
727 ds->maxvolume = (dsPtr->dev_sound)->MaxVolume(); |
787 ds->maxvolume = (dsPtr->dev_sound)->MaxVolume(); |
728 ds->volume = (dsPtr->dev_sound)->Volume(); |
788 ds->volume = (dsPtr->dev_sound)->Volume(); |
729 framemode_rqrd_for_ec(dsPtr,&ds->framemodereq); |
|
730 get_cng(dsPtr,&ds->g711cng); |
|
731 get_ilbccng(dsPtr,&ds->ilbccng); |
|
732 TRACE_PRN_FN_EXT; |
789 TRACE_PRN_FN_EXT; |
733 } |
790 } |