OSCL_EXPORT_REF AndroidAudioOutput::~AndroidAudioOutput() { LOGV("destructor"); // make sure output thread has exited RequestAndWaitForThreadExit(); // cleanup active timing object if (iActiveTiming) { iActiveTiming->~AndroidAudioMIOActiveTimingSupport(); OsclMemAllocator alloc; alloc.deallocate(iActiveTiming); } // clean up some thread interface objects iAudioThreadSem->Close(); delete iAudioThreadSem; iAudioThreadTermSem->Close(); delete iAudioThreadTermSem; iAudioThreadReturnSem->Close(); delete iAudioThreadReturnSem; iAudioThreadCreatedSem->Close(); delete iAudioThreadCreatedSem; iOSSRequestQueueLock.Close(); }
OSCL_EXPORT_REF AndroidAudioStream::~AndroidAudioStream() { LOGV("destructor"); // cleanup active timing object if (iActiveTiming) { iActiveTiming->~AndroidAudioMIOActiveTimingSupport(); OsclMemAllocator alloc; alloc.deallocate(iActiveTiming); } }
////// INetURI implementation //////////////////////////////////////////////////////////////////////////////////// bool INetURI::setURI(OSCL_wString &aUri, const bool aRedirectURI) { if (aUri.get_size() == 0) return false; OsclMemAllocator alloc; char *buf = (char*)alloc.allocate(aUri.get_size() + 1); if (!buf) return false; uint32 size = oscl_UnicodeToUTF8(aUri.get_cstr(), aUri.get_size(), buf, aUri.get_size() + 1); if (size == 0) { alloc.deallocate(buf); return false; } iURI = OSCL_HeapString<OsclMemAllocator> (buf, size); alloc.deallocate(buf); // clear iHost iHostName.set(NULL, 0); iRedirectURI = aRedirectURI; return true; }
virtual void destruct_and_dealloc(OsclAny* ptr) { uint8* tmp_ptr = (uint8*) ptr; uint aligned_refcnt_size = oscl_mem_aligned_size(sizeof(OsclRefCounterSA<MediaCmdCleanupSA>)); tmp_ptr += aligned_refcnt_size; PVMFMediaCmd* mcmd_ptr = reinterpret_cast<PVMFMediaCmd*>(tmp_ptr); mcmd_ptr->~PVMFMediaCmd(); OsclMemAllocator alloc; alloc.deallocate(ptr); }
OSCL_EXPORT_REF void CPVInterfaceProxy::Delete() //called under app thread context { Oscl_DefAlloc *alloc = this->iAlloc; bool default_alloc = (this->iAlloc == &this->iDefAlloc); this->~CPVInterfaceProxy(); if (default_alloc) { OsclMemAllocator defalloc; defalloc.deallocate(this); } else { alloc->deallocate(this); } }
PVMFStatus PVMFSocketPort::releaseParameters(PvmiMIOSession aSession, PvmiKvp* aParameters, int num_elements) { OSCL_UNUSED_ARG(aSession); PVLOGGER_LOGMSG(PVLOGMSG_INST_MLDBG, iLogger, PVLOGMSG_INFO, (0, "PVMFSocketPort::releaseParameters: aSession=0x%x, aParameters=0x%x, num_elements=%d", aSession, aParameters, num_elements)); if ((num_elements != 1) || (pv_mime_strcmp(aParameters->key, PVMI_PORT_CONFIG_INPLACE_DATA_PROCESSING_VALUE) != 0)) { PVLOGGER_LOGMSG(PVLOGMSG_INST_MLDBG, iLogger, PVLOGMSG_ERR, (0, "PVMFSocketPort::releaseParameters: Error - Not a PvmiKvp created by this port")); return PVMFFailure; } OsclMemAllocator alloc; alloc.deallocate((OsclAny*)(aParameters)); return PVMFSuccess; }