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
@@ -51,6 +51,7 @@ class FrameManager { | |||
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 int getLastIndex()=0; | |||
virtual ~FrameManager() {}; | |||
}; | |||
#endif |