CExportDSPTask::~CExportDSPTask()
{
	tbool bAbort = false;
	if (mpEncoder) {
		bAbort = true;
		mpEncoder->Destroy();
		mpEncoder = NULL;
	}

	if (mpfOutput) {
		if (bAbort) {
			DeleteDstFile(mpfOutput);
		}

		mpfOutput->Destroy();
		mpfOutput = NULL;
	}
	if (mpfIntermediateFiles[0]) {
		mpfIntermediateFiles[0]->Destroy();
		mpfIntermediateFiles[0] = NULL;
	}
	if (mpfIntermediateFiles[1]) {
		mpfIntermediateFiles[1]->Destroy();
		mpfIntermediateFiles[1] = NULL;
	}
	if (msIntermediateFiles[0].length()) {
		IFile::DeleteFile(msIntermediateFiles[0].c_str());
	}
	if (msIntermediateFiles[1].length()) {
		IFile::DeleteFile(msIntermediateFiles[1].c_str());
	}

	AllocBuffers(0);
} // destructor
CExportClipTask::~CExportClipTask()
{
	tbool bAbort = false;
	if (mpEncoder) {
		bAbort = true;
		mpEncoder->Destroy();
		mpEncoder = NULL;
	}

	if (bAbort) {
		if (mpfDst) {
			DeleteDstFile(mpfDst);
			mpfDst->Destroy();
			mpfDst = NULL;
		}
	}

	pfWaveL->Destroy();
	pfWaveR->Destroy();
} // destructor