Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/winegstreamer/audioconvert.c | 5 +-- dlls/winegstreamer/gst_private.h | 1 - dlls/winegstreamer/gstdemux.c | 26 ++++++------ dlls/winegstreamer/media_source.c | 67 +++++++++++-------------------- dlls/winegstreamer/mfplat.c | 9 ++--- 5 files changed, 42 insertions(+), 66 deletions(-)
diff --git a/dlls/winegstreamer/audioconvert.c b/dlls/winegstreamer/audioconvert.c index 3b6571ab60d..304e1c8b067 100644 --- a/dlls/winegstreamer/audioconvert.c +++ b/dlls/winegstreamer/audioconvert.c @@ -26,7 +26,6 @@ #include "ksmedia.h"
#include "wine/debug.h" -#include "wine/heap.h"
WINE_DEFAULT_DEBUG_CHANNEL(mfplat);
@@ -82,7 +81,7 @@ static ULONG WINAPI audio_converter_Release(IMFTransform *iface) { transform->cs.DebugInfo->Spare[0] = 0; DeleteCriticalSection(&transform->cs); - heap_free(transform); + free(transform); }
return refcount; @@ -572,7 +571,7 @@ HRESULT audio_converter_create(REFIID riid, void **ret)
TRACE("%s %p\n", debugstr_guid(riid), ret);
- if (!(object = heap_alloc_zero(sizeof(*object)))) + if (!(object = calloc(1, sizeof(*object)))) return E_OUTOFMEMORY;
object->IMFTransform_iface.lpVtbl = &audio_converter_vtbl; diff --git a/dlls/winegstreamer/gst_private.h b/dlls/winegstreamer/gst_private.h index ef84d611a09..3a5445a27ce 100644 --- a/dlls/winegstreamer/gst_private.h +++ b/dlls/winegstreamer/gst_private.h @@ -37,7 +37,6 @@ #include "strmif.h" #include "mfobjects.h" #include "wine/debug.h" -#include "wine/heap.h" #include "wine/strmbase.h"
typedef enum diff --git a/dlls/winegstreamer/gstdemux.c b/dlls/winegstreamer/gstdemux.c index acfd3b3ae4c..985183b0a35 100644 --- a/dlls/winegstreamer/gstdemux.c +++ b/dlls/winegstreamer/gstdemux.c @@ -860,7 +860,7 @@ static void parser_destroy(struct strmbase_filter *iface)
strmbase_sink_cleanup(&filter->sink); strmbase_filter_cleanup(&filter->filter); - heap_free(filter); + free(filter); }
static HRESULT parser_init_stream(struct strmbase_filter *iface) @@ -1096,12 +1096,12 @@ HRESULT decodebin_parser_create(IUnknown *outer, IUnknown **out) if (!parser_init_gstreamer()) return E_FAIL;
- if (!(object = heap_alloc_zero(sizeof(*object)))) + if (!(object = calloc(1, sizeof(*object)))) return E_OUTOFMEMORY;
if (!(object->wg_parser = unix_funcs->wg_decodebin_parser_create())) { - heap_free(object); + free(object); return E_OUTOFMEMORY; }
@@ -1485,7 +1485,7 @@ static void free_source_pin(struct parser_source *pin)
strmbase_seeking_cleanup(&pin->seek); strmbase_source_cleanup(&pin->pin); - heap_free(pin); + free(pin); }
static const struct strmbase_source_ops source_ops = @@ -1504,11 +1504,11 @@ static struct parser_source *create_pin(struct parser *filter, { struct parser_source *pin, **new_array;
- if (!(new_array = heap_realloc(filter->sources, (filter->source_count + 1) * sizeof(*filter->sources)))) + if (!(new_array = realloc(filter->sources, (filter->source_count + 1) * sizeof(*filter->sources)))) return NULL; filter->sources = new_array;
- if (!(pin = heap_alloc_zero(sizeof(*pin)))) + if (!(pin = calloc(1, sizeof(*pin)))) return NULL;
pin->wg_stream = stream; @@ -1549,7 +1549,7 @@ static HRESULT GST_RemoveOutputPins(struct parser *This) }
This->source_count = 0; - heap_free(This->sources); + free(This->sources); This->sources = NULL;
BaseFilterImpl_IncrementPinVersion(&This->filter); @@ -1627,12 +1627,12 @@ HRESULT wave_parser_create(IUnknown *outer, IUnknown **out) if (!parser_init_gstreamer()) return E_FAIL;
- if (!(object = heap_alloc_zero(sizeof(*object)))) + if (!(object = calloc(1, sizeof(*object)))) return E_OUTOFMEMORY;
if (!(object->wg_parser = unix_funcs->wg_wave_parser_create())) { - heap_free(object); + free(object); return E_OUTOFMEMORY; }
@@ -1713,12 +1713,12 @@ HRESULT avi_splitter_create(IUnknown *outer, IUnknown **out) if (!parser_init_gstreamer()) return E_FAIL;
- if (!(object = heap_alloc_zero(sizeof(*object)))) + if (!(object = calloc(1, sizeof(*object)))) return E_OUTOFMEMORY;
if (!(object->wg_parser = unix_funcs->wg_avi_parser_create())) { - heap_free(object); + free(object); return E_OUTOFMEMORY; }
@@ -1820,12 +1820,12 @@ HRESULT mpeg_splitter_create(IUnknown *outer, IUnknown **out) if (!parser_init_gstreamer()) return E_FAIL;
- if (!(object = heap_alloc_zero(sizeof(*object)))) + if (!(object = calloc(1, sizeof(*object)))) return E_OUTOFMEMORY;
if (!(object->wg_parser = unix_funcs->wg_mpeg_audio_parser_create())) { - heap_free(object); + free(object); return E_OUTOFMEMORY; }
diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c index 74af8e41f48..f72b4ff2fd0 100644 --- a/dlls/winegstreamer/media_source.c +++ b/dlls/winegstreamer/media_source.c @@ -33,7 +33,6 @@ #include "mfobjects.h"
#include "wine/debug.h" -#include "wine/heap.h" #include "wine/list.h"
WINE_DEFAULT_DEBUG_CHANNEL(mfplat); @@ -163,7 +162,7 @@ static ULONG WINAPI source_async_command_Release(IUnknown *iface) { if (command->op == SOURCE_ASYNC_START) PropVariantClear(&command->u.start.position); - heap_free(command); + free(command); }
return refcount; @@ -180,7 +179,7 @@ static HRESULT source_create_async_op(enum source_async_op op, struct source_asy { struct source_async_command *command;
- if (!(command = heap_alloc_zero(sizeof(*command)))) + if (!(command = calloc(1, sizeof(*command)))) return E_OUTOFMEMORY;
command->IUnknown_iface.lpVtbl = &source_async_command_vtbl; @@ -590,7 +589,7 @@ static ULONG WINAPI media_stream_Release(IMFMediaStream *iface) { if (stream->event_queue) IMFMediaEventQueue_Release(stream->event_queue); - heap_free(stream); + free(stream); }
return ref; @@ -716,7 +715,7 @@ static const IMFMediaStreamVtbl media_stream_vtbl = static HRESULT new_media_stream(struct media_source *source, struct wg_parser_stream *wg_stream, DWORD stream_id, struct media_stream **out_stream) { - struct media_stream *object = heap_alloc_zero(sizeof(*object)); + struct media_stream *object = calloc(1, sizeof(*object)); HRESULT hr;
TRACE("source %p, wg_stream %p, stream_id %u.\n", source, wg_stream, stream_id); @@ -777,7 +776,7 @@ static HRESULT media_stream_init_desc(struct media_stream *stream)
IMFMediaType_GetGUID(base_type, &MF_MT_SUBTYPE, &base_subtype);
- stream_types = heap_alloc( sizeof(IMFMediaType *) * ARRAY_SIZE(video_types) + 1); + stream_types = malloc(sizeof(IMFMediaType *) * (ARRAY_SIZE(video_types) + 1));
stream_types[0] = base_type; type_count = 1; @@ -830,7 +829,7 @@ done: for (i = 0; i < type_count; i++) IMFMediaType_Release(stream_types[i]); if (stream_types != &stream_type) - heap_free(stream_types); + free(stream_types); return hr; }
@@ -878,7 +877,7 @@ static ULONG WINAPI media_source_Release(IMFMediaSource *iface) { IMFMediaSource_Shutdown(&source->IMFMediaSource_iface); IMFMediaEventQueue_Release(source->event_queue); - heap_free(source); + free(source); }
return ref; @@ -1050,7 +1049,7 @@ static HRESULT WINAPI media_source_Shutdown(IMFMediaSource *iface) unix_funcs->wg_parser_destroy(source->wg_parser);
if (source->stream_count) - heap_free(source->streams); + free(source->streams);
if (source->async_commands_queue) MFUnlockWorkQueue(source->async_commands_queue); @@ -1101,7 +1100,7 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ return hr; }
- if (!(object = heap_alloc_zero(sizeof(*object)))) + if (!(object = calloc(1, sizeof(*object)))) return E_OUTOFMEMORY;
object->IMFMediaSource_iface.lpVtbl = &IMFMediaSource_vtbl; @@ -1140,7 +1139,7 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_
object->stream_count = unix_funcs->wg_parser_get_stream_count(parser);
- if (!(object->streams = heap_alloc_zero(object->stream_count * sizeof(*object->streams)))) + if (!(object->streams = calloc(object->stream_count, sizeof(*object->streams)))) { hr = E_OUTOFMEMORY; goto fail; @@ -1161,7 +1160,7 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_
/* init presentation descriptor */
- descriptors = heap_alloc(object->stream_count * sizeof(IMFStreamDescriptor*)); + descriptors = malloc(object->stream_count * sizeof(IMFStreamDescriptor *)); for (i = 0; i < object->stream_count; i++) { IMFMediaStream_GetStreamDescriptor(&object->streams[i]->IMFMediaStream_iface, &descriptors[i]); @@ -1175,7 +1174,7 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ IMFPresentationDescriptor_SelectStream(object->pres_desc, i); IMFStreamDescriptor_Release(descriptors[i]); } - heap_free(descriptors); + free(descriptors); descriptors = NULL;
for (i = 0; i < object->stream_count; i++) @@ -1193,7 +1192,7 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_ fail: WARN("Failed to construct MFMediaSource, hr %#x.\n", hr);
- heap_free(descriptors); + free(descriptors); IMFMediaSource_Release(&object->IMFMediaSource_iface); return hr; } @@ -1268,10 +1267,10 @@ static ULONG WINAPI winegstreamer_stream_handler_Release(IMFByteStreamHandler *i IMFAsyncResult_Release(result->result); if (result->object) IUnknown_Release(result->object); - heap_free(result); + free(result); } DeleteCriticalSection(&handler->cs); - heap_free(handler); + free(handler); }
return refcount; @@ -1332,8 +1331,8 @@ static ULONG WINAPI create_object_context_Release(IUnknown *iface) IPropertyStore_Release(context->props); if (context->stream) IMFByteStream_Release(context->stream); - heap_free(context->url); - heap_free(context); + free(context->url); + free(context); }
return refcount; @@ -1346,23 +1345,6 @@ static const IUnknownVtbl create_object_context_vtbl = create_object_context_Release, };
-static WCHAR *heap_strdupW(const WCHAR *str) -{ - WCHAR *ret = NULL; - - if (str) - { - unsigned int size; - - size = (lstrlenW(str) + 1) * sizeof(WCHAR); - ret = heap_alloc(size); - if (ret) - memcpy(ret, str, size); - } - - return ret; -} - static HRESULT WINAPI winegstreamer_stream_handler_BeginCreateObject(IMFByteStreamHandler *iface, IMFByteStream *stream, const WCHAR *url, DWORD flags, IPropertyStore *props, IUnknown **cancel_cookie, IMFAsyncCallback *callback, IUnknown *state) { @@ -1379,8 +1361,7 @@ static HRESULT WINAPI winegstreamer_stream_handler_BeginCreateObject(IMFByteStre if (FAILED(hr = MFCreateAsyncResult(NULL, callback, state, &caller))) return hr;
- context = heap_alloc_zero(sizeof(*context)); - if (!context) + if (!(context = calloc(1, sizeof(*context)))) { IMFAsyncResult_Release(caller); return E_OUTOFMEMORY; @@ -1396,7 +1377,7 @@ static HRESULT WINAPI winegstreamer_stream_handler_BeginCreateObject(IMFByteStre if (context->stream) IMFByteStream_AddRef(context->stream); if (url) - context->url = heap_strdupW(url); + context->url = wcsdup(url); if (!context->stream) { IMFAsyncResult_Release(caller); @@ -1453,7 +1434,7 @@ static HRESULT WINAPI winegstreamer_stream_handler_EndCreateObject(IMFByteStream *object = found->object; hr = IMFAsyncResult_GetStatus(found->result); IMFAsyncResult_Release(found->result); - heap_free(found); + free(found); } else { @@ -1491,7 +1472,7 @@ static HRESULT WINAPI winegstreamer_stream_handler_CancelObjectCreation(IMFByteS IMFAsyncResult_Release(found->result); if (found->object) IUnknown_Release(found->object); - heap_free(found); + free(found); }
return found ? S_OK : MF_E_UNEXPECTED; @@ -1595,8 +1576,7 @@ static HRESULT WINAPI winegstreamer_stream_handler_callback_Invoke(IMFAsyncCallb
hr = winegstreamer_stream_handler_create_object(handler, context->url, context->stream, context->flags, context->props, &object, &obj_type);
- handler_result = heap_alloc(sizeof(*handler_result)); - if (handler_result) + if ((handler_result = malloc(sizeof(*handler_result)))) { handler_result->result = caller; IMFAsyncResult_AddRef(handler_result->result); @@ -1638,8 +1618,7 @@ HRESULT winegstreamer_stream_handler_create(REFIID riid, void **obj)
TRACE("%s, %p.\n", debugstr_guid(riid), obj);
- this = heap_alloc_zero(sizeof(*this)); - if (!this) + if (!(this = calloc(1, sizeof(*this)))) return E_OUTOFMEMORY;
list_init(&this->results); diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c index 22581eb7311..e6913d099b0 100644 --- a/dlls/winegstreamer/mfplat.c +++ b/dlls/winegstreamer/mfplat.c @@ -29,7 +29,6 @@ #include "ksmedia.h"
#include "wine/debug.h" -#include "wine/heap.h"
WINE_DEFAULT_DEBUG_CHANNEL(mfplat);
@@ -86,7 +85,7 @@ static ULONG WINAPI video_processor_Release(IMFTransform *iface) IMFAttributes_Release(transform->attributes); if (transform->output_attributes) IMFAttributes_Release(transform->output_attributes); - heap_free(transform); + free(transform); }
return refcount; @@ -337,7 +336,7 @@ static ULONG WINAPI class_factory_Release(IClassFactory *iface) ULONG refcount = InterlockedDecrement(&factory->refcount);
if (!refcount) - heap_free(factory); + free(factory);
return refcount; } @@ -383,7 +382,7 @@ static HRESULT video_processor_create(REFIID riid, void **ret) struct video_processor *object; HRESULT hr;
- if (!(object = heap_alloc_zero(sizeof(*object)))) + if (!(object = calloc(1, sizeof(*object)))) return E_OUTOFMEMORY;
object->IMFTransform_iface.lpVtbl = &video_processor_vtbl; @@ -430,7 +429,7 @@ HRESULT mfplat_get_class_object(REFCLSID rclsid, REFIID riid, void **obj) { if (IsEqualGUID(class_objects[i].clsid, rclsid)) { - if (!(factory = heap_alloc(sizeof(*factory)))) + if (!(factory = malloc(sizeof(*factory)))) return E_OUTOFMEMORY;
factory->IClassFactory_iface.lpVtbl = &class_factory_vtbl;