-
-
Notifications
You must be signed in to change notification settings - Fork 882
core: Queue up Sound and SoundChannel methods during loading #9457
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
617ac9f
to
aa1ae03
Compare
Kingdom rush, dash_fly_by_futzi01-d9flryk.swf and most htpot NSWF stuff, now crashes with errors in this commit: Cannot access property:: close of null or undefined |
@SN902 Is that a regression, or were those swfs previously crashing earlier? |
@Aaron1011 on latest master works without issues, these swf's spam alot of these errors in console, but not permanently stops emulator |
aa1ae03
to
6a0bd63
Compare
@SN902 I've updated the PR to fix the issue - I left in a |
@Aaron1011 issue solved |
I wonder whether this PR may also be considered to fix #6673 (or it is a totally unrelated issue). Many thanks for your help. |
@ousia I think that issue is unrelated - with this PR, loading is still all-or-nothing (we never report streaming/partial loads to AVM2), so it won't affect |
@Aaron1011, many thanks for your reply. It would be great that I hope this can be achieved in the future. Many thanks for your contributions to Ruffle (and to all contributors for their work). |
Flash supports calling `Sound.play`, `SoundChannel.stop`, and `SoundChannel.soundTransform` while a sound load is in progress (e.g. immediately after calling `Sound.load`). To support this, we queue up information inside `SoundObject` and `SoundChannelObject` when a load is in progress. When a load completes, we trigger any queued `Sound.play` and `SoundChannel.stop` calls, and apply the most recent `SoundChannel.soundTransform`
6a0bd63
to
af9f5cf
Compare
Flash supports calling
Sound.play
,SoundChannel.stop
, andSoundChannel.soundTransform
while a sound load is in progress (e.g. immediately after callingSound.load
).To support this, we queue up information inside
SoundObject
andSoundChannelObject
when a load is in progress. When a load completes, we trigger any queuedSound.play
andSoundChannel.stop
calls, and apply the most recentSoundChannel.soundTransform