Author: akhaldi Date: Thu Nov 17 22:02:00 2016 New Revision: 73255
URL: http://svn.reactos.org/svn/reactos?rev=73255&view=rev Log: [DMUSIC] Sync with Wine Staging 1.9.23. CORE-12409
Modified: trunk/reactos/dll/directx/wine/dmusic/clock.c trunk/reactos/dll/directx/wine/dmusic/dmusic.c trunk/reactos/dll/directx/wine/dmusic/dmusic_private.h trunk/reactos/dll/directx/wine/dmusic/port.c trunk/reactos/media/doc/README.WINE
Modified: trunk/reactos/dll/directx/wine/dmusic/clock.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/wine/dmusic/clo... ============================================================================== --- trunk/reactos/dll/directx/wine/dmusic/clock.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/wine/dmusic/clock.c [iso-8859-1] Thu Nov 17 22:02:00 2016 @@ -136,7 +136,7 @@
DMUSIC_LockModule(); hr = IReferenceClockImpl_QueryInterface(&clock->IReferenceClock_iface, riid, ret_iface); - IReferenceClockImpl_Release(&clock->IReferenceClock_iface); + IReferenceClock_Release(&clock->IReferenceClock_iface);
return hr; }
Modified: trunk/reactos/dll/directx/wine/dmusic/dmusic.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/wine/dmusic/dmu... ============================================================================== --- trunk/reactos/dll/directx/wine/dmusic/dmusic.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/wine/dmusic/dmusic.c [iso-8859-1] Thu Nov 17 22:02:00 2016 @@ -428,7 +428,7 @@
DMUSIC_LockModule(); ret = IDirectMusic8Impl_QueryInterface(&dmusic->IDirectMusic8_iface, riid, ret_iface); - IDirectMusic8Impl_Release(&dmusic->IDirectMusic8_iface); + IDirectMusic8_Release(&dmusic->IDirectMusic8_iface);
return ret; }
Modified: trunk/reactos/dll/directx/wine/dmusic/dmusic_private.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/wine/dmusic/dmu... ============================================================================== --- trunk/reactos/dll/directx/wine/dmusic/dmusic_private.h [iso-8859-1] (original) +++ trunk/reactos/dll/directx/wine/dmusic/dmusic_private.h [iso-8859-1] Thu Nov 17 22:02:00 2016 @@ -57,8 +57,6 @@ typedef struct IReferenceClockImpl IReferenceClockImpl;
typedef struct IDirectMusicInstrumentImpl IDirectMusicInstrumentImpl; - -typedef struct SynthPortImpl SynthPortImpl;
/***************************************************************************** * Some stuff to make my life easier :=) @@ -162,29 +160,6 @@ LONG ref;
/* IDirectMusicDownloadImpl fields */ -}; - -/***************************************************************************** - * SynthPortImpl implementation structure - */ -struct SynthPortImpl { - /* IUnknown fields */ - IDirectMusicPort IDirectMusicPort_iface; - IDirectMusicPortDownload IDirectMusicPortDownload_iface; - IDirectMusicThru IDirectMusicThru_iface; - IKsControl IKsControl_iface; - LONG ref; - - /* IDirectMusicPort fields */ - IDirectSound* pDirectSound; - IReferenceClock* pLatencyClock; - IDirectMusicSynth* synth; - IDirectMusicSynthSink* synth_sink; - BOOL fActive; - DMUS_PORTCAPS caps; - DMUS_PORTPARAMS params; - int nrofgroups; - DMUSIC_PRIVATE_CHANNEL_GROUP group[1]; };
/** Internal factory */
Modified: trunk/reactos/dll/directx/wine/dmusic/port.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/wine/dmusic/por... ============================================================================== --- trunk/reactos/dll/directx/wine/dmusic/port.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/wine/dmusic/port.c [iso-8859-1] Thu Nov 17 22:02:00 2016 @@ -23,6 +23,23 @@
#include <assert.h>
+typedef struct SynthPortImpl { + IDirectMusicPort IDirectMusicPort_iface; + IDirectMusicPortDownload IDirectMusicPortDownload_iface; + IDirectMusicThru IDirectMusicThru_iface; + IKsControl IKsControl_iface; + LONG ref; + IDirectSound *pDirectSound; + IReferenceClock *pLatencyClock; + IDirectMusicSynth *synth; + IDirectMusicSynthSink *synth_sink; + BOOL fActive; + DMUS_PORTCAPS caps; + DMUS_PORTPARAMS params; + int nrofgroups; + DMUSIC_PRIVATE_CHANNEL_GROUP group[1]; +} SynthPortImpl; + static inline IDirectMusicDownloadedInstrumentImpl* impl_from_IDirectMusicDownloadedInstrument(IDirectMusicDownloadedInstrument *iface) { return CONTAINING_RECORD(iface, IDirectMusicDownloadedInstrumentImpl, IDirectMusicDownloadedInstrument_iface); @@ -43,7 +60,7 @@ return CONTAINING_RECORD(iface, SynthPortImpl, IDirectMusicThru_iface); }
-static inline SynthPortImpl *impl_from_SynthPortImpl_IKsControl(IKsControl *iface) +static inline SynthPortImpl *impl_from_IKsControl(IKsControl *iface) { return CONTAINING_RECORD(iface, SynthPortImpl, IKsControl_iface); } @@ -134,27 +151,23 @@
TRACE("(%p/%p)->(%s, %p)\n", iface, This, debugstr_dmguid(riid), ret_iface);
- if (IsEqualIID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicPort)) { + if (IsEqualIID(riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_IDirectMusicPort)) *ret_iface = &This->IDirectMusicPort_iface; - IDirectMusicPort_AddRef((LPDIRECTMUSICPORT)*ret_iface); - return S_OK; - } else if (IsEqualGUID(riid, &IID_IDirectMusicPortDownload)) { + else if (IsEqualGUID(riid, &IID_IDirectMusicPortDownload)) *ret_iface = &This->IDirectMusicPortDownload_iface; - IDirectMusicPortDownload_AddRef((LPDIRECTMUSICPORTDOWNLOAD)*ret_iface); - return S_OK; - } else if (IsEqualGUID(riid, &IID_IDirectMusicThru)) { + else if (IsEqualGUID(riid, &IID_IDirectMusicThru)) *ret_iface = &This->IDirectMusicThru_iface; - IDirectMusicThru_AddRef((LPDIRECTMUSICTHRU)*ret_iface); - return S_OK; - } else if (IsEqualGUID(riid, &IID_IKsControl)) { + else if (IsEqualGUID(riid, &IID_IKsControl)) *ret_iface = &This->IKsControl_iface; - IKsControl_AddRef((IKsControl*)*ret_iface); - return S_OK; - } - - WARN("(%p, %s, %p): not found\n", This, debugstr_dmguid(riid), ret_iface); - - return E_NOINTERFACE; + else { + WARN("(%p, %s, %p): not found\n", This, debugstr_dmguid(riid), ret_iface); + *ret_iface = NULL; + return E_NOINTERFACE; + } + + IUnknown_AddRef((IUnknown*)*ret_iface); + + return S_OK; }
static ULONG WINAPI SynthPortImpl_IDirectMusicPort_AddRef(LPDIRECTMUSICPORT iface) @@ -680,73 +693,73 @@ SynthPortImpl_IDirectMusicThru_ThruChannel };
-static HRESULT WINAPI SynthPortImpl_IKsControl_QueryInterface(IKsControl* iface, REFIID riid, LPVOID *ppobj) -{ - SynthPortImpl *This = impl_from_SynthPortImpl_IKsControl(iface); - - return IDirectMusicPort_QueryInterface(&This->IDirectMusicPort_iface, riid, ppobj); -} - -static ULONG WINAPI SynthPortImpl_IKsControl_AddRef(IKsControl* iface) -{ - SynthPortImpl *This = impl_from_SynthPortImpl_IKsControl(iface); +static HRESULT WINAPI IKsControlImpl_QueryInterface(IKsControl *iface, REFIID riid, + void **ret_iface) +{ + SynthPortImpl *This = impl_from_IKsControl(iface); + + return IDirectMusicPort_QueryInterface(&This->IDirectMusicPort_iface, riid, ret_iface); +} + +static ULONG WINAPI IKsControlImpl_AddRef(IKsControl *iface) +{ + SynthPortImpl *This = impl_from_IKsControl(iface);
return IDirectMusicPort_AddRef(&This->IDirectMusicPort_iface); }
-static ULONG WINAPI SynthPortImpl_IKsControl_Release(IKsControl* iface) -{ - SynthPortImpl *This = impl_from_SynthPortImpl_IKsControl(iface); +static ULONG WINAPI IKsControlImpl_Release(IKsControl *iface) +{ + SynthPortImpl *This = impl_from_IKsControl(iface);
return IDirectMusicPort_Release(&This->IDirectMusicPort_iface); }
-static HRESULT WINAPI SynthPortImpl_IKsControl_KsProperty(IKsControl* iface, PKSPROPERTY Property, ULONG PropertyLength, LPVOID PropertyData, - ULONG DataLength, ULONG* BytesReturned) -{ - TRACE("(%p)->(%p, %u, %p, %u, %p)\n", iface, Property, PropertyLength, PropertyData, DataLength, BytesReturned); - - TRACE("Property = %s - %u - %u\n", debugstr_guid(&Property->Set), Property->Id, Property->Flags); - - if (Property->Flags != KSPROPERTY_TYPE_GET) - { - FIXME("Property flags %u not yet supported\n", Property->Flags); +static HRESULT WINAPI IKsControlImpl_KsProperty(IKsControl *iface, KSPROPERTY *prop, + ULONG prop_len, void *data, ULONG data_len, ULONG *ret_len) +{ + TRACE("(%p)->(%p, %u, %p, %u, %p)\n", iface, prop, prop_len, data, data_len, ret_len); + TRACE("prop = %s - %u - %u\n", debugstr_guid(&prop->Set), prop->Id, prop->Flags); + + if (prop->Flags != KSPROPERTY_TYPE_GET) + { + FIXME("prop flags %u not yet supported\n", prop->Flags); return S_FALSE; }
- if (DataLength < sizeof(DWORD)) + if (data_len < sizeof(DWORD)) return E_NOT_SUFFICIENT_BUFFER;
- FIXME("Unknown property %s\n", debugstr_guid(&Property->Set)); - *(DWORD*)PropertyData = FALSE; - *BytesReturned = sizeof(DWORD); - - return S_OK; -} - -static HRESULT WINAPI SynthPortImpl_IKsControl_KsMethod(IKsControl* iface, PKSMETHOD Method, ULONG MethodLength, LPVOID MethodData, - ULONG DataLength, ULONG* BytesReturned) -{ - FIXME("(%p)->(%p, %u, %p, %u, %p): stub\n", iface, Method, MethodLength, MethodData, DataLength, BytesReturned); + FIXME("Unknown property %s\n", debugstr_guid(&prop->Set)); + *(DWORD*)data = FALSE; + *ret_len = sizeof(DWORD); + + return S_OK; +} + +static HRESULT WINAPI IKsControlImpl_KsMethod(IKsControl *iface, KSMETHOD *method, + ULONG method_len, void *data, ULONG data_len, ULONG *ret_len) +{ + FIXME("(%p)->(%p, %u, %p, %u, %p): stub\n", iface, method, method_len, data, data_len, ret_len);
return E_NOTIMPL; }
-static HRESULT WINAPI SynthPortImpl_IKsControl_KsEvent(IKsControl* iface, PKSEVENT Event, ULONG EventLength, LPVOID EventData, - ULONG DataLength, ULONG* BytesReturned) -{ - FIXME("(%p)->(%p, %u, %p, %u, %p): stub\n", iface, Event, EventLength, EventData, DataLength, BytesReturned); +static HRESULT WINAPI IKsControlImpl_KsEvent(IKsControl *iface, KSEVENT *event, ULONG event_len, + void *data, ULONG data_len, ULONG *ret_len) +{ + FIXME("(%p)->(%p, %u, %p, %u, %p): stub\n", iface, event, event_len, data, data_len, ret_len);
return E_NOTIMPL; }
-static const IKsControlVtbl SynthPortImpl_IKsControl_Vtbl = { - SynthPortImpl_IKsControl_QueryInterface, - SynthPortImpl_IKsControl_AddRef, - SynthPortImpl_IKsControl_Release, - SynthPortImpl_IKsControl_KsProperty, - SynthPortImpl_IKsControl_KsMethod, - SynthPortImpl_IKsControl_KsEvent +static const IKsControlVtbl ikscontrol_vtbl = { + IKsControlImpl_QueryInterface, + IKsControlImpl_AddRef, + IKsControlImpl_Release, + IKsControlImpl_KsProperty, + IKsControlImpl_KsMethod, + IKsControlImpl_KsEvent };
HRESULT DMUSIC_CreateSynthPortImpl(LPCGUID guid, LPVOID *object, LPUNKNOWN unkouter, LPDMUS_PORTPARAMS port_params, LPDMUS_PORTCAPS port_caps, DWORD device) @@ -767,7 +780,7 @@ obj->IDirectMusicPort_iface.lpVtbl = &SynthPortImpl_DirectMusicPort_Vtbl; obj->IDirectMusicPortDownload_iface.lpVtbl = &SynthPortImpl_DirectMusicPortDownload_Vtbl; obj->IDirectMusicThru_iface.lpVtbl = &SynthPortImpl_DirectMusicThru_Vtbl; - obj->IKsControl_iface.lpVtbl = &SynthPortImpl_IKsControl_Vtbl; + obj->IKsControl_iface.lpVtbl = &ikscontrol_vtbl; obj->ref = 0; /* Will be inited by QueryInterface */ obj->fActive = FALSE; obj->params = *port_params;
Modified: trunk/reactos/media/doc/README.WINE URL: http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=7... ============================================================================== --- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original) +++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Thu Nov 17 22:02:00 2016 @@ -32,7 +32,7 @@ reactos/dll/directx/wine/devenum # Synced to WineStaging-1.9.16 reactos/dll/directx/wine/dinput # Synced to WineStaging-1.9.23 reactos/dll/directx/wine/dinput8 # Synced to WineStaging-1.9.11 -reactos/dll/directx/wine/dmusic # Synced to WineStaging-1.9.16 +reactos/dll/directx/wine/dmusic # Synced to WineStaging-1.9.23 reactos/dll/directx/wine/dplay # Synced to WineStaging-1.9.11 reactos/dll/directx/wine/dplayx # Synced to WineStaging-1.9.16 reactos/dll/directx/wine/dsound # Synced to Wine-1.3.29