diff options
author | Underground78 <underground78@users.sourceforge.net> | 2012-08-25 12:04:50 +0400 |
---|---|---|
committer | Underground78 <underground78@users.sourceforge.net> | 2012-08-25 12:04:50 +0400 |
commit | 61eac104aff1cb4437ef50545376b111ac287038 (patch) | |
tree | f0480ad72abbdde9ee2e547af6893e667569c8b0 /src/filters/transform | |
parent | c80ab10bb5ce013836569eb926bf3f3026206127 (diff) |
Return an error code when memory allocations fail.
Diffstat (limited to 'src/filters/transform')
4 files changed, 17 insertions, 3 deletions
diff --git a/src/filters/transform/MPCVideoDec/MPCVideoDecFilter.cpp b/src/filters/transform/MPCVideoDec/MPCVideoDecFilter.cpp index f465abf5d..3118b1f40 100644 --- a/src/filters/transform/MPCVideoDec/MPCVideoDecFilter.cpp +++ b/src/filters/transform/MPCVideoDec/MPCVideoDecFilter.cpp @@ -2453,6 +2453,8 @@ STDMETHODIMP CMPCVideoDecFilter::GetPages(CAUUID* pPages) {
CheckPointer(pPages, E_POINTER);
+ HRESULT hr = S_OK;
+
#ifdef STANDALONE_FILTER
pPages->cElems = 2;
#else
@@ -2465,9 +2467,11 @@ STDMETHODIMP CMPCVideoDecFilter::GetPages(CAUUID* pPages) if (pPages->cElems > 1) {
pPages->pElems[1] = __uuidof(CMPCVideoDecCodecWnd);
}
+ } else {
+ hr = E_OUTOFMEMORY;
}
- return S_OK;
+ return hr;
}
STDMETHODIMP CMPCVideoDecFilter::CreatePage(const GUID& guid, IPropertyPage** ppPage)
diff --git a/src/filters/transform/MPCVideoDec/VideoDecOutputPin.cpp b/src/filters/transform/MPCVideoDec/VideoDecOutputPin.cpp index d17077242..2279e7909 100644 --- a/src/filters/transform/MPCVideoDec/VideoDecOutputPin.cpp +++ b/src/filters/transform/MPCVideoDec/VideoDecOutputPin.cpp @@ -120,6 +120,8 @@ STDMETHODIMP CVideoDecOutputPin::GetCreateVideoAcceleratorData(const GUID* pGuid pConnectMode->wRestrictedMode = m_pVideoDecFilter->GetDXVA1RestrictedMode();
*pdwSizeMiscData = sizeof(DXVA_ConnectMode);
*ppMiscData = pConnectMode;
+ } else {
+ hr = E_OUTOFMEMORY;
}
}
}
diff --git a/src/filters/transform/MpaDecFilter/MpaDecFilter.cpp b/src/filters/transform/MpaDecFilter/MpaDecFilter.cpp index 26fbcf293..700148ad7 100644 --- a/src/filters/transform/MpaDecFilter/MpaDecFilter.cpp +++ b/src/filters/transform/MpaDecFilter/MpaDecFilter.cpp @@ -1943,13 +1943,17 @@ STDMETHODIMP CMpaDecFilter::GetPages(CAUUID* pPages) {
CheckPointer(pPages, E_POINTER);
+ HRESULT hr = S_OK;
+
pPages->cElems = 1;
pPages->pElems = (GUID*)CoTaskMemAlloc(sizeof(GUID) * pPages->cElems);
if (pPages->pElems != NULL) {
pPages->pElems[0] = __uuidof(CMpaDecSettingsWnd);
+ } else {
+ hr = E_OUTOFMEMORY;
}
- return S_OK;
+ return hr;
}
STDMETHODIMP CMpaDecFilter::CreatePage(const GUID& guid, IPropertyPage** ppPage)
diff --git a/src/filters/transform/Mpeg2DecFilter/Mpeg2DecFilter.cpp b/src/filters/transform/Mpeg2DecFilter/Mpeg2DecFilter.cpp index cb11faa1f..673cdc0e6 100644 --- a/src/filters/transform/Mpeg2DecFilter/Mpeg2DecFilter.cpp +++ b/src/filters/transform/Mpeg2DecFilter/Mpeg2DecFilter.cpp @@ -1071,13 +1071,17 @@ STDMETHODIMP CMpeg2DecFilter::GetPages(CAUUID* pPages) {
CheckPointer(pPages, E_POINTER);
+ HRESULT hr = S_OK;
+
pPages->cElems = 1;
pPages->pElems = (GUID*)CoTaskMemAlloc(sizeof(GUID) * pPages->cElems);
if (pPages->pElems != NULL) {
pPages->pElems[0] = __uuidof(CMpeg2DecSettingsWnd);
+ } else {
+ hr = E_OUTOFMEMORY;
}
- return S_OK;
+ return hr;
}
STDMETHODIMP CMpeg2DecFilter::CreatePage(const GUID& guid, IPropertyPage** ppPage)
|