The branch below now keeps track of the last audio position in all audio-related events, and now confirms and re-positions the track on decode (only if needed). This pause-load-data-resume pattern appears to be an extremely rare behavior (even though it makes perfect sense) so I'm very thankful you noticed and reported it! This revealed a bug in this sequential decode: when the pirate scene resumes playback, the last position used happens to be where we left off loading the pirate's data, causing the garbled audio. In this scenario with a bin/cue, we're essentially using a single binary track, however when we speak to the pirate the game pauses the audio, loads that dialog as data (performing a seek and binary read), and then unpauses the audio. ![]() One of the optimizations in the CD-DA code is to perform sequential audio decode in the audio tracks, without seeking (if possible). When you go to talk to a pirate using dosbox-staging 0.75 final the audio goes crazy using the CD version of the game. ![]() Thanks for the detailed report and careful listening!
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
June 2023
Categories |