[PATCH] amstream: Use CRT memory allocators.
Zebediah Figura
zfigura at codeweavers.com
Sat Mar 26 19:54:41 CDT 2022
Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
---
dlls/amstream/amstream_private.h | 1 -
dlls/amstream/audiodata.c | 22 +++++++++-------------
dlls/amstream/audiostream.c | 24 +++++++++++-------------
dlls/amstream/ddrawstream.c | 16 +++++++---------
dlls/amstream/filter.c | 24 ++++++++++++------------
dlls/amstream/main.c | 6 +++---
dlls/amstream/multimedia.c | 6 +++---
7 files changed, 45 insertions(+), 54 deletions(-)
diff --git a/dlls/amstream/amstream_private.h b/dlls/amstream/amstream_private.h
index e71563cb115..999081db754 100644
--- a/dlls/amstream/amstream_private.h
+++ b/dlls/amstream/amstream_private.h
@@ -32,7 +32,6 @@
#include "mmstream.h"
#include "austream.h"
#include "amstream.h"
-#include "wine/heap.h"
HRESULT multimedia_stream_create(IUnknown *outer, void **out) DECLSPEC_HIDDEN;
HRESULT AMAudioData_create(IUnknown *pUnkOuter, LPVOID *ppObj) DECLSPEC_HIDDEN;
diff --git a/dlls/amstream/audiodata.c b/dlls/amstream/audiodata.c
index 1f8c0c44064..752651b1afe 100644
--- a/dlls/amstream/audiodata.c
+++ b/dlls/amstream/audiodata.c
@@ -71,19 +71,16 @@ static ULONG WINAPI IAudioDataImpl_AddRef(IAudioData* iface)
static ULONG WINAPI IAudioDataImpl_Release(IAudioData* iface)
{
- AMAudioDataImpl *This = impl_from_IAudioData(iface);
- ULONG ref = InterlockedDecrement(&This->ref);
+ AMAudioDataImpl *audiodata = impl_from_IAudioData(iface);
+ ULONG ref = InterlockedDecrement(&audiodata->ref);
- TRACE("(%p)->(): new ref = %lu\n", iface, This->ref);
+ TRACE("%p decreasing refcount to %lu.\n", audiodata, ref);
if (!ref)
{
- if (This->data_owned)
- {
- CoTaskMemFree(This->data);
- }
-
- HeapFree(GetProcessHeap(), 0, This);
+ if (audiodata->data_owned)
+ free(audiodata->data);
+ free(audiodata);
}
return ref;
@@ -103,7 +100,7 @@ static HRESULT WINAPI IAudioDataImpl_SetBuffer(IAudioData* iface, DWORD size, BY
if (This->data_owned)
{
- CoTaskMemFree(This->data);
+ free(This->data);
This->data_owned = FALSE;
}
@@ -112,7 +109,7 @@ static HRESULT WINAPI IAudioDataImpl_SetBuffer(IAudioData* iface, DWORD size, BY
if (!This->data)
{
- This->data = CoTaskMemAlloc(This->size);
+ This->data = malloc(This->size);
This->data_owned = TRUE;
if (!This->data)
{
@@ -228,8 +225,7 @@ HRESULT AMAudioData_create(IUnknown *pUnkOuter, LPVOID *ppObj)
if (pUnkOuter)
return CLASS_E_NOAGGREGATION;
- object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(AMAudioDataImpl));
- if (!object)
+ if (!(object = calloc(1, sizeof(*object))))
return E_OUTOFMEMORY;
object->IAudioData_iface.lpVtbl = &AudioData_Vtbl;
diff --git a/dlls/amstream/audiostream.c b/dlls/amstream/audiostream.c
index a043390f5b1..d76156cb682 100644
--- a/dlls/amstream/audiostream.c
+++ b/dlls/amstream/audiostream.c
@@ -202,7 +202,7 @@ static ULONG WINAPI audio_sample_Release(IAudioStreamSample *iface)
IAMMediaStream_Release(&sample->parent->IAMMediaStream_iface);
IAudioData_Release(sample->audio_data);
CloseHandle(sample->update_event);
- HeapFree(GetProcessHeap(), 0, sample);
+ free(sample);
}
return refcount;
}
@@ -383,8 +383,7 @@ static HRESULT audiostreamsample_create(struct audio_stream *parent, IAudioData
TRACE("(%p)\n", audio_stream_sample);
- object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object));
- if (!object)
+ if (!(object = calloc(1, sizeof(*object))))
return E_OUTOFMEMORY;
object->IAudioStreamSample_iface.lpVtbl = &AudioStreamSample_Vtbl;
@@ -456,15 +455,15 @@ static ULONG WINAPI audio_IAMMediaStream_AddRef(IAMMediaStream *iface)
static ULONG WINAPI audio_IAMMediaStream_Release(IAMMediaStream *iface)
{
- struct audio_stream *This = impl_from_IAMMediaStream(iface);
- ULONG ref = InterlockedDecrement(&This->ref);
+ struct audio_stream *stream = impl_from_IAMMediaStream(iface);
+ ULONG ref = InterlockedDecrement(&stream->ref);
- TRACE("(%p/%p)->(): new ref = %lu\n", iface, This, ref);
+ TRACE("%p decreasing refcount to %lu.\n", stream, ref);
if (!ref)
{
- DeleteCriticalSection(&This->cs);
- HeapFree(GetProcessHeap(), 0, This);
+ DeleteCriticalSection(&stream->cs);
+ free(stream);
}
return ref;
@@ -830,7 +829,7 @@ static ULONG WINAPI enum_media_types_Release(IEnumMediaTypes *iface)
ULONG refcount = InterlockedDecrement(&enum_media_types->refcount);
TRACE("%p decreasing refcount to %lu.\n", enum_media_types, refcount);
if (!refcount)
- heap_free(enum_media_types);
+ free(enum_media_types);
return refcount;
}
@@ -904,7 +903,7 @@ static HRESULT WINAPI enum_media_types_Clone(IEnumMediaTypes *iface, IEnumMediaT
TRACE("iface %p, out %p.\n", iface, out);
- if (!(object = heap_alloc(sizeof(*object))))
+ if (!(object = calloc(1, sizeof(*object))))
return E_OUTOFMEMORY;
object->IEnumMediaTypes_iface.lpVtbl = &enum_media_types_vtbl;
@@ -1121,7 +1120,7 @@ static HRESULT WINAPI audio_sink_EnumMediaTypes(IPin *iface, IEnumMediaTypes **e
if (!enum_media_types)
return E_POINTER;
- if (!(object = heap_alloc(sizeof(*object))))
+ if (!(object = calloc(1, sizeof(*object))))
return E_OUTOFMEMORY;
object->IEnumMediaTypes_iface.lpVtbl = &enum_media_types_vtbl;
@@ -1394,8 +1393,7 @@ HRESULT audio_stream_create(IUnknown *outer, void **out)
if (outer)
return CLASS_E_NOAGGREGATION;
- object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object));
- if (!object)
+ if (!(object = calloc(1, sizeof(*object))))
return E_OUTOFMEMORY;
object->IAMMediaStream_iface.lpVtbl = &audio_IAMMediaStream_vtbl;
diff --git a/dlls/amstream/ddrawstream.c b/dlls/amstream/ddrawstream.c
index 7b0c92c5f61..e31e0d106d3 100644
--- a/dlls/amstream/ddrawstream.c
+++ b/dlls/amstream/ddrawstream.c
@@ -229,7 +229,7 @@ static ULONG WINAPI ddraw_IAMMediaStream_Release(IAMMediaStream *iface)
DeleteCriticalSection(&stream->cs);
if (stream->ddraw)
IDirectDraw_Release(stream->ddraw);
- HeapFree(GetProcessHeap(), 0, stream);
+ free(stream);
}
return ref;
@@ -815,7 +815,7 @@ static ULONG WINAPI enum_media_types_Release(IEnumMediaTypes *iface)
ULONG refcount = InterlockedDecrement(&enum_media_types->refcount);
TRACE("%p decreasing refcount to %lu.\n", enum_media_types, refcount);
if (!refcount)
- heap_free(enum_media_types);
+ free(enum_media_types);
return refcount;
}
@@ -873,7 +873,7 @@ static HRESULT WINAPI enum_media_types_Clone(IEnumMediaTypes *iface, IEnumMediaT
TRACE("iface %p, out %p.\n", iface, out);
- if (!(object = heap_alloc(sizeof(*object))))
+ if (!(object = calloc(1, sizeof(*object))))
return E_OUTOFMEMORY;
object->IEnumMediaTypes_iface.lpVtbl = &enum_media_types_vtbl;
@@ -1148,7 +1148,7 @@ static HRESULT WINAPI ddraw_sink_EnumMediaTypes(IPin *iface, IEnumMediaTypes **e
if (!enum_media_types)
return E_POINTER;
- if (!(object = heap_alloc(sizeof(*object))))
+ if (!(object = calloc(1, sizeof(*object))))
return E_OUTOFMEMORY;
object->IEnumMediaTypes_iface.lpVtbl = &enum_media_types_vtbl;
@@ -1460,8 +1460,7 @@ HRESULT ddraw_stream_create(IUnknown *outer, void **out)
if (outer)
return CLASS_E_NOAGGREGATION;
- object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object));
- if (!object)
+ if (!(object = calloc(1, sizeof(*object))))
return E_OUTOFMEMORY;
object->IAMMediaStream_iface.lpVtbl = &ddraw_IAMMediaStream_vtbl;
@@ -1539,7 +1538,7 @@ static ULONG WINAPI ddraw_sample_Release(IDirectDrawStreamSample *iface)
if (sample->surface)
IDirectDrawSurface_Release(sample->surface);
- HeapFree(GetProcessHeap(), 0, sample);
+ free(sample);
}
return ref;
@@ -1736,8 +1735,7 @@ static HRESULT ddrawstreamsample_create(struct ddraw_stream *parent, IDirectDraw
TRACE("(%p)\n", ddraw_stream_sample);
- object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object));
- if (!object)
+ if (!(object = calloc(1, sizeof(*object))))
return E_OUTOFMEMORY;
object->IDirectDrawStreamSample_iface.lpVtbl = &DirectDrawStreamSample_Vtbl;
diff --git a/dlls/amstream/filter.c b/dlls/amstream/filter.c
index f5a855d6a96..c1c97630bb9 100644
--- a/dlls/amstream/filter.c
+++ b/dlls/amstream/filter.c
@@ -76,8 +76,8 @@ static ULONG WINAPI enum_pins_Release(IEnumPins *iface)
{
for (i = 0; i < enum_pins->count; ++i)
IPin_Release(enum_pins->pins[i]);
- heap_free(enum_pins->pins);
- heap_free(enum_pins);
+ free(enum_pins->pins);
+ free(enum_pins);
}
return refcount;
}
@@ -131,16 +131,16 @@ static HRESULT WINAPI enum_pins_Clone(IEnumPins *iface, IEnumPins **out)
TRACE("iface %p, out %p.\n", iface, out);
- if (!(object = heap_alloc(sizeof(*object))))
+ if (!(object = calloc(1, sizeof(*object))))
return E_OUTOFMEMORY;
object->IEnumPins_iface.lpVtbl = &enum_pins_vtbl;
object->refcount = 1;
object->count = enum_pins->count;
object->index = enum_pins->index;
- if (!(object->pins = heap_alloc(enum_pins->count * sizeof(*object->pins))))
+ if (!(object->pins = malloc(enum_pins->count * sizeof(*object->pins))))
{
- heap_free(object);
+ free(object);
return E_OUTOFMEMORY;
}
for (i = 0; i < enum_pins->count; ++i)
@@ -251,11 +251,11 @@ static ULONG WINAPI filter_Release(IMediaStreamFilter *iface)
IAMMediaStream_JoinFilter(filter->streams[i], NULL);
IAMMediaStream_Release(filter->streams[i]);
}
- heap_free(filter->streams);
+ free(filter->streams);
if (filter->clock)
IReferenceClock_Release(filter->clock);
DeleteCriticalSection(&filter->cs);
- heap_free(filter);
+ free(filter);
}
return refcount;
@@ -424,7 +424,7 @@ static HRESULT WINAPI filter_EnumPins(IMediaStreamFilter *iface, IEnumPins **enu
if (!enum_pins)
return E_POINTER;
- if (!(object = heap_alloc(sizeof(*object))))
+ if (!(object = calloc(1, sizeof(*object))))
return E_OUTOFMEMORY;
EnterCriticalSection(&filter->cs);
@@ -433,9 +433,9 @@ static HRESULT WINAPI filter_EnumPins(IMediaStreamFilter *iface, IEnumPins **enu
object->refcount = 1;
object->count = filter->nb_streams;
object->index = 0;
- if (!(object->pins = heap_alloc(filter->nb_streams * sizeof(*object->pins))))
+ if (!(object->pins = malloc(filter->nb_streams * sizeof(*object->pins))))
{
- heap_free(object);
+ free(object);
LeaveCriticalSection(&filter->cs);
return E_OUTOFMEMORY;
}
@@ -543,7 +543,7 @@ static HRESULT WINAPI filter_AddMediaStream(IMediaStreamFilter *iface, IAMMediaS
TRACE("(%p)->(%p)\n", iface, pAMMediaStream);
- streams = CoTaskMemRealloc(This->streams, (This->nb_streams + 1) * sizeof(IAMMediaStream*));
+ streams = realloc(This->streams, (This->nb_streams + 1) * sizeof(*streams));
if (!streams)
return E_OUTOFMEMORY;
This->streams = streams;
@@ -1092,7 +1092,7 @@ HRESULT filter_create(IUnknown *outer, void **out)
if (outer)
return CLASS_E_NOAGGREGATION;
- if (!(object = heap_alloc_zero(sizeof(*object))))
+ if (!(object = calloc(1, sizeof(*object))))
return E_OUTOFMEMORY;
object->IMediaStreamFilter_iface.lpVtbl = &filter_vtbl;
diff --git a/dlls/amstream/main.c b/dlls/amstream/main.c
index 3d091135257..a78377d0b7e 100644
--- a/dlls/amstream/main.c
+++ b/dlls/amstream/main.c
@@ -93,7 +93,7 @@ static ULONG WINAPI AMCF_Release(IClassFactory *iface)
ULONG ref = InterlockedDecrement(&This->ref);
if (ref == 0)
- HeapFree(GetProcessHeap(), 0, This);
+ free(This);
return ref;
}
@@ -173,8 +173,8 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
return CLASS_E_CLASSNOTAVAILABLE;
}
- factory = HeapAlloc(GetProcessHeap(), 0, sizeof(*factory));
- if (factory == NULL) return E_OUTOFMEMORY;
+ if (!(factory = calloc(1, sizeof(*factory))))
+ return E_OUTOFMEMORY;
factory->IClassFactory_iface.lpVtbl = &DSCF_Vtbl;
factory->ref = 1;
diff --git a/dlls/amstream/multimedia.c b/dlls/amstream/multimedia.c
index 70c0210840f..dc855901c77 100644
--- a/dlls/amstream/multimedia.c
+++ b/dlls/amstream/multimedia.c
@@ -100,7 +100,7 @@ static ULONG WINAPI multimedia_stream_Release(IAMMultiMediaStream *iface)
IMediaControl_Release(This->media_control);
if (This->graph)
IGraphBuilder_Release(This->graph);
- HeapFree(GetProcessHeap(), 0, This);
+ free(This);
}
return ref;
@@ -562,7 +562,7 @@ HRESULT multimedia_stream_create(IUnknown *outer, void **out)
if (outer)
return CLASS_E_NOAGGREGATION;
- if (!(object = heap_alloc_zero(sizeof(*object))))
+ if (!(object = calloc(1, sizeof(*object))))
return E_OUTOFMEMORY;
object->IAMMultiMediaStream_iface.lpVtbl = &multimedia_stream_vtbl;
@@ -572,7 +572,7 @@ HRESULT multimedia_stream_create(IUnknown *outer, void **out)
CLSCTX_INPROC_SERVER, &IID_IMediaStreamFilter, (void **)&object->filter)))
{
ERR("Failed to create stream filter, hr %#lx.\n", hr);
- heap_free(object);
+ free(object);
return hr;
}
--
2.34.1
More information about the wine-devel
mailing list