From 8b5ad7dbb5966326dfa8d25d6b6944434e1be912 Mon Sep 17 00:00:00 2001 From: "yuzhuohuang@qq.com" Date: Wed, 14 Nov 2012 18:20:54 +0800 Subject: [PATCH] MPC-HC 19f3afdfa6586b556af5886f8eaf1f1390f06612 Properly enable memory leak detection. Use MS define DEBUG_NEW. --- src/dsutil/HdmvClipInfo.cpp | 2 +- src/dsutil/SharedInclude.h | 12 ----------- src/filters/transform/vsfilter/plugins.cpp | 32 +++++++++++++++--------------- src/subpic/DX7SubPic.cpp | 2 +- src/subpic/DX9SubPic.cpp | 2 +- src/subpic/MemSubPic.cpp | 4 ++-- src/subpic/PooledSubPic.cpp | 2 +- src/subtitles/CompositionObject.cpp | 2 +- src/subtitles/DVBSub.cpp | 8 ++++---- src/subtitles/HdmvSub.cpp | 6 +++--- src/subtitles/RTS.cpp | 2 +- src/subtitles/RenderedHdmvSubtitle.cpp | 4 ++-- src/subtitles/SubtitleInputPin.cpp | 2 +- 13 files changed, 34 insertions(+), 46 deletions(-) diff --git a/src/dsutil/HdmvClipInfo.cpp b/src/dsutil/HdmvClipInfo.cpp index 0dc9d36..1432ecc 100644 --- a/src/dsutil/HdmvClipInfo.cpp +++ b/src/dsutil/HdmvClipInfo.cpp @@ -336,7 +336,7 @@ HRESULT CHdmvClipInfo::ReadChapters(CString strPlaylistFile, CAtlList -#define DNew new(_NORMAL_BLOCK, __FILE__, __LINE__) -#else -#define DNew new(__FILE__, __LINE__) -#endif - -#else - -#define DNew new - #endif diff --git a/src/filters/transform/vsfilter/plugins.cpp b/src/filters/transform/vsfilter/plugins.cpp index 2c99385..e6107ac 100644 --- a/src/filters/transform/vsfilter/plugins.cpp +++ b/src/filters/transform/vsfilter/plugins.cpp @@ -487,13 +487,13 @@ public: int vobsubInitProc(FilterActivation* fa, const FilterFunctions* ff) { - *(CVirtualDubFilter**)fa->filter_data = DNew CVobSubVirtualDubFilter(); + *(CVirtualDubFilter**)fa->filter_data = DEBUG_NEW CVobSubVirtualDubFilter(); return !(*(CVirtualDubFilter**)fa->filter_data); } int textsubInitProc(FilterActivation* fa, const FilterFunctions* ff) { - *(CVirtualDubFilter**)fa->filter_data = DNew CTextSubVirtualDubFilter(); + *(CVirtualDubFilter**)fa->filter_data = DEBUG_NEW CTextSubVirtualDubFilter(); return !(*(CVirtualDubFilter**)fa->filter_data); } @@ -542,7 +542,7 @@ public: if (f) { delete f; } - f = DNew CVobSubVirtualDubFilter(CString(*argv[0].asString())); + f = DEBUG_NEW CVobSubVirtualDubFilter(CString(*argv[0].asString())); *(CVirtualDubFilter**)fa->filter_data = f; } @@ -553,7 +553,7 @@ public: if (f) { delete f; } - f = DNew CTextSubVirtualDubFilter(CString(*argv[0].asString()), argv[1].asInt()); + f = DEBUG_NEW CTextSubVirtualDubFilter(CString(*argv[0].asString()), argv[1].asInt()); *(CVirtualDubFilter**)fa->filter_data = f; } @@ -760,12 +760,12 @@ public: int vobsubInitProc(VDXFilterActivation* fa, const VDXFilterFunctions* ff) { - return ((*(CVirtualDubFilter**)fa->filter_data = DNew CVobSubVirtualDubFilter()) == NULL); + return ((*(CVirtualDubFilter**)fa->filter_data = DEBUG_NEW CVobSubVirtualDubFilter()) == NULL); } int textsubInitProc(VDXFilterActivation* fa, const VDXFilterFunctions* ff) { - return ((*(CVirtualDubFilter**)fa->filter_data = DNew CTextSubVirtualDubFilter()) == NULL); + return ((*(CVirtualDubFilter**)fa->filter_data = DEBUG_NEW CTextSubVirtualDubFilter()) == NULL); } void baseDeinitProc(VDXFilterActivation* fa, const VDXFilterFunctions* ff) @@ -813,7 +813,7 @@ public: if (f) { delete f; } - f = DNew CVobSubVirtualDubFilter(CString(*argv[0].asString())); + f = DEBUG_NEW CVobSubVirtualDubFilter(CString(*argv[0].asString())); *(CVirtualDubFilter**)fa->filter_data = f; } @@ -824,7 +824,7 @@ public: if (f) { delete f; } - f = DNew CTextSubVirtualDubFilter(CString(*argv[0].asString()), argv[1].asInt()); + f = DEBUG_NEW CTextSubVirtualDubFilter(CString(*argv[0].asString()), argv[1].asInt()); *(CVirtualDubFilter**)fa->filter_data = f; } @@ -959,7 +959,7 @@ public: AVSValue __cdecl VobSubCreateS(AVSValue args, void* user_data, IScriptEnvironment* env) { - return (DNew CVobSubAvisynthFilter(args[0].AsClip(), args[1].AsString(), env)); + return (DEBUG_NEW CVobSubAvisynthFilter(args[0].AsClip(), args[1].AsString(), env)); } class CTextSubAvisynthFilter : public CTextSubFilter, public CAvisynthFilter @@ -976,17 +976,17 @@ public: AVSValue __cdecl TextSubCreateS(AVSValue args, void* user_data, IScriptEnvironment* env) { - return (DNew CTextSubAvisynthFilter(args[0].AsClip(), env, args[1].AsString())); + return (DEBUG_NEW CTextSubAvisynthFilter(args[0].AsClip(), env, args[1].AsString())); } AVSValue __cdecl TextSubCreateSI(AVSValue args, void* user_data, IScriptEnvironment* env) { - return (DNew CTextSubAvisynthFilter(args[0].AsClip(), env, args[1].AsString(), args[2].AsInt())); + return (DEBUG_NEW CTextSubAvisynthFilter(args[0].AsClip(), env, args[1].AsString(), args[2].AsInt())); } AVSValue __cdecl TextSubCreateSIF(AVSValue args, void* user_data, IScriptEnvironment* env) { - return (DNew CTextSubAvisynthFilter(args[0].AsClip(), env, args[1].AsString(), args[2].AsInt(), (float)args[3].AsFloat())); + return (DEBUG_NEW CTextSubAvisynthFilter(args[0].AsClip(), env, args[1].AsString(), args[2].AsInt(), (float)args[3].AsFloat())); } AVSValue __cdecl MaskSubCreateSIIFI(AVSValue args, void* user_data, IScriptEnvironment* env) @@ -1009,7 +1009,7 @@ public: }; AVSValue clip(env->Invoke("Blackness", value, nom)); env->SetVar(env->SaveString("RGBA"), true); - return (DNew CTextSubAvisynthFilter(clip.AsClip(), env, args[0].AsString())); + return (DEBUG_NEW CTextSubAvisynthFilter(clip.AsClip(), env, args[0].AsString())); } extern "C" __declspec(dllexport) const char* __stdcall AvisynthPluginInit(IScriptEnvironment* env) @@ -1089,7 +1089,7 @@ public: AVSValue __cdecl VobSubCreateS(AVSValue args, void* user_data, IScriptEnvironment* env) { - return (DNew CVobSubAvisynthFilter(args[0].AsClip(), args[1].AsString(), env)); + return (DEBUG_NEW CVobSubAvisynthFilter(args[0].AsClip(), args[1].AsString(), env)); } class CTextSubAvisynthFilter : public CTextSubFilter, public CAvisynthFilter @@ -1114,7 +1114,7 @@ public: vfr = GetVFRTranslator(args[4].AsString()); } - return (DNew CTextSubAvisynthFilter( + return (DEBUG_NEW CTextSubAvisynthFilter( args[0].AsClip(), env, args[1].AsString(), @@ -1162,7 +1162,7 @@ public: AVSValue clip(env->Invoke("Blackness", value, nom)); env->SetVar(env->SaveString("RGBA"), true); //return (DNew CTextSubAvisynthFilter(clip.AsClip(), env, args[0].AsString())); - return (DNew CTextSubAvisynthFilter( + return (DEBUG_NEW CTextSubAvisynthFilter( clip.AsClip(), env, args[0].AsString(), diff --git a/src/subpic/DX7SubPic.cpp b/src/subpic/DX7SubPic.cpp index 682dbac..38e9abe 100644 --- a/src/subpic/DX7SubPic.cpp +++ b/src/subpic/DX7SubPic.cpp @@ -293,7 +293,7 @@ bool CDX7SubPicAllocator::Alloc(bool fStatic, ISubPic** ppSubPic) return false; } - *ppSubPic = DNew CDX7SubPic(m_pD3DDev, pSurface); + *ppSubPic = DEBUG_NEW CDX7SubPic(m_pD3DDev, pSurface); if(!(*ppSubPic)) { return false; } diff --git a/src/subpic/DX9SubPic.cpp b/src/subpic/DX9SubPic.cpp index 99f6e02..74ede56 100644 --- a/src/subpic/DX9SubPic.cpp +++ b/src/subpic/DX9SubPic.cpp @@ -451,7 +451,7 @@ bool CDX9SubPicAllocator::Alloc(bool fStatic, ISubPic** ppSubPic) } } - *ppSubPic = DNew CDX9SubPic(pSurface, fStatic ? 0 : this, m_bExternalRenderer); + *ppSubPic = DEBUG_NEW CDX9SubPic(pSurface, fStatic ? 0 : this, m_bExternalRenderer); if(!(*ppSubPic)) { return false; } diff --git a/src/subpic/MemSubPic.cpp b/src/subpic/MemSubPic.cpp index f19dc07..8635aae 100644 --- a/src/subpic/MemSubPic.cpp +++ b/src/subpic/MemSubPic.cpp @@ -1617,11 +1617,11 @@ bool CMemSubPicAllocator::AllocEx(bool fStatic, ISubPicEx** ppSubPic) spd.bpp = 32; spd.pitch = (spd.w*spd.bpp)>>3; spd.type = m_type; - spd.bits = DNew BYTE[spd.pitch*spd.h]; + spd.bits = DEBUG_NEW BYTE[spd.pitch*spd.h]; if(!spd.bits) { return false; } - *ppSubPic = DNew CMemSubPic(spd, m_alpha_blt_dst_type); + *ppSubPic = DEBUG_NEW CMemSubPic(spd, m_alpha_blt_dst_type); if(!(*ppSubPic)) { return false; } diff --git a/src/subpic/PooledSubPic.cpp b/src/subpic/PooledSubPic.cpp index ef4f0a0..85fecaa 100644 --- a/src/subpic/PooledSubPic.cpp +++ b/src/subpic/PooledSubPic.cpp @@ -219,7 +219,7 @@ CPooledSubPic* CPooledSubPicAllocator::DoAlloc() return(NULL); } CPooledSubPic* temp = NULL; - if(!(temp = DNew CPooledSubPic(spd, _alpha_blt_dst_type, this))) + if(!(temp = DEBUG_NEW CPooledSubPic(spd, _alpha_blt_dst_type, this))) { xy_free(spd.bits); ASSERT(0); diff --git a/src/subtitles/CompositionObject.cpp b/src/subtitles/CompositionObject.cpp index f50d309..c37e2a0 100644 --- a/src/subtitles/CompositionObject.cpp +++ b/src/subtitles/CompositionObject.cpp @@ -310,7 +310,7 @@ void CompositionObject::InitColor(const SubPicDesc& spd) void CompositionObject::SetRLEData(const BYTE* pBuffer, int nSize, int nTotalSize) { delete [] m_pRLEData; - m_pRLEData = DNew BYTE[nTotalSize]; + m_pRLEData = DEBUG_NEW BYTE[nTotalSize]; m_nRLEDataSize = nTotalSize; m_nRLEPos = nSize; diff --git a/src/subtitles/DVBSub.cpp b/src/subtitles/DVBSub.cpp index f62450b..a227aad 100644 --- a/src/subtitles/DVBSub.cpp +++ b/src/subtitles/DVBSub.cpp @@ -127,7 +127,7 @@ HRESULT CDVBSub::AddToBuffer(BYTE* pData, int nSize) BYTE* pPrev = m_pBuffer; m_nBufferSize = max(m_nBufferWritePos + nSize, m_nBufferSize + BUFFER_CHUNK_GROW); - m_pBuffer = DNew BYTE[m_nBufferSize]; + m_pBuffer = DEBUG_NEW BYTE[m_nBufferSize]; if (pPrev != NULL) { memcpy_s(m_pBuffer, m_nBufferSize, pPrev, m_nBufferWritePos); SAFE_DELETE(pPrev); @@ -445,7 +445,7 @@ HRESULT CDVBSub::ParsePage(CGolombBuffer& gb, WORD wSegLength, CAutoPtrpageTimeOut = gb.ReadByte(); pPage->pageVersionNumber = (BYTE)gb.BitRead(4); pPage->pageState = (BYTE)gb.BitRead(2); @@ -537,7 +537,7 @@ HRESULT CDVBSub::ParseClut(CGolombBuffer& gb, WORD wSegLength) int nEnd = gb.GetPos() + wSegLength; if (m_pCurrentPage && wSegLength > 2) { - DVB_CLUT* pClut = DNew DVB_CLUT(); + DVB_CLUT* pClut = DEBUG_NEW DVB_CLUT(); if (pClut) { pClut->id = gb.ReadByte(); pClut->version_number = (BYTE)gb.BitRead(4); @@ -592,7 +592,7 @@ HRESULT CDVBSub::ParseObject(CGolombBuffer& gb, WORD wSegLength) HRESULT hr = E_FAIL; if (m_pCurrentPage && wSegLength > 2) { - CompositionObject* pObject = DNew CompositionObject(); + CompositionObject* pObject = DEBUG_NEW CompositionObject(); BYTE object_coding_method; pObject->m_object_id_ref = gb.ReadShort(); diff --git a/src/subtitles/HdmvSub.cpp b/src/subtitles/HdmvSub.cpp index d069c48..328a41b 100644 --- a/src/subtitles/HdmvSub.cpp +++ b/src/subtitles/HdmvSub.cpp @@ -53,7 +53,7 @@ void CHdmvSub::AllocSegment(int nSize) { if (nSize > m_nTotalSegBuffer) { delete [] m_pSegBuffer; - m_pSegBuffer = DNew BYTE[nSize]; + m_pSegBuffer = DEBUG_NEW BYTE[nSize]; m_nTotalSegBuffer = nSize; } m_nSegBufferPos = 0; @@ -200,7 +200,7 @@ HRESULT CHdmvSub::ParseSample(IMediaSample* pSample) int CHdmvSub::ParsePresentationSegment(REFERENCE_TIME rt, CGolombBuffer* pGBuffer) { - m_pCurrentPresentationSegment = DNew HDMV_PRESENTATION_SEGMENT(); + m_pCurrentPresentationSegment = DEBUG_NEW HDMV_PRESENTATION_SEGMENT(); m_pCurrentPresentationSegment->rtStart = rt; m_pCurrentPresentationSegment->rtStop = _I64_MAX; @@ -215,7 +215,7 @@ int CHdmvSub::ParsePresentationSegment(REFERENCE_TIME rt, CGolombBuffer* pGBuffe m_pCurrentPresentationSegment->composition_descriptor.bState, m_pCurrentPresentationSegment->objectCount) ); for (int i = 0; i < m_pCurrentPresentationSegment->objectCount; i++) { - CompositionObject* pCompositionObject = DNew CompositionObject(); + CompositionObject* pCompositionObject = DEBUG_NEW CompositionObject(); ParseCompositionObject(pGBuffer, pCompositionObject); m_pCurrentPresentationSegment->objects.AddTail(pCompositionObject); } diff --git a/src/subtitles/RTS.cpp b/src/subtitles/RTS.cpp index c34dc69..588b710 100644 --- a/src/subtitles/RTS.cpp +++ b/src/subtitles/RTS.cpp @@ -973,7 +973,7 @@ CPolygon::~CPolygon() SharedPtrCWord CPolygon::Copy() { - SharedPtrCWord result(DNew CPolygon(*this)); + SharedPtrCWord result(DEBUG_NEW CPolygon(*this)); return result; } diff --git a/src/subtitles/RenderedHdmvSubtitle.cpp b/src/subtitles/RenderedHdmvSubtitle.cpp index 760531d..9a7987b 100644 --- a/src/subtitles/RenderedHdmvSubtitle.cpp +++ b/src/subtitles/RenderedHdmvSubtitle.cpp @@ -31,11 +31,11 @@ CRenderedHdmvSubtitle::CRenderedHdmvSubtitle(CCritSec* pLock, SUBTITLE_TYPE nTyp { switch (nType) { case ST_DVB : - m_pSub = DNew CDVBSub(); + m_pSub = DEBUG_NEW CDVBSub(); if (name.IsEmpty() || (name == _T("Unknown"))) m_name = "DVB Embedded Subtitle"; break; case ST_HDMV : - m_pSub = DNew CHdmvSub(); + m_pSub = DEBUG_NEW CHdmvSub(); if (name.IsEmpty() || (name == _T("Unknown"))) m_name = "HDMV Embedded Subtitle"; break; default : diff --git a/src/subtitles/SubtitleInputPin.cpp b/src/subtitles/SubtitleInputPin.cpp index 0eab8fe..2bcdb7f 100644 --- a/src/subtitles/SubtitleInputPin.cpp +++ b/src/subtitles/SubtitleInputPin.cpp @@ -148,7 +148,7 @@ HRESULT CSubtitleInputPin::CompleteConnect(IPin* pReceivePin) } else if (IsHdmvSub(&m_mt)) { - if(!(m_pSubStream = DNew CRenderedHdmvSubtitle(m_pSubLock, (m_mt.subtype == MEDIASUBTYPE_DVB_SUBTITLES) ? ST_DVB : ST_HDMV, name, lcid))) { + if(!(m_pSubStream = DEBUG_NEW CRenderedHdmvSubtitle(m_pSubLock, (m_mt.subtype == MEDIASUBTYPE_DVB_SUBTITLES) ? ST_DVB : ST_HDMV, name, lcid))) { return E_FAIL; } } -- 2.11.4.GIT