delete playerHandleInfo->frameManager wasn't actually calling FrameManagerImpl~, because playerHandleInfo->frameManager is only a FrameManager, which didn't have a destructor, and nothing was saying that it's actually a FrameManagerImpl behind. Adding a virtual destructor fixes that.master
| virtual void queueFrame(speechPlayer_frame_t* frame, unsigned int minNumSamples, unsigned int numFadeSamples, int userIndex, bool purgeQueue)=0; | virtual void queueFrame(speechPlayer_frame_t* frame, unsigned int minNumSamples, unsigned int numFadeSamples, int userIndex, bool purgeQueue)=0; | ||||
| virtual const speechPlayer_frame_t* const getCurrentFrame()=0; | virtual const speechPlayer_frame_t* const getCurrentFrame()=0; | ||||
| virtual const int getLastIndex()=0; | virtual const int getLastIndex()=0; | ||||
| virtual ~FrameManager() {}; | |||||
| }; | }; | ||||
| #endif | #endif |