[MSACM32] Sync with Wine Staging 1.7.55. CORE-10536

svn path=/trunk/; revision=70018
This commit is contained in:
Amine Khaldi 2015-11-22 10:27:33 +00:00
parent b355176a29
commit 80a73ead06
3 changed files with 17 additions and 9 deletions

View file

@ -660,6 +660,9 @@ MMRESULT WINAPI acmFormatSuggest(HACMDRIVER had, PWAVEFORMATEX pwfxSrc,
TRACE("(%p, %p, %p, %d, %d)\n",
had, pwfxSrc, pwfxDst, cbwfxDst, fdwSuggest);
if (!pwfxSrc || !pwfxDst)
return MMSYSERR_INVALPARAM;
if (fdwSuggest & ~(ACM_FORMATSUGGESTF_NCHANNELS|ACM_FORMATSUGGESTF_NSAMPLESPERSEC|
ACM_FORMATSUGGESTF_WBITSPERSAMPLE|ACM_FORMATSUGGESTF_WFORMATTAG))
return MMSYSERR_INVALFLAG;

View file

@ -820,28 +820,33 @@ static LRESULT PCM_FormatSuggest(PACMDRVFORMATSUGGEST adfs)
/* some tests ... */
if (adfs->cbwfxSrc < sizeof(PCMWAVEFORMAT) ||
adfs->cbwfxDst < sizeof(PCMWAVEFORMAT) ||
PCM_GetFormatIndex(adfs->pwfxSrc) == 0xFFFFFFFF) {
adfs->cbwfxDst < sizeof(PCMWAVEFORMAT) ||
PCM_GetFormatIndex(adfs->pwfxSrc) == 0xFFFFFFFF) {
WARN("not possible\n");
return ACMERR_NOTPOSSIBLE;
}
/* is no suggestion for destination, then copy source value */
if (!(adfs->fdwSuggest & ACM_FORMATSUGGESTF_NCHANNELS)) {
adfs->pwfxDst->nChannels = adfs->pwfxSrc->nChannels;
adfs->pwfxDst->nChannels = adfs->pwfxSrc->nChannels;
}
if (!(adfs->fdwSuggest & ACM_FORMATSUGGESTF_NSAMPLESPERSEC)) {
adfs->pwfxDst->nSamplesPerSec = adfs->pwfxSrc->nSamplesPerSec;
adfs->pwfxDst->nSamplesPerSec = adfs->pwfxSrc->nSamplesPerSec;
}
if (!(adfs->fdwSuggest & ACM_FORMATSUGGESTF_WBITSPERSAMPLE)) {
adfs->pwfxDst->wBitsPerSample = adfs->pwfxSrc->wBitsPerSample;
adfs->pwfxDst->wBitsPerSample = adfs->pwfxSrc->wBitsPerSample;
}
if (!(adfs->fdwSuggest & ACM_FORMATSUGGESTF_WFORMATTAG)) {
if (adfs->pwfxSrc->wFormatTag != WAVE_FORMAT_PCM) {
WARN("not possible\n");
if (adfs->pwfxSrc->wFormatTag != WAVE_FORMAT_PCM) {
WARN("source format 0x%x not supported\n", adfs->pwfxSrc->wFormatTag);
return ACMERR_NOTPOSSIBLE;
}
adfs->pwfxDst->wFormatTag = adfs->pwfxSrc->wFormatTag;
} else {
if (adfs->pwfxDst->wFormatTag != WAVE_FORMAT_PCM) {
WARN("destination format 0x%x not supported\n", adfs->pwfxDst->wFormatTag);
return ACMERR_NOTPOSSIBLE;
}
adfs->pwfxDst->wFormatTag = adfs->pwfxSrc->wFormatTag;
}
/* check if result is ok */
if (PCM_GetFormatIndex(adfs->pwfxDst) == 0xFFFFFFFF) {

View file

@ -103,7 +103,7 @@ reactos/dll/win32/mlang # Synced to WineStaging-1.7.47
reactos/dll/win32/mmdevapi # Synced to WineStaging-1.7.47
reactos/dll/win32/mpr # Synced to WineStaging-1.7.55
reactos/dll/win32/mprapi # Synced to WineStaging-1.7.47
reactos/dll/win32/msacm32 # Synced to WineStaging-1.7.47
reactos/dll/win32/msacm32 # Synced to WineStaging-1.7.55
reactos/dll/win32/msacm32/msacm32.drv # Synced to WineStaging-1.7.47
reactos/dll/win32/msadp32.acm # Synced to WineStaging-1.7.47
reactos/dll/win32/mscat32 # Synced to WineStaging-1.7.47