gst_plugins_symbian/gst/devsound/devsoundsinkwrapper.cpp
changeset 7 71e347f905f2
parent 2 5505e8908944
child 13 04c79585b4c7
equal deleted inserted replaced
2:5505e8908944 7:71e347f905f2
    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     }