hrydgard / ppsspp

A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.
https://www.ppsspp.org
Other
11.24k stars 2.17k forks source link

FFIV CC (ULUS10560) - Sound doesn't stop, instead remains stuck when pausing the game to menu #4443

Closed pal1000 closed 10 years ago

pal1000 commented 10 years ago

Other games may also be affected as it may be a generic problem for Windows considering the description of the commit that caused the issue. If you pause the emulator using F8 key the issue doesn't occur, it occurs only when you pause by pressing Esc or by going into Game Settings - More Settings.

First known bad revision (when the buggy commit got merged): v0.9.5-87-ge2e74e8 Possible first apparition (not merged yet): v0.9.5-82-gc9eac0e

Here is a video of the issue in action. Copy video URL in Windows Media Player, VLC doesn't play it properly.

System used: CPU: Intel Core I3-3220 IGP: Intel HD Graphics 2500 RAM 4GB DDR3 1333 MHZ Windows 7 SP1 x64 Tested with PPSSPP 32/64-bit.default settings and/or without LQ Bezier splines.

xsacha commented 10 years ago

Yeah that's the only commit recently related to sound. It looks like the assumption was wrong:

//__AudioMix fills the rest of the buffer with 0 already

I guess that's why WIN32 had a special #ifdef in the first place. Although, this is only needed for dsound.

hrydgard commented 10 years ago

@xsacha , will you take care of it?

xsacha commented 10 years ago

@Bigpet has been looking in to it. A proper fix (maybe without the #ifdef)

Bigpet commented 10 years ago

to be perfectly frank I'd really like to get rid of that ifdef and instead push that DSound behavior into the actual DSound thread:

https://gist.github.com/Bigpet/7303834

If we want to just discard the return value of the mixer then it should be done there in my opinion. Anyway, that's a stylistic decision.