After a page process has opened many AudioContexts, WebKit can hand out
one whose sampleRate is 0. The adapter passed that rate to binjgb, whose
emulator_run_until divides by the audio frequency on every call, so the
first frame trapped with "Division by zero". This failed the Day-Care
cartridge comparisons on WebKit after earlier tests had created hundreds
of emulators, and could crash the reference player in Safari.
A context without a usable rate is now closed and the emulator runs
silently at the fallback rate, as when no AudioContext can be created.
After a page process has opened many AudioContexts, WebKit can hand out
one whose sampleRate is 0. The adapter passed that rate to binjgb, whose
emulator_run_until divides by the audio frequency on every call, so the
first frame trapped with "Division by zero". This failed the Day-Care
cartridge comparisons on WebKit after earlier tests had created hundreds
of emulators, and could crash the reference player in Safari.
A context without a usable rate is now closed and the emulator runs
silently at the fallback rate, as when no AudioContext can be created.
Commit: 7a32e68
kawa
added this to the Pokemon Crystal - Web project 2026-10-17 10:45:35 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
After a page process has opened many AudioContexts, WebKit can hand out
one whose sampleRate is 0. The adapter passed that rate to binjgb, whose
emulator_run_until divides by the audio frequency on every call, so the
first frame trapped with "Division by zero". This failed the Day-Care
cartridge comparisons on WebKit after earlier tests had created hundreds
of emulators, and could crash the reference player in Safari.
A context without a usable rate is now closed and the emulator runs
silently at the fallback rate, as when no AudioContext can be created.
Commit:
7a32e68