[PATCH 2/5] amstream: Move multimedia_stream_create() to avoid forward declarations.
Zebediah Figura
z.figura12 at gmail.com
Sun Sep 1 19:48:05 CDT 2019
From: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
---
dlls/amstream/multimedia.c | 59 ++++++++++++++++++--------------------
1 file changed, 28 insertions(+), 31 deletions(-)
diff --git a/dlls/amstream/multimedia.c b/dlls/amstream/multimedia.c
index 7f0fb34d266..7b0b6ae1c98 100644
--- a/dlls/amstream/multimedia.c
+++ b/dlls/amstream/multimedia.c
@@ -50,37 +50,6 @@ static inline struct multimedia_stream *impl_from_IAMMultiMediaStream(IAMMultiMe
return CONTAINING_RECORD(iface, struct multimedia_stream, IAMMultiMediaStream_iface);
}
-static const struct IAMMultiMediaStreamVtbl multimedia_stream_vtbl;
-
-HRESULT multimedia_stream_create(IUnknown *pUnkOuter, LPVOID *ppObj)
-{
- struct multimedia_stream *object;
- HRESULT hr;
-
- TRACE("(%p,%p)\n", pUnkOuter, ppObj);
-
- if( pUnkOuter )
- return CLASS_E_NOAGGREGATION;
-
- if (!(object = heap_alloc_zero(sizeof(*object))))
- return E_OUTOFMEMORY;
-
- object->IAMMultiMediaStream_iface.lpVtbl = &multimedia_stream_vtbl;
- object->ref = 1;
-
- if (FAILED(hr = CoCreateInstance(&CLSID_MediaStreamFilter, NULL,
- CLSCTX_INPROC_SERVER, &IID_IMediaStreamFilter, (void **)&object->filter)))
- {
- ERR("Failed to create stream filter, hr %#x.\n", hr);
- heap_free(object);
- return hr;
- }
-
- *ppObj = &object->IAMMultiMediaStream_iface;
-
- return S_OK;
-}
-
/*** IUnknown methods ***/
static HRESULT WINAPI multimedia_stream_QueryInterface(IAMMultiMediaStream *iface,
REFIID riid, void **ppvObject)
@@ -492,3 +461,31 @@ static const IAMMultiMediaStreamVtbl multimedia_stream_vtbl =
multimedia_stream_OpenMoniker,
multimedia_stream_Render
};
+
+HRESULT multimedia_stream_create(IUnknown *outer, void **out)
+{
+ struct multimedia_stream *object;
+ HRESULT hr;
+
+ if (outer)
+ return CLASS_E_NOAGGREGATION;
+
+ if (!(object = heap_alloc_zero(sizeof(*object))))
+ return E_OUTOFMEMORY;
+
+ object->IAMMultiMediaStream_iface.lpVtbl = &multimedia_stream_vtbl;
+ object->ref = 1;
+
+ if (FAILED(hr = CoCreateInstance(&CLSID_MediaStreamFilter, NULL,
+ CLSCTX_INPROC_SERVER, &IID_IMediaStreamFilter, (void **)&object->filter)))
+ {
+ ERR("Failed to create stream filter, hr %#x.\n", hr);
+ heap_free(object);
+ return hr;
+ }
+
+ TRACE("Created multimedia stream %p.\n", object);
+ *out = &object->IAMMultiMediaStream_iface;
+
+ return S_OK;
+}
--
2.22.0
More information about the wine-devel
mailing list