Commit graph

13963 commits

Author SHA1 Message Date
Henrik Rydgård
bb436cda8f Reimplement a lot of logic, implement loop streaming properly 2025-03-18 09:36:33 +01:00
Henrik Rydgård
b99348383c Some new findings, loop work 2025-03-18 09:36:33 +01:00
Henrik Rydgård
4d7a8b8233 Some type and comment cleanup 2025-03-18 09:36:33 +01:00
Henrik Rydgård
926a5623d1 Improve comments 2025-03-18 09:36:33 +01:00
Henrik Rydgård
9cc7bab3a5 Implement the simplest looping case (fully loaded audio) 2025-03-18 09:36:33 +01:00
Henrik Rydgård
92737be87e Minor simplification 2025-03-18 09:36:33 +01:00
Henrik Rydgård
deff5ce513 Correct the stream buffering logic to allow for adding unaligned amounts to the buffer. This also simplifies it. 2025-03-18 09:36:33 +01:00
Henrik Rydgård
f4fe91beae Remove unnecessary state variable, fix reset-seeks to fractional positions 2025-03-18 09:36:33 +01:00
Henrik Rydgård
da27e2a93f Fix seeking to offsets other than 0 in a couple of the modes 2025-03-18 09:36:33 +01:00
Henrik Rydgård
e99688fd93 Fix buffer sizing issue for mono tracks 2025-03-18 09:36:33 +01:00
Henrik Rydgård
9623cd4897 Fix playback of fully loaded tracks, fix memory leak 2025-03-18 09:36:33 +01:00
Henrik Rydgård
8b02766702 Some cleanup and refactor. 2025-03-18 09:36:33 +01:00
Henrik Rydgård
36fdb09056 Break apart the SetData function 2025-03-18 09:36:33 +01:00
Henrik Rydgård
8f66ebde90 Shuffle things around a bit 2025-03-18 09:36:33 +01:00
Henrik Rydgård
2367c2d1cf Fix even more edge cases 2025-03-18 09:36:33 +01:00
Henrik Rydgård
1f85887cb6 Logging improvements 2025-03-18 09:36:33 +01:00
Henrik Rydgård
bab09ea30a Implement sceAtracGetInternalError 2025-03-18 09:36:33 +01:00
Henrik Rydgård
86d661f312 Correctly handle corrupted data in decode. 2025-03-18 09:36:33 +01:00
Henrik Rydgård
beaf089870 Add checks for running out of data in decode. 2025-03-18 09:36:32 +01:00
Henrik Rydgård
2dd4602886 Fix half-way buffer streaming 2025-03-18 09:36:32 +01:00
Henrik Rydgård
54acb07ded ImDebugger: Add more atrac information 2025-03-18 09:36:32 +01:00
Henrik Rydgård
67c8703302 Correct GetStreamDataInfo. Now passes the test at all buffer sizes I've tried. 2025-03-18 09:36:32 +01:00
Henrik Rydgård
1dd48ec73b Pass the new test with a fully loaded buffer. 2025-03-18 09:36:32 +01:00
Henrik Rydgård
7a4d175e06 Port over some utility functions, fix bugs. 2025-03-18 09:36:32 +01:00
Henrik Rydgård
9c02eab137 More work - start work on handling buffer wraparound properly. Passes the full test with 1 wraparound! 2025-03-18 09:36:32 +01:00
Henrik Rydgård
724fc1dd95 Work on the new implementation. 2025-03-18 09:36:32 +01:00
Henrik Rydgård
78e763b050 Restore the setting. 2025-03-18 09:36:32 +01:00
Henrik Rydgård
818e7a99bd minor refactor 2025-03-17 11:02:59 +01:00
Henrik Rydgård
3d0cb44f18 Add comment explaining how sceAudio does queueing wrong 2025-03-17 11:02:59 +01:00
Henrik Rydgård
63c997b973 Fix an ordering issue in Atrac context creation 2025-03-16 22:46:44 +01:00
Henrik Rydgård
b7782d98f3 Prepare for Atrac context data to work the new way. Not actually active yet. Also restrict old versions to 4 contexts. 2025-03-16 19:32:03 +01:00
Henrik Rydgård
4fbdb58beb Merge the "Analyze" function into SetData 2025-03-16 19:32:00 +01:00
Henrik Rydgård
3979b6af54 Combine the two Analyze functions 2025-03-16 12:59:32 +01:00
Henrik Rydgård
fe0edc0bda One more cleanup before merging Analyze and SetData... 2025-03-16 12:44:16 +01:00
Henrik Rydgård
8ab41e387e Reorganize to make the next step easier 2025-03-16 12:21:55 +01:00
Henrik Rydgård
bcf89754c7 First step: Split out the track analysis. 2025-03-16 12:21:55 +01:00
Henrik Rydgård
c6ea7cfd15 Delay fix 2025-03-16 11:57:09 +01:00
Henrik Rydgård
6a4a46025b Remove now-unnecessary wrapper _AtracSetData 2025-03-16 11:32:00 +01:00
Henrik Rydgård
3d143a0cba Finally get rid of the GetTrack() accessor 2025-03-16 11:29:00 +01:00
Henrik Rydgård
a3b43d8283 Refactor CurrentSample and ResetPlayPosition 2025-03-16 11:18:33 +01:00
Henrik Rydgård
fd9564166b More GetTrack removal 2025-03-16 11:06:52 +01:00
Henrik Rydgård
b406f3a9d1 Move the GetSoundSample implementation behind the AtracBase interface 2025-03-16 09:48:13 +01:00
Henrik Rydgård
5bd1ae5bae Move more validation logic into AtracBase 2025-03-16 09:48:13 +01:00
Henrik Rydgård
beaced1c87 Move loop status and reset info param validation in behind the AtracBase interface 2025-03-16 09:48:13 +01:00
Henrik Rydgård
9788a770a7 Add a DecodeLowLevel wrapper to the AtracBase interface 2025-03-16 09:47:36 +01:00
Henrik Rydgård
c33a86561f Remove the strange "successCode" argument to SetData 2025-03-16 09:00:27 +01:00
Henrik Rydgård
a0b8ceb63c Move logging out of _AtracSetData 2025-03-16 08:53:22 +01:00
Henrik Rydgård
c2a73ba2ee sceUtilityLoadModule: Shrink the memory reservation for sceAtrac 2025-03-15 17:54:53 +01:00
Henrik Rydgård
5a8e4c1c2e Assorted debugger stuff 2025-03-15 17:54:38 +01:00
Henrik Rydgård
17d7dcdd6c Make sceUtilityLoadAvModule work correctly 2025-03-15 17:40:24 +01:00