OsStatus MprToneGen::setFlowGraph(MpFlowGraphBase* pFlowGraph) { OsStatus res = MpAudioResource::setFlowGraph(pFlowGraph); if (res == OS_SUCCESS) { // Check are we added to flowgraph or removed. if (pFlowGraph != NULL) { mpToneGenState = MpToneGen_MpToneGen(mpFlowGraph->getSamplesPerSec(), mpLocale); } else { MpToneGen_delete(mpToneGenState); } } return res; }
// Constructor MprToneGen::MprToneGen(const UtlString& rName, int samplesPerFrame, int samplesPerSec, const char* locale) : MpResource(rName, 0, 1, 1, 1, samplesPerFrame, samplesPerSec), mpToneGenState(NULL) { // If we haven't yet initialized our static variables, do so now if (sNeedsStaticInit) { if (locale != NULL) { // get the call progress tones locale setting // (represented using an ISO-3166 two letter country code) strncpy(sCallProgressTonesLocale, locale, 2); sCallProgressTonesLocale[2] = '\0'; } sNeedsStaticInit = FALSE; } mpToneGenState = MpToneGen_MpToneGen(samplesPerSec, sCallProgressTonesLocale); }