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
1dc5ee424b
SaveState: Split out Do types to reduce headers.
2020-08-10 08:03:44 +00:00
Unknown W. Brackets
4b4e3432cd
SaveState: Split Do() into a separate header.
2020-08-10 08:03:41 +00:00
Henrik Rydgård
ff65b813d9
Assorted warning fixes
2019-05-10 23:26:34 +02:00
Unknown W. Brackets
848108c6ab
Mp3: Set as inited only after success.
2019-04-29 04:47:59 -07: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
68d2571681
Mp3: Fix ID3 tag handling.
...
Just ignore them and handle via frame sync, which is what the PSP does..
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
925e4d1343
Mp3: Correct delay on decode.
2019-04-28 08:44:46 -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
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
95d3d99343
Mp3: Fix loop func errors, clamp to -1.
...
Might matter if some game is checking the result.
2019-04-28 06:36:48 -07: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
Unknown W. Brackets
5f82258fa1
Mp3: Detect offset headers, reject invalid data.
...
ID3 handling not really tested. Left some error codes disabled in case
people are happily playing some custom BGM that the PSP didn't support.
2019-04-24 09:16:21 -07:00
Unknown W. Brackets
e4d2712897
Mp3: Apply offset to stream read buffer.
...
Handle errors for sceMp3CheckStreamDataNeeded as well.
2019-04-23 21:14:54 -07:00
Unknown W. Brackets
f1eaf9dc0e
Mp3: Don't change buffer accounting until add.
...
If we just ask what we should add, that is meant to stay static until we
do actually add it.
This also reduces the max we ask for at a time, which better matches
correct behavior and might impact game behavior.
2019-04-23 20:18:16 -07:00
Unknown W. Brackets
709c9dc93c
Mp3: Fix errors on sceMp3NotifyAddStreamData.
2019-04-23 19:48:01 -07:00
Unknown W. Brackets
5b9a3e6ca8
Mp3: Improve handle releasing behavior.
2019-04-22 23:01:40 -07:00
Unknown W. Brackets
4563d9487b
Mp3: Better errors in sceMp3GetInfoToAddStreamData.
2019-04-22 22:57:05 -07:00
Unknown W. Brackets
351a10bd69
Mp3: Allow allocating two mp3 handles.
...
The handles are always 0 or 1, not pointers, which might be relied upon by
some games. Two could be used with the same pointer.
This also makes NULL a valid pointer, which is used for low level mp3s.
2019-04-21 22:28:04 -07:00
Unknown W. Brackets
4ae2108629
Mp3: Fail to reserve if resource not inited.
...
Also, add a required parameter for sceMp3LowLevelInit, since it fails
unless proper values are passed for this on a PSP.
2019-04-21 19:54:34 -07:00
Unknown W. Brackets
92829d47fd
Mp3: Better match resched on resource init/term.
...
It always seems to return 0, though.
2019-04-21 18:22:56 -07:00
Unknown W. Brackets
fcf0518223
Update all the HLE tables with arg and ret info.
2015-03-22 20:51:55 -07:00
Lioncash
4ccb838306
Core: Mark some module functions as static
2014-12-08 04:40:08 -05:00
Henrik Rydgard
cefc0bc96f
Play the game's SND0.AT3 when a game is selected in the menu and on the "game screen".
2014-06-22 17:02:04 +02:00
Henrik Rydgard
1d0cc3417c
Audio stuff: Cleanup, delete dead code
2014-06-22 14:01:23 +02:00
Unknown W. Brackets
29bd4b63e4
Fix a bunch of formatting warnings.
2014-05-21 07:59:58 -07:00
raven02
fbbd37d707
Delay thread for sceMp3Decode()
2014-04-15 21:55:28 +08:00
kaienfr
c6a1b0e743
Provide a new method AuCtx::AuCreateCodecContextFromSource()
...
This method can automatically read audio information from file (as channels, sample rate etc) via ffmpeg,
and create accurate ffmpeg's codec context.
Especially used for unknown audio format but supported by ffmpeg.
2014-04-14 13:23:10 +02:00
kaienfr
73d8786078
Change error log to info in sceMp3LowLevelInit
2014-04-14 12:00:19 +02:00
kaienfr
d5fde0baee
implement sceMp3GetFrameNum
2014-04-14 11:47:28 +02:00
kaienfr
6db28f0691
more cleanup
2014-04-13 21:42:46 +02:00
kaienfr
d5e583ee14
correct some comments.
2014-04-13 21:15:41 +02:00
kaienfr
ba34b211f1
Support sceMp3LowLevel*
...
Gundam G custom BGM is supported now :)
2014-04-13 21:11:04 +02:00
kaienfr
4eedd7a3cd
Merge remote-tracking branch 'origin/master' into Universal_Audio_Branch
2014-04-13 14:39:56 +02:00
raven02
3a0b17a50f
Put in parameters for sceMp3LowLevelInit/Decode
2014-04-13 17:18:18 +08:00
kaienfr
e25bc6908a
Fix nonsmooth sound issue and incomplete frame at the end of source and pcm buffers.
...
using a std::string to save the source buffer, and changing the loading strategy so as we will not get any incomplete frame.
2014-04-12 23:16:38 +02:00
kaienfr
976c9bbfdc
Fix Dead and live freezing issue.
...
Just a typo in sceMp3 when using the universal class.
2014-04-12 15:46:35 +02:00
kaienfr
a7691737b5
Transfer old mp3 savestate into new mode; Rename class functions sceAu... to Au...
...
Tests on games are just ok.
2014-04-12 02:12:25 +02:00
kaienfr
ee1d541c28
Update minor comments
2014-04-11 23:42:07 +02:00
kaienfr
3a12cf2ad7
Universal Audio Class
...
Based on my implementation in sceAac https://github.com/hrydgard/ppsspp/pull/5836
I've created a class AuCtx included in My SimpleAudioDec.cpp/.h which aims at providing a standard easy implementation to support all codecs in ffmpeg.
Here, I also completely re-code sceMp3 file with this class to give an example how to use this class, and it has solved all mp3 issues I've observed in the current master.
Tests on different freq and channels mp3 audios as:
Miku custom BGM (48kHz, stereo), Hanayaka Nari Wa ga Ichizoku(32kHz, mono, a little fast but better than before now), downstreet panic (44.1kHz, stereo), and learn jp09(44.1kHz, stero) are just all right.
Especially, I am very glad to see that Miku's Custom BGMs have no repetition issues in first tone any more and no longer stopped in the first second neither. :)
We will come into a new age to fast support new audio formats from now on I hope :P
2014-04-11 22:56:59 +02:00
kaienfr
c216b535ee
Save current changes
2014-04-11 15:09:31 +02:00
raven02
c711f76eaa
Use ctx->mp3Channels instead of setting frame.channel in case of FF incomplete frame
2014-04-10 20:48:16 +08:00
raven02
97c68de661
Parse MP3 header to correct set the channel and samplerate
2014-04-10 20:08:34 +08:00
Henrik Rydgård
f328cfe655
Merge pull request #5816 from raven02/patch-8
...
No need to init packet as 0
2014-04-09 15:01:00 +02:00
sum2012
292e9baa08
Fix Integer divide in zero in sceMp3Decode
2014-04-08 23:11:55 +08:00
raven02
619039aed6
No need to init packet as {0}
2014-04-07 19:29:57 +08:00
kaienfr
abec329e59
Mp3 file is not always have two channels
2014-04-07 03:52:43 +02:00