From: Aric Stewart Subject: winmm: sndPlaySound can play resource sounds Message-Id: <55082649.1030509@codeweavers.com> Date: Tue, 17 Mar 2015 08:04:09 -0500 despite what MSDN says, SND_RESOURCE is valid for sndPlaySound and it plays the sounds. Manual testing was done to confirm sound playing in addition to the successfully return codes on all OS versions other than Vista64 and w2008s64 --- dlls/winmm/playsound.c | 4 ++-- dlls/winmm/tests/Makefile.in | 2 ++ dlls/winmm/tests/bing.wav | Bin 0 -> 8418 bytes dlls/winmm/tests/resource.rc | 24 ++++++++++++++++++++++++ dlls/winmm/tests/wave.c | 8 ++++++++ 5 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 dlls/winmm/tests/bing.wav create mode 100644 dlls/winmm/tests/resource.rc diff --git a/dlls/winmm/playsound.c b/dlls/winmm/playsound.c index 88a4c48..5d9aed0 100644 --- a/dlls/winmm/playsound.c +++ b/dlls/winmm/playsound.c @@ -566,7 +566,7 @@ BOOL WINAPI PlaySoundW(LPCWSTR pszSoundW, HMODULE hmod, DWORD fdwSound) */ BOOL WINAPI sndPlaySoundA(LPCSTR pszSoundA, UINT uFlags) { - uFlags &= SND_ALIAS_ID|SND_FILENAME|SND_ASYNC|SND_LOOP|SND_MEMORY|SND_NODEFAULT|SND_NOSTOP|SND_SYNC; + uFlags &= SND_RESOURCE|SND_ALIAS_ID|SND_FILENAME|SND_ASYNC|SND_LOOP|SND_MEMORY|SND_NODEFAULT|SND_NOSTOP|SND_SYNC; return MULTIMEDIA_PlaySound(pszSoundA, 0, uFlags, FALSE); } @@ -575,7 +575,7 @@ BOOL WINAPI sndPlaySoundA(LPCSTR pszSoundA, UINT uFlags) */ BOOL WINAPI sndPlaySoundW(LPCWSTR pszSound, UINT uFlags) { - uFlags &= SND_ALIAS_ID|SND_FILENAME|SND_ASYNC|SND_LOOP|SND_MEMORY|SND_NODEFAULT|SND_NOSTOP|SND_SYNC; + uFlags &= SND_RESOURCE|SND_ALIAS_ID|SND_FILENAME|SND_ASYNC|SND_LOOP|SND_MEMORY|SND_NODEFAULT|SND_NOSTOP|SND_SYNC; return MULTIMEDIA_PlaySound(pszSound, 0, uFlags, TRUE); } diff --git a/dlls/winmm/tests/Makefile.in b/dlls/winmm/tests/Makefile.in index 5d81e38..1ebbbf9 100644 --- a/dlls/winmm/tests/Makefile.in +++ b/dlls/winmm/tests/Makefile.in @@ -12,3 +12,5 @@ C_SRCS = \ mmio.c \ timer.c \ wave.c + +RC_SRCS = resource.rc diff --git a/dlls/winmm/tests/bing.wav b/dlls/winmm/tests/bing.wav new file mode 100644 index 0000000000000000000000000000000000000000..06360597a9d5448baef37efb23419a3c89ed57c5 GIT binary patch literal 8418 zcmb7~NsnYl6@|+Z3)XB|P)m@IEfz@FD^QC@EdfT@!t0hz+bv|6WnSx9^###)&zdovDVp|%>dmRE;!~Oogy@E6W-%G{hYeEU zkf`x9>JLWaiTQ?%)fSv64#v~C+hdxHfQpz|Bn#`fRH#3KtmS5Z*bCHXCR0*`aUk(O z*aQ1uG-<$U{gB<&Y}g-6%zxZ1*Zbpk4T%u2TyBq#hl9CYPKW&=kT3>I3*fJ2qlf!@ zkdB(AWbSr*t%K4UnNvVuSBeZ;o&;i%ugSy1!w^`2Iy^$&cDG$jhl9a*f~nPp4gJBw zaBP*~khR|J36MO&L{r%ugmW2{!3A%W6KM z&c(giu(#hKGVI;o0}J>BB6?b-nT}}+igdMEi*-lPcED_j70l58{A8hpBlQlt8xMOA zy}@`+AZ+a^n5LnyV3`ub8hHTjW=*A@aloF!8nj;U=S0yn@%z3;wz7=em9ekAXZ zOE(pomkVnTb^63^%1of+=wfDsxsaC4_INyOoFP+!>>D9lhwX|ETC~zUcfKs3558n| zJSK@0-fq8HHiVneR$|`lH-tkM4c^?nAsbW>ow{~T(%qA0&V-w_(oPb|EA3?YV-8EB zv8X1^GQ)_jhvX%7L_LhCW~%16H}rL82c{Yv1Qc-R%rXseyiAwEmjedWnj?f3R1a@@ zj3Z%LHEZiF)0dA_DP_82q)};P!g)L$4(VhEC5hiLEB0_qYB{hCQ-K?{^g-l~RC`S2 zGI?pXEJh);#}chX<}8>|S~11Rr~zunyJSR94~7#a zI@LzH(j4B8n!;Xs!Qm;aXhcC+cDUnl$1UL81QvZj_)ZaP(*Ds3`DWM2{9^~*T-m4nGSf=}BH<`2HF%*$Qj2+l1@u-u1Y7QClm%P6Jannen8_A81OKdrdTWRO~9ghfTT>zHSx1D6*teikun zA}wZHcpVuaPS_S9&zcrFwj7OKSQV|~dJZVwibzr9utlv4-UQ@?Ia$&pt-uAAw;wMs zRfyT?MQ!nzH-74!>B6xwf`Q!)gSyiOrSIS}I_y%l#DF(eK^CAT~}M&YFy^?P3C zP8VTXoi;vMu(b=R)H|=0Vz3KyyO~<~)T_f#Li_h`?)$WTL8TLBi&|zvaIV&|k?eCb zge5}9lAULZgUU%faCoQ0llkNfEvwk9%0JbXrV}$ljxjmpM#&9ebfji7c(~6y23L(f z43Z*|Prv+jFC&xklf;sWOg3kZvk*|WFXNNjCRd%5mbyYP3uTaS2k`P%0O~8o%%{Cez+<5W72C!1Ir`EY-~yJ{G4+cHFI28#W=TDGVfFi34W?=xCy|Y z1(}=L1F)l3-XmCcJ*`zD2y>$?bP@6wen6baPT(j#-(;w~AdU^BQPNb=5LVI5emOuX zHKcLF)3Q@xhydkhO0yrn7wCX8gY!qe;ms(4Y;&HJEUCqRPC(p#ZU^j%2dqibjz?#ig_%S>)t8Kj^V`8DV#*F9%4F4$#$36Q}JJz zO15eORJ*dn5BGpj52U5!qZTbEHSyW63M$pr*+a{n&JwT$)n# zeN@FoF?NkA92T}}Mv(1RwN;zsoJbsWuyo&vpYu_2d)nur;7Y25=TBkt(b+0BTXnhs ziCtLAD_l-h)ksr&uZ< zCkNLA=dcK$EL~|mb>?2YpU_s7BHZDsz)t2mQ>P6ce$Z5eI*l&IPV=