Commit Graph

87 Commits

Author SHA1 Message Date
Henrik Rydgård
091535744b SimpleAudioDec: Fix crash in savestate load 2024-07-20 00:00:29 +02:00
Henrik Rydgård
e01ca5b057
Logging API change (refactor) (#19324)
* Rename LogType to Log

* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.

* Mac/ARM64 buildfix

* Do the same with the hle result log macros

* Rename the log names to mixed case while at it.

* iOS buildfix

* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Henrik Rydgård
1b366afa35 Refactor: Change *outBytes to *outSamples in AudioDecoder::Decode. 2024-04-16 15:31:11 +02:00
Henrik Rydgård
d402068745 Fix mono output from Atrac decoders. (sceAtrac*MOut* functions) 2024-04-15 11:50:32 +02:00
Henrik Rydgård
effae82208 sceAtrac: Do some renaming to make things make more sense 2024-04-13 10:35:39 +02:00
Henrik Rydgård
c2bcdd3076 Buildfix with system ffmpeg 2024-04-12 16:45:45 +02:00
Henrik Rydgård
5ed77b58ca Improve the AudioDecoder API to avoid having to call a function to get the bytes consumed 2024-04-11 16:49:00 +02:00
Henrik Rydgård
bf280eb410 Remove "SetExtraData" from AudioDecoder, pass in the data at creation instead 2024-04-11 14:39:59 +02:00
Henrik Rydgård
c6c67695b1 Hook up ATRAC3 too 2024-04-11 14:39:59 +02:00
Henrik Rydgård
c902973688 Setup more of the setup 2024-04-11 14:39:59 +02:00
Henrik Rydgård
8d4716cab6 WIP: Add AT3/AT3plus files, get it to compile (though will fail to link if we use it) 2024-04-11 14:39:59 +02:00
Henrik Rydgård
db929ea042 Use minimp3 for in-game mp3 decoding. Doesn't solve any issues it seems, but works like before. 2024-04-11 14:19:22 +02:00
Henrik Rydgård
3de85c8d14 Remove more unnecessary accessors 2024-04-11 14:18:07 +02:00
Henrik Rydgård
5b3be0d720 Update USE_FFMPEG checks 2024-04-10 18:40:02 +02:00
Henrik Rydgård
8adca6492c Move class SimpleAudio into the cpp file 2024-04-10 13:03:19 +02:00
Henrik Rydgård
1805910fac More refactoring 2024-04-10 12:22:58 +02:00
Henrik Rydgård
1938d3b876 More prep for plugging in alternate audio decoders 2024-04-10 12:14:58 +02:00
Henrik Rydgård
32ca7ab59a Minor code cleanups 2024-04-10 12:07:03 +02:00
Henrik Rydgård
88eb2c2e0b Add a virtual base class so we can implement alternative decoders 2024-04-10 00:45:02 +02:00
Henrik Rydgård
ddbe0e853b Remove unused code 2024-04-10 00:40:16 +02:00
Andrew Udvare
930b7f644d ffmpeg: Improved fix for checking if const AVCodec* is necessary 2024-02-05 14:37:09 -05:00
Andrew Udvare
402f9acb5e Fix compilation with newer ffmpeg versions 2024-01-13 00:12:21 -05:00
Henrik Rydgård
0a13c78788 Revert "ffmpeg: Don't ask for multi-threaded decoding"
This reverts commit b173e0f4a4.

Turns out it's not actually known to fix anything, should have closed
that old PR.
2023-01-12 16:23:39 +01:00
Henrik Rydgård
b173e0f4a4 ffmpeg: Don't ask for multi-threaded decoding
For whatever reason, our version of ffmpeg has problems with it,
and I don't care enough to dig deep.

See PR #13806
2023-01-12 12:13:10 +01:00
Unknown W. Brackets
c44d787df4 Mpeg: Check memory access range on GetPointer(). 2023-01-09 16:53:10 -08:00
Unknown W. Brackets
a7b7bf7826 Global: Set many read-only params as const.
This makes what they do and which args to use clearer, if nothing else.
2022-12-10 21:13:36 -08:00
Henrik Rydgård
e6403d7157 Split GetPointer into two versions, to help with const correctness 2022-07-24 13:26:19 +02:00
Unknown W. Brackets
d45fe93588 Mp3: Output PCM data using even/odd buffer slot.
This makes sense since the audio APIs are all async.
2022-01-27 00:22:44 -08:00
Unknown W. Brackets
914d022eef Mp3: Allow decode with NULL out pointer. 2022-01-27 00:22:44 -08:00
Unknown W. Brackets
4903e14aae Mp3: Cleanup AuCtx constructor. 2022-01-27 00:22:43 -08:00
Henrik Rydgård
2f3bc2d373
Merge pull request #14056 from unknownbrackets/debugger-mem
Track memory allocations and writes for debug info
2021-02-21 10:18:11 +01:00
Unknown W. Brackets
b19e39efb0 Audiocodec: Update to latest FFmpeg packet pump. 2021-02-18 00:20:27 -08:00
Unknown W. Brackets
2362d71d70 Mpeg: Remove deprecated codec register calls. 2021-02-18 00:20:27 -08:00
Unknown W. Brackets
f7740edc6d Debugger: Add more metadata for memory usage. 2021-02-15 15:01:21 -08:00
Unknown W. Brackets
463fc3c792 Mp3: Allow decode without pcm pointer.
Just like other audio decoding, you're allowed to skip audio.
Also prevents a crash if the mp3 is not yet inited.
2021-01-25 23:51:55 -08:00
sum2012
942ce775cc Fix AuCheckStreamDataNeeded function
fix #13633
2020-11-08 22:47:32 +08:00
Unknown W. Brackets
b8342fb8ec SaveState: Rename ChunkFile files to Serialize.
Makes more sense and less weird than ChunkFileDoMap, etc.
2020-08-10 08:04:05 +00:00
Unknown W. Brackets
4b4e3432cd SaveState: Split Do() into a separate header. 2020-08-10 08:03:41 +00:00
Unknown W. Brackets
4ee5d2b611 Mp3: Correct seek to specific frame.
Before, it treated it as an (incomplete) seek to a byte position, which
didn't make much sense.  This matches PSP behavior per tests.
2019-04-29 04:47:59 -07:00
Unknown W. Brackets
bfa9aa009d Mp3: Properly flush the buffer on reset. 2019-04-29 04:47:59 -07:00
Unknown W. Brackets
4b4c0f9bda Mp3: Always output data in decode, except at end.
Turns out this doesn't return 0 until the end, even if there's no data
available to decode.  It just writes zeros in that case.
2019-04-29 04:47:59 -07:00
Unknown W. Brackets
fde59c955d Mp3: Use a vector for the temp buffer.
Hopefully will move to reading RAM directly.  I think this was not always
adding data properly, as I got wrong output after decode.  Makes more
sense as a vector, anyway.
2019-04-29 04:45:36 -07:00
Unknown W. Brackets
ac43e55194 Mp3: Loop correctly from an offset.
If the offset points to an ID3 tag or the middle of a frame, that's fine -
it should just search forward to the next sync.  FFmpeg just returns a
decode error, so we do this first.
2019-04-28 08:35:35 -07:00
Unknown W. Brackets
e4817b4e83 Mp3: Reset sum decoded on loop.
And only on loop, not when getting add info (which clearly doesn't loop,
from tests.)
2019-04-28 07:55:29 -07:00
Unknown W. Brackets
a3640f303b Mp3: Correct sum decoded sample count.
It shouldn't consider both channels of stereo.  This could've been causing
some games to think they were playing audio at an incorrect speed.
2019-04-28 07:30:56 -07:00
Unknown W. Brackets
bc1e6e12f5 Mp3: Return total frame count in sceMp3GetFrameNum.
This might fix games failing to play mp3s correctly.
2019-04-28 07:10:26 -07:00
Unknown W. Brackets
df9c922198
Merge pull request #10783 from LunaMoo/fillSoundBuffer
Remove "sound speed hack"
2019-04-28 06:20:13 -07:00
LunaMoo
0a4dc1f883 Remove "sound speed hack". 2019-04-25 04:15:31 +02:00
Unknown W. Brackets
0d6570e8ad Mp3: Correct sceMp3GetMaxOutputSample.
Was based on output buffer size, rather than frame size, before.

Fixes choppy audio in Velocity.
2019-04-24 14:31:12 -07:00
Unknown W. Brackets
be6710ea4a Mp3: Fix errors for a bunch of init getters. 2019-04-24 14:13:46 -07:00