winecoreaudio: Ignore failure to notify winmm wave clients.
This commit is contained in:
parent
c0d6db3944
commit
5021f6102b
|
@ -787,9 +787,9 @@ void CoreAudio_WaveRelease(void)
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* wodNotifyClient [internal]
|
* wodNotifyClient [internal]
|
||||||
*/
|
*/
|
||||||
static DWORD wodNotifyClient(WINE_WAVEOUT_INSTANCE* wwo, WORD wMsg, DWORD dwParam1, DWORD dwParam2)
|
static void wodNotifyClient(WINE_WAVEOUT_INSTANCE* wwo, WORD wMsg, DWORD dwParam1, DWORD dwParam2)
|
||||||
{
|
{
|
||||||
TRACE_(coreaudio)("wMsg = 0x%04x dwParm1 = %04x dwParam2 = %04x\n", wMsg, dwParam1, dwParam2);
|
TRACE("wMsg = 0x%04x dwParm1 = %04x dwParam2 = %04x\n", wMsg, dwParam1, dwParam2);
|
||||||
|
|
||||||
switch (wMsg) {
|
switch (wMsg) {
|
||||||
case WOM_OPEN:
|
case WOM_OPEN:
|
||||||
|
@ -800,15 +800,12 @@ static DWORD wodNotifyClient(WINE_WAVEOUT_INSTANCE* wwo, WORD wMsg, DWORD dwPara
|
||||||
(HDRVR)wwo->waveDesc.hWave, wMsg, wwo->waveDesc.dwInstance,
|
(HDRVR)wwo->waveDesc.hWave, wMsg, wwo->waveDesc.dwInstance,
|
||||||
dwParam1, dwParam2))
|
dwParam1, dwParam2))
|
||||||
{
|
{
|
||||||
ERR("can't notify client !\n");
|
WARN("can't notify client !\n");
|
||||||
return MMSYSERR_ERROR;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
ERR("Unknown callback message %u\n", wMsg);
|
FIXME("Unknown callback message %u\n", wMsg);
|
||||||
return MMSYSERR_INVALPARAM;
|
|
||||||
}
|
}
|
||||||
return MMSYSERR_NOERROR;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -975,9 +972,9 @@ static DWORD wodOpen(WORD wDevID, WINE_WAVEOUT_INSTANCE** pInstance, LPWAVEOPEND
|
||||||
*pInstance = wwo;
|
*pInstance = wwo;
|
||||||
TRACE("opened instance %p\n", wwo);
|
TRACE("opened instance %p\n", wwo);
|
||||||
|
|
||||||
ret = wodNotifyClient(wwo, WOM_OPEN, 0L, 0L);
|
wodNotifyClient(wwo, WOM_OPEN, 0L, 0L);
|
||||||
|
|
||||||
return ret;
|
return MMSYSERR_NOERROR;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
if (audioUnit)
|
if (audioUnit)
|
||||||
|
@ -1015,7 +1012,7 @@ static DWORD wodClose(WORD wDevID, WINE_WAVEOUT_INSTANCE* wwo)
|
||||||
{
|
{
|
||||||
OSSpinLockUnlock(&wwo->lock);
|
OSSpinLockUnlock(&wwo->lock);
|
||||||
WARN("buffers still playing !\n");
|
WARN("buffers still playing !\n");
|
||||||
ret = WAVERR_STILLPLAYING;
|
return WAVERR_STILLPLAYING;
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
OSStatus err;
|
OSStatus err;
|
||||||
|
@ -1045,7 +1042,7 @@ static DWORD wodClose(WORD wDevID, WINE_WAVEOUT_INSTANCE* wwo)
|
||||||
list_remove(&wwo->entry);
|
list_remove(&wwo->entry);
|
||||||
OSSpinLockUnlock(&WOutDev[wDevID].lock);
|
OSSpinLockUnlock(&WOutDev[wDevID].lock);
|
||||||
|
|
||||||
ret = wodNotifyClient(wwo, WOM_CLOSE, 0L, 0L);
|
wodNotifyClient(wwo, WOM_CLOSE, 0L, 0L);
|
||||||
|
|
||||||
HeapFree(GetProcessHeap(), 0, wwo);
|
HeapFree(GetProcessHeap(), 0, wwo);
|
||||||
}
|
}
|
||||||
|
@ -1749,7 +1746,7 @@ OSStatus CoreAudio_woAudioUnitIOProc(void *inRefCon,
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* widNotifyClient [internal]
|
* widNotifyClient [internal]
|
||||||
*/
|
*/
|
||||||
static DWORD widNotifyClient(WINE_WAVEIN* wwi, WORD wMsg, DWORD dwParam1, DWORD dwParam2)
|
static void widNotifyClient(WINE_WAVEIN* wwi, WORD wMsg, DWORD dwParam1, DWORD dwParam2)
|
||||||
{
|
{
|
||||||
TRACE("wMsg = 0x%04x dwParm1 = %04X dwParam2 = %04X\n", wMsg, dwParam1, dwParam2);
|
TRACE("wMsg = 0x%04x dwParm1 = %04X dwParam2 = %04X\n", wMsg, dwParam1, dwParam2);
|
||||||
|
|
||||||
|
@ -1764,14 +1761,11 @@ static DWORD widNotifyClient(WINE_WAVEIN* wwi, WORD wMsg, DWORD dwParam1, DWORD
|
||||||
dwParam1, dwParam2))
|
dwParam1, dwParam2))
|
||||||
{
|
{
|
||||||
WARN("can't notify client !\n");
|
WARN("can't notify client !\n");
|
||||||
return MMSYSERR_ERROR;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
FIXME("Unknown callback message %u\n", wMsg);
|
FIXME("Unknown callback message %u\n", wMsg);
|
||||||
return MMSYSERR_INVALPARAM;
|
|
||||||
}
|
}
|
||||||
return MMSYSERR_NOERROR;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2029,7 +2023,9 @@ static DWORD widOpen(WORD wDevID, LPWAVEOPENDESC lpDesc, DWORD dwFlags)
|
||||||
|
|
||||||
OSSpinLockUnlock(&wwi->lock);
|
OSSpinLockUnlock(&wwi->lock);
|
||||||
|
|
||||||
return widNotifyClient(wwi, WIM_OPEN, 0L, 0L);
|
widNotifyClient(wwi, WIM_OPEN, 0L, 0L);
|
||||||
|
|
||||||
|
return MMSYSERR_NOERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2099,7 +2095,7 @@ static DWORD widClose(WORD wDevID)
|
||||||
wwi->state = WINE_WS_CLOSED;
|
wwi->state = WINE_WS_CLOSED;
|
||||||
OSSpinLockUnlock(&wwi->lock);
|
OSSpinLockUnlock(&wwi->lock);
|
||||||
|
|
||||||
ret = widNotifyClient(wwi, WIM_CLOSE, 0L, 0L);
|
widNotifyClient(wwi, WIM_CLOSE, 0L, 0L);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue