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
Henrik Rydgard
54d4663580
Revert "Merge pull request #5813 from raven02/patch-6"
...
This reverts commit 7b3828a9ae
, reversing
changes made to c724a6c06a
.
2014-04-06 21:09:28 +02:00
raven02
e73a49c2b2
sceMp3 : allocate audio frame
2014-04-06 20:48:57 +08:00
raven02
485b5df7cf
Remove (AVFormatContext**)
2014-04-06 17:32:28 +08:00
raven02
5b19f1d53c
Cleanup /* ... */
2014-04-05 23:25:49 +08:00
raven02
4a35c726b3
Log channel/samplerate/bitrate
2014-04-05 21:57:26 +08:00
raven02
3b793a55e2
Remove some obsolete unused code
2014-04-05 20:29:00 +08:00
raven02
b6ccd650ff
sceMp3 : use bswap32 for swapping endian
2014-04-05 15:26:22 +08:00
Unknown W. Brackets
aea26f666c
Clean up some atrac/mp3 potential leaks.
2014-03-30 15:08:38 -07:00
raven02
7577481d6e
Change it to ctx->bufferWrite %= ctx->mp3BufSize;
2014-03-29 12:37:33 +08:00
raven02
790c570e67
Fix crash and wrong mp3 playback in Downstream Panic ULUS10322
2014-03-29 12:16:57 +08:00
Unknown W. Brackets
05ab192c9c
Reduce includes in Core/HLE/.
...
Especially templates.
2014-03-15 11:22:19 -07:00
Unknown W. Brackets
c7437bbe8e
Fix some minor warnings.
2014-03-03 00:08:32 -08:00
raven02
81887cead3
Init ctx->mp3DecodedBytes/mp3SumDecodedSamples/mp3LoopNum
2014-02-15 22:50:10 +08:00
sum2012
9868734656
Add report
2014-02-15 20:20:04 +08:00
sum2012
88d1cb7016
More logging
2014-02-15 20:15:49 +08:00
sum2012
63adafd967
avoid invalid memory in sceMp3ReserveMp3Handle
...
Find in Heroes Phantasia
2014-02-15 07:28:52 +08:00
Unknown W. Brackets
21c617a7be
Correct some syscall names.
2013-12-02 23:40:16 -08:00
Unknown W. Brackets
ad8c4af936
Respect the bgm vol setting for at3, mp3, video.
2013-10-26 19:33:25 -07:00
Unknown W. Brackets
0b64c5e014
Savestate and shutdown sceMp3 properly.
...
It wasn't even being saved before.
2013-10-24 20:07:07 -07:00
Unknown W. Brackets
453628946f
Free mp3 contexts more carefully.
2013-10-24 19:18:36 -07:00
Unknown W. Brackets
9eda1fc578
Remove code to use last mp3 handle on error.
...
It was copied from mpeg, where it was added for safety, and it shouldn't
be hit anyway.
2013-10-24 19:07:24 -07:00
Henrik Rydgard
f5a63d7d41
Better fix for the UINT_64 define issue on android
2013-10-20 13:52:31 +02:00
Henrik Rydgård
9088027a29
sceMp3: Add back "wrong name" comments
2013-09-26 17:20:50 +02:00
raven02
380cc61aff
Add ERROR_LOG_REPORT for two unknown sceMp3 calls
2013-09-26 17:09:32 +08:00
raven02
0219ab2e93
Implement sceMp3ResetPlayPosition2()
2013-09-26 17:06:08 +08:00
raven02
6141514160
Support load a savestate created with a previous git build
2013-09-25 14:37:27 +08:00
raven02
368e4d93f9
Implement sceMp3GetSumDecodedSample()
2013-09-25 11:50:38 +08:00
The Dax
d102baacd0
Prep PPSSPP for Visual Studio 2013.
2013-09-17 10:27:06 -04:00
Unknown W. Brackets
0c6fbb461d
Tweak ffmpeg logging in mp3/atrac as well.
2013-09-16 08:40:38 -07:00
Unknown W. Brackets
50e9e45d65
Check version in each DoState() func.
...
They bail on PointerWrap error or bad version.
2013-09-14 20:23:03 -07:00