Opened 18 years ago
Closed 18 years ago
#5 closed defect (worksforme)
too many sounds at once locks psi up
Reported by: | Andy | Owned by: | dmik |
---|---|---|---|
Priority: | major | Component: | psi |
Version: | Keywords: | ||
Cc: |
Description
With the latest release of psi/2 I tried adding a transport that had 24 contacts. When it adds them it tries to generate a sound for each one. When it hits 10 names (sounds) it then locks up. The cpu usage is 0 and other apps will work (though it did force me to reboot via ctrl-alt-del once as I could not kill psi/2 and the regular shutdown hung). Generally I can psi/2 ok but as soon as I reconnect in an online status it fires them off again and again at 10 it hangs. I shut off the sound in psi/w and then went online and it added them all fine and everything is happy again.
Change History (3)
comment:1 by , 18 years ago
Component: | [general] → psi |
---|
comment:2 by , 18 years ago
Just for the record. The actual problem is that something gets screwed up uniaud (and possibly some other audio drivers) when one plays too many (>10 or so) sounds simultaneously (i.e. w/o waiting until the previous sound finishes playing) in shared (non-exclusive) mode. On both of my systems, all tested Qt applications (including Psi) hang in mmpm.dll while doing mciSendCommand(MCI_CLOSE) for the last of played sounds. This call is made on the GUI thread, and therefore the whole application simply freezes (and may give 100% CPU load, or may just make the system really slow).
Since the uniaud driver is the most commonly used nowadays, I changed Qt so it now opens sounds in exclusive mode by default. It may be switched back to shareable mode by assigning some value to the QT_PM_SOUND_SHARE environment variable. QT_PM_NO_SOUND_SHARE is still there and does the opposite (forces sounds to be opened in exclusive mode, for backward compatibility). QT_PM_NO_SOUND_SHARE takes precedence over QT_PM_SOUND_SHARE. The fixed Qt library will be used in the next Psi release.
Note that exclusive mode is a temporary default and will be changed back to shareable once uniaud is fixed.
comment:3 by , 18 years ago
Resolution: | → worksforme |
---|---|
Status: | new → closed |
Closing this defect due to lack of the feedback from the reporter.
What is the latest release of psi/2 in your understanding? 0.10 beta 1 or 0.10.1? Please verify if the problem still exists in Psi/2 0.10.1. If so, please try the workaround described in the Troubleshooting section of Readme-OS2.txt and report here about the result.