virtual ~ShmemDIBTextureData() { MOZ_COUNT_DTOR(ShmemDIBTextureData); // The host side has its own references and handles to this data, we can // safely clear ours. DeallocateData(); }
HX_RESULT H264PayloadFormat::CNALUPacket::ResizeData (UINT32 ulNewSize, UINT32 ulSizeToCopy, UINT8* pDataToCopy) { HX_RESULT retVal = HXR_OK; // allocate memory for the new data UINT8* pNewData = new UINT8[ulNewSize]; if(!pNewData) { retVal = HXR_OUTOFMEMORY; } if(SUCCEEDED(retVal)) { // copy the old data, if any exists if(ulSize > 0) { memcpy(pNewData, pData, ulSize); } // copy the new data, if any exists, starting after the old data if(ulSizeToCopy) { if(ulSize + ulSizeToCopy <= ulNewSize) { memcpy(pNewData + ulSize, pDataToCopy, ulSizeToCopy); } else { retVal = HXR_BUFFERTOOSMALL; // note: we'll keep the newly allocated data if on // this failure and deallocate it on the destructor } } DeallocateData(); // save the new data and size pData = pNewData; ulSize = ulNewSize; // we now own this data bDataIsOwned = TRUE; } return retVal; }
H264PayloadFormat::CNALUPacket::~CNALUPacket() { HX_RELEASE(pBuffer); DeallocateData(); }
virtual void Deallocate(LayersIPCChannel* aAllocator) override { DeallocateData(); }
virtual void Deallocate(ClientIPCAllocator* aAllocator) override { DeallocateData(); }