Signed-off-by: Zebediah Figura zfigura@codeweavers.com --- dlls/winegstreamer/Makefile.in | 4 ++- dlls/winegstreamer/winegstreamer.spec | 1 + .../wm_syncreader.c} | 33 +++++++------------ dlls/wmvcore/Makefile.in | 2 +- dlls/wmvcore/wmvcore_main.c | 16 +++++++++ 5 files changed, 33 insertions(+), 23 deletions(-) rename dlls/{wmvcore/syncreader.c => winegstreamer/wm_syncreader.c} (96%)
diff --git a/dlls/winegstreamer/Makefile.in b/dlls/winegstreamer/Makefile.in index e35df3cf3f9..671e3bcb7ba 100644 --- a/dlls/winegstreamer/Makefile.in +++ b/dlls/winegstreamer/Makefile.in @@ -1,5 +1,6 @@ MODULE = winegstreamer.dll UNIXLIB = winegstreamer.so +IMPORTLIB = winegstreamer IMPORTS = strmbase strmiids uuid ole32 mfuuid DELAYIMPORTS = mfplat EXTRAINCL = $(GSTREAMER_CFLAGS) @@ -11,7 +12,8 @@ C_SRCS = \ media_source.c \ mfplat.c \ quartz_parser.c \ - wg_parser.c + wg_parser.c \ + wm_syncreader.c
IDL_SRCS = \ winegstreamer_classes.idl diff --git a/dlls/winegstreamer/winegstreamer.spec b/dlls/winegstreamer/winegstreamer.spec index b16365d0c9f..bd9f53a7445 100644 --- a/dlls/winegstreamer/winegstreamer.spec +++ b/dlls/winegstreamer/winegstreamer.spec @@ -2,3 +2,4 @@ @ stdcall -private DllGetClassObject(ptr ptr ptr) @ stdcall -private DllRegisterServer() @ stdcall -private DllUnregisterServer() +@ stdcall winegstreamer_create_wm_sync_reader(ptr) diff --git a/dlls/wmvcore/syncreader.c b/dlls/winegstreamer/wm_syncreader.c similarity index 96% rename from dlls/wmvcore/syncreader.c rename to dlls/winegstreamer/wm_syncreader.c index b245ff20d31..75b8e021148 100644 --- a/dlls/wmvcore/syncreader.c +++ b/dlls/winegstreamer/wm_syncreader.c @@ -16,11 +16,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */
-#include "wmvcore.h" - +#include "gst_private.h" +#include "initguid.h" #include "wmsdk.h" -#include "wine/debug.h" -#include "wine/heap.h"
WINE_DEFAULT_DEBUG_CHANNEL(wmvcore);
@@ -85,7 +83,7 @@ static ULONG WINAPI WMSyncReader_Release(IWMSyncReader2 *iface) TRACE("(%p) ref=%d\n", This, ref);
if(!ref) - heap_free(This); + free(This);
return ref; } @@ -605,27 +603,20 @@ static const IWMProfile3Vtbl WMProfile3Vtbl = WMProfile3_GetExpectedPacketCount };
-HRESULT WINAPI WMCreateSyncReader(IUnknown *pcert, DWORD rights, IWMSyncReader **syncreader) +HRESULT WINAPI winegstreamer_create_wm_sync_reader(IWMSyncReader **reader) { - WMSyncReader *sync; + WMSyncReader *object;
- TRACE("(%p, %x, %p)\n", pcert, rights, syncreader); + TRACE("reader %p.\n", reader);
- sync = heap_alloc(sizeof(*sync)); - - if (!sync) + if (!(object = calloc(1, sizeof(*object)))) return E_OUTOFMEMORY;
- sync->IWMProfile3_iface.lpVtbl = &WMProfile3Vtbl; - sync->IWMSyncReader2_iface.lpVtbl = &WMSyncReader2Vtbl; - sync->ref = 1; - - *syncreader = (IWMSyncReader *)&sync->IWMSyncReader2_iface; + object->IWMProfile3_iface.lpVtbl = &WMProfile3Vtbl; + object->IWMSyncReader2_iface.lpVtbl = &WMSyncReader2Vtbl; + object->ref = 1;
+ TRACE("Created sync reader %p.\n", object); + *reader = (IWMSyncReader *)&object->IWMSyncReader2_iface; return S_OK; } - -HRESULT WINAPI WMCreateSyncReaderPriv(IWMSyncReader **syncreader) -{ - return WMCreateSyncReader(NULL, 0, syncreader); -} diff --git a/dlls/wmvcore/Makefile.in b/dlls/wmvcore/Makefile.in index 15c017f86d9..d0b230dd7c0 100644 --- a/dlls/wmvcore/Makefile.in +++ b/dlls/wmvcore/Makefile.in @@ -1,12 +1,12 @@ MODULE = wmvcore.dll IMPORTLIB = wmvcore IMPORTS = kernel32 +DELAYIMPORTS = winegstreamer
EXTRADLLFLAGS = -Wb,--prefer-native
C_SRCS = \ reader.c \ - syncreader.c \ wmvcore_main.c \ writer.c
diff --git a/dlls/wmvcore/wmvcore_main.c b/dlls/wmvcore/wmvcore_main.c index 5f93fc68e3b..8d4d4251369 100644 --- a/dlls/wmvcore/wmvcore_main.c +++ b/dlls/wmvcore/wmvcore_main.c @@ -25,6 +25,22 @@
WINE_DEFAULT_DEBUG_CHANNEL(wmvcore);
+HRESULT WINAPI winegstreamer_create_wm_sync_reader(IWMSyncReader **reader); + +HRESULT WINAPI WMCreateSyncReader(IUnknown *reserved, DWORD rights, IWMSyncReader **reader) +{ + TRACE("reserved %p, rights %#x, reader %p.\n", reserved, rights, reader); + + return winegstreamer_create_wm_sync_reader(reader); +} + +HRESULT WINAPI WMCreateSyncReaderPriv(IWMSyncReader **reader) +{ + TRACE("reader %p.\n", reader); + + return winegstreamer_create_wm_sync_reader(reader); +} + HRESULT WINAPI WMCheckURLExtension(const WCHAR *url) { FIXME("(%s): stub\n", wine_dbgstr_w(url));