mirror of
https://github.com/reactos/reactos.git
synced 2025-08-07 23:33:01 +00:00
[QUARTZ] Sync with Wine Staging 3.9. CORE-14656
This commit is contained in:
parent
20e02be701
commit
f267af2ac1
5 changed files with 20 additions and 18 deletions
|
@ -491,7 +491,7 @@ static HRESULT WINAPI DSoundRender_CompleteConnect(BaseRenderer * iface, IPin *
|
||||||
DSBCAPS_GETCURRENTPOSITION2;
|
DSBCAPS_GETCURRENTPOSITION2;
|
||||||
buf_desc.dwBufferBytes = This->buf_size;
|
buf_desc.dwBufferBytes = This->buf_size;
|
||||||
buf_desc.lpwfxFormat = format;
|
buf_desc.lpwfxFormat = format;
|
||||||
hr = IDirectSound_CreateSoundBuffer(This->dsound, &buf_desc, &This->dsbuffer, NULL);
|
hr = IDirectSound8_CreateSoundBuffer(This->dsound, &buf_desc, &This->dsbuffer, NULL);
|
||||||
This->writepos = This->buf_size;
|
This->writepos = This->buf_size;
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
ERR("Can't create sound buffer (%x)\n", hr);
|
ERR("Can't create sound buffer (%x)\n", hr);
|
||||||
|
@ -645,14 +645,14 @@ HRESULT DSoundRender_create(IUnknown * pUnkOuter, LPVOID * ppv)
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
ERR("Cannot create Direct Sound object (%x)\n", hr);
|
ERR("Cannot create Direct Sound object (%x)\n", hr);
|
||||||
else
|
else
|
||||||
hr = IDirectSound_SetCooperativeLevel(pDSoundRender->dsound, GetDesktopWindow(), DSSCL_PRIORITY);
|
hr = IDirectSound8_SetCooperativeLevel(pDSoundRender->dsound, GetDesktopWindow(), DSSCL_PRIORITY);
|
||||||
if (SUCCEEDED(hr)) {
|
if (SUCCEEDED(hr)) {
|
||||||
IDirectSoundBuffer *buf;
|
IDirectSoundBuffer *buf;
|
||||||
DSBUFFERDESC buf_desc;
|
DSBUFFERDESC buf_desc;
|
||||||
memset(&buf_desc,0,sizeof(DSBUFFERDESC));
|
memset(&buf_desc,0,sizeof(DSBUFFERDESC));
|
||||||
buf_desc.dwSize = sizeof(DSBUFFERDESC);
|
buf_desc.dwSize = sizeof(DSBUFFERDESC);
|
||||||
buf_desc.dwFlags = DSBCAPS_PRIMARYBUFFER;
|
buf_desc.dwFlags = DSBCAPS_PRIMARYBUFFER;
|
||||||
hr = IDirectSound_CreateSoundBuffer(pDSoundRender->dsound, &buf_desc, &buf, NULL);
|
hr = IDirectSound8_CreateSoundBuffer(pDSoundRender->dsound, &buf_desc, &buf, NULL);
|
||||||
if (SUCCEEDED(hr)) {
|
if (SUCCEEDED(hr)) {
|
||||||
IDirectSoundBuffer_Play(buf, 0, 0, DSBPLAY_LOOPING);
|
IDirectSoundBuffer_Play(buf, 0, 0, DSBPLAY_LOOPING);
|
||||||
IDirectSoundBuffer_Release(buf);
|
IDirectSoundBuffer_Release(buf);
|
||||||
|
@ -736,7 +736,7 @@ static ULONG WINAPI DSoundRender_Release(IBaseFilter * iface)
|
||||||
IDirectSoundBuffer_Release(This->dsbuffer);
|
IDirectSoundBuffer_Release(This->dsbuffer);
|
||||||
This->dsbuffer = NULL;
|
This->dsbuffer = NULL;
|
||||||
if (This->dsound)
|
if (This->dsound)
|
||||||
IDirectSound_Release(This->dsound);
|
IDirectSound8_Release(This->dsound);
|
||||||
This->dsound = NULL;
|
This->dsound = NULL;
|
||||||
|
|
||||||
BasicAudio_Destroy(&This->basicAudio);
|
BasicAudio_Destroy(&This->basicAudio);
|
||||||
|
|
|
@ -783,12 +783,11 @@ static inline FileAsyncReader *impl_from_IAsyncReader(IAsyncReader *iface)
|
||||||
return CONTAINING_RECORD(iface, FileAsyncReader, IAsyncReader_iface);
|
return CONTAINING_RECORD(iface, FileAsyncReader, IAsyncReader_iface);
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI FileAsyncReaderPin_QueryAccept(IPin *iface, const AM_MEDIA_TYPE *pmt)
|
static HRESULT WINAPI FileAsyncReaderPin_CheckMediaType(BasePin *pin, const AM_MEDIA_TYPE *pmt)
|
||||||
{
|
{
|
||||||
FileAsyncReader *This = impl_from_IPin(iface);
|
AM_MEDIA_TYPE *pmt_filter = impl_from_IBaseFilter(pin->pinInfo.pFilter)->pmt;
|
||||||
AM_MEDIA_TYPE *pmt_filter = impl_from_IBaseFilter(This->pin.pin.pinInfo.pFilter)->pmt;
|
|
||||||
|
|
||||||
FIXME("(%p, %p)\n", iface, pmt);
|
FIXME("(%p, %p)\n", pin, pmt);
|
||||||
|
|
||||||
if (IsEqualGUID(&pmt->majortype, &pmt_filter->majortype) &&
|
if (IsEqualGUID(&pmt->majortype, &pmt_filter->majortype) &&
|
||||||
IsEqualGUID(&pmt->subtype, &pmt_filter->subtype) &&
|
IsEqualGUID(&pmt->subtype, &pmt_filter->subtype) &&
|
||||||
|
@ -874,7 +873,7 @@ static const IPinVtbl FileAsyncReaderPin_Vtbl =
|
||||||
BasePinImpl_QueryPinInfo,
|
BasePinImpl_QueryPinInfo,
|
||||||
BasePinImpl_QueryDirection,
|
BasePinImpl_QueryDirection,
|
||||||
BasePinImpl_QueryId,
|
BasePinImpl_QueryId,
|
||||||
FileAsyncReaderPin_QueryAccept,
|
BasePinImpl_QueryAccept,
|
||||||
BasePinImpl_EnumMediaTypes,
|
BasePinImpl_EnumMediaTypes,
|
||||||
BasePinImpl_QueryInternalConnections,
|
BasePinImpl_QueryInternalConnections,
|
||||||
BaseOutputPinImpl_EndOfStream,
|
BaseOutputPinImpl_EndOfStream,
|
||||||
|
@ -933,7 +932,7 @@ static HRESULT WINAPI FileAsyncReaderPin_DecideBufferSize(BaseOutputPin *iface,
|
||||||
|
|
||||||
static const BaseOutputPinFuncTable output_BaseOutputFuncTable = {
|
static const BaseOutputPinFuncTable output_BaseOutputFuncTable = {
|
||||||
{
|
{
|
||||||
NULL,
|
FileAsyncReaderPin_CheckMediaType,
|
||||||
FileAsyncReaderPin_AttemptConnection,
|
FileAsyncReaderPin_AttemptConnection,
|
||||||
BasePinImpl_GetMediaTypeVersion,
|
BasePinImpl_GetMediaTypeVersion,
|
||||||
FileAsyncReaderPin_GetMediaType
|
FileAsyncReaderPin_GetMediaType
|
||||||
|
|
|
@ -1524,22 +1524,25 @@ static HRESULT WINAPI FilterMapper_UnregisterFilter(IFilterMapper * iface, CLSID
|
||||||
strcatW(wszKeyName, wszClsid);
|
strcatW(wszKeyName, wszClsid);
|
||||||
|
|
||||||
lRet = RegOpenKeyExW(HKEY_CLASSES_ROOT, wszKeyName, 0, KEY_WRITE, &hKey);
|
lRet = RegOpenKeyExW(HKEY_CLASSES_ROOT, wszKeyName, 0, KEY_WRITE, &hKey);
|
||||||
|
if (lRet == ERROR_FILE_NOT_FOUND)
|
||||||
|
goto done;
|
||||||
hr = HRESULT_FROM_WIN32(lRet);
|
hr = HRESULT_FROM_WIN32(lRet);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SUCCEEDED(hr))
|
if (SUCCEEDED(hr))
|
||||||
{
|
{
|
||||||
lRet = RegDeleteValueW(hKey, wszMeritName);
|
lRet = RegDeleteValueW(hKey, wszMeritName);
|
||||||
if (lRet != ERROR_SUCCESS)
|
if (lRet != ERROR_SUCCESS && lRet != ERROR_FILE_NOT_FOUND)
|
||||||
hr = HRESULT_FROM_WIN32(lRet);
|
hr = HRESULT_FROM_WIN32(lRet);
|
||||||
|
|
||||||
lRet = RegDeleteTreeW(hKey, wszPins);
|
lRet = RegDeleteTreeW(hKey, wszPins);
|
||||||
if (lRet != ERROR_SUCCESS)
|
if (lRet != ERROR_SUCCESS && lRet != ERROR_FILE_NOT_FOUND)
|
||||||
hr = HRESULT_FROM_WIN32(lRet);
|
hr = HRESULT_FROM_WIN32(lRet);
|
||||||
|
|
||||||
RegCloseKey(hKey);
|
RegCloseKey(hKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
done:
|
||||||
CoTaskMemFree(wszClsid);
|
CoTaskMemFree(wszClsid);
|
||||||
|
|
||||||
return hr;
|
return hr;
|
||||||
|
|
|
@ -44,6 +44,7 @@ static HRESULT WINAPI Parser_ChangeStart(IMediaSeeking *iface);
|
||||||
static HRESULT WINAPI Parser_ChangeStop(IMediaSeeking *iface);
|
static HRESULT WINAPI Parser_ChangeStop(IMediaSeeking *iface);
|
||||||
static HRESULT WINAPI Parser_ChangeRate(IMediaSeeking *iface);
|
static HRESULT WINAPI Parser_ChangeRate(IMediaSeeking *iface);
|
||||||
static HRESULT WINAPI Parser_OutputPin_DecideBufferSize(BaseOutputPin *iface, IMemAllocator *pAlloc, ALLOCATOR_PROPERTIES *ppropInputRequest);
|
static HRESULT WINAPI Parser_OutputPin_DecideBufferSize(BaseOutputPin *iface, IMemAllocator *pAlloc, ALLOCATOR_PROPERTIES *ppropInputRequest);
|
||||||
|
static HRESULT WINAPI Parser_OutputPin_CheckMediaType(BasePin *pin, const AM_MEDIA_TYPE *pmt);
|
||||||
static HRESULT WINAPI Parser_OutputPin_GetMediaType(BasePin *iface, int iPosition, AM_MEDIA_TYPE *pmt);
|
static HRESULT WINAPI Parser_OutputPin_GetMediaType(BasePin *iface, int iPosition, AM_MEDIA_TYPE *pmt);
|
||||||
static HRESULT WINAPI Parser_OutputPin_DecideAllocator(BaseOutputPin *This, IMemInputPin *pPin, IMemAllocator **pAlloc);
|
static HRESULT WINAPI Parser_OutputPin_DecideAllocator(BaseOutputPin *This, IMemInputPin *pPin, IMemAllocator **pAlloc);
|
||||||
static HRESULT WINAPI Parser_OutputPin_BreakConnect(BaseOutputPin *This);
|
static HRESULT WINAPI Parser_OutputPin_BreakConnect(BaseOutputPin *This);
|
||||||
|
@ -432,7 +433,7 @@ HRESULT WINAPI Parser_QueryVendorInfo(IBaseFilter * iface, LPWSTR *pVendorInfo)
|
||||||
|
|
||||||
static const BaseOutputPinFuncTable output_BaseOutputFuncTable = {
|
static const BaseOutputPinFuncTable output_BaseOutputFuncTable = {
|
||||||
{
|
{
|
||||||
NULL,
|
Parser_OutputPin_CheckMediaType,
|
||||||
BaseOutputPinImpl_AttemptConnection,
|
BaseOutputPinImpl_AttemptConnection,
|
||||||
BasePinImpl_GetMediaTypeVersion,
|
BasePinImpl_GetMediaTypeVersion,
|
||||||
Parser_OutputPin_GetMediaType
|
Parser_OutputPin_GetMediaType
|
||||||
|
@ -699,11 +700,10 @@ static HRESULT WINAPI Parser_OutputPin_Connect(IPin * iface, IPin * pReceivePin,
|
||||||
return BaseOutputPinImpl_Connect(iface, pReceivePin, pmt);
|
return BaseOutputPinImpl_Connect(iface, pReceivePin, pmt);
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI Parser_OutputPin_QueryAccept(IPin *iface, const AM_MEDIA_TYPE * pmt)
|
static HRESULT WINAPI Parser_OutputPin_CheckMediaType(BasePin *pin, const AM_MEDIA_TYPE *pmt)
|
||||||
{
|
{
|
||||||
Parser_OutputPin *This = unsafe_impl_Parser_OutputPin_from_IPin(iface);
|
Parser_OutputPin *This = (Parser_OutputPin *)pin;
|
||||||
|
|
||||||
TRACE("()\n");
|
|
||||||
dump_AM_MEDIA_TYPE(pmt);
|
dump_AM_MEDIA_TYPE(pmt);
|
||||||
|
|
||||||
return (memcmp(This->pmt, pmt, sizeof(AM_MEDIA_TYPE)) == 0);
|
return (memcmp(This->pmt, pmt, sizeof(AM_MEDIA_TYPE)) == 0);
|
||||||
|
@ -722,7 +722,7 @@ static const IPinVtbl Parser_OutputPin_Vtbl =
|
||||||
BasePinImpl_QueryPinInfo,
|
BasePinImpl_QueryPinInfo,
|
||||||
BasePinImpl_QueryDirection,
|
BasePinImpl_QueryDirection,
|
||||||
BasePinImpl_QueryId,
|
BasePinImpl_QueryId,
|
||||||
Parser_OutputPin_QueryAccept,
|
BasePinImpl_QueryAccept,
|
||||||
BasePinImpl_EnumMediaTypes,
|
BasePinImpl_EnumMediaTypes,
|
||||||
BasePinImpl_QueryInternalConnections,
|
BasePinImpl_QueryInternalConnections,
|
||||||
BaseOutputPinImpl_EndOfStream,
|
BaseOutputPinImpl_EndOfStream,
|
||||||
|
|
|
@ -39,7 +39,7 @@ reactos/dll/directx/wine/dsound # Synced to Wine-1.3.29
|
||||||
reactos/dll/directx/wine/dxdiagn # Synced to WineStaging-3.3
|
reactos/dll/directx/wine/dxdiagn # Synced to WineStaging-3.3
|
||||||
reactos/dll/directx/wine/msdmo # Synced to WineStaging-3.9
|
reactos/dll/directx/wine/msdmo # Synced to WineStaging-3.9
|
||||||
reactos/dll/directx/wine/qedit # Synced to WineStaging-3.3
|
reactos/dll/directx/wine/qedit # Synced to WineStaging-3.3
|
||||||
reactos/dll/directx/wine/quartz # Synced to WineStaging-3.3
|
reactos/dll/directx/wine/quartz # Synced to WineStaging-3.9
|
||||||
reactos/dll/directx/wine/wined3d # Synced to WineStaging-3.9
|
reactos/dll/directx/wine/wined3d # Synced to WineStaging-3.9
|
||||||
|
|
||||||
reactos/dll/win32/activeds # Synced to WineStaging-3.3
|
reactos/dll/win32/activeds # Synced to WineStaging-3.3
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue