Commit graph

372 commits

Author SHA1 Message Date
Unknown W. Brackets
face527d7e Atrac: Correct remaining values when looping.
Otherwise it was going negative, which was wrong.
2016-01-17 13:22:12 -08:00
Unknown W. Brackets
63aa4291eb Atrac: Fix savestates.
Darn, totally forgot.  This should populate acceptable values for old
streamed atrac as well.
2016-01-17 10:05:15 -08:00
Henrik Rydgård
b2140d73e7 Merge pull request #8435 from unknownbrackets/atrac-stream
Calculate stream data info a bit more accurately
2016-01-17 10:30:09 +01:00
Unknown W. Brackets
849df69690 Atrac: Simplify lowlevel init more. 2016-01-16 23:12:12 -08:00
Unknown W. Brackets
a686ca69fd Atrac: Simplify lowlevel decoding.
No need for all these variables that just spin and do nothing.
2016-01-16 23:03:22 -08:00
Unknown W. Brackets
a4d875cd2a Atrac: Stop generating headers in lowlevel. 2016-01-16 22:46:24 -08:00
Unknown W. Brackets
45e6f9e9b7 Atrac: Fix lowlevel jointStereo usage.
Seems this value is supposed to be (channels << 3) form the lowlevel code,
which is believable.  FFmpeg skips it anyway.

Also, need to set the flag so it gets used.
2016-01-16 22:35:39 -08:00
Unknown W. Brackets
4e20b61d3a Atrac: Fix some confusing variable use in lowlevel. 2016-01-16 22:35:13 -08:00
Unknown W. Brackets
53e990e116 Atrac: Fix a leak from an unused var. 2016-01-16 22:34:45 -08:00
Unknown W. Brackets
a2417b4779 Atrac: Ensure correct fileoffset when adding data.
If we looped, especially in the middle or toward the end, this ensures the
data ends up in the correct place in our larger buffer.
2016-01-16 18:36:22 -08:00
Unknown W. Brackets
e41a1f476f Atrac: Simulate ringbuffer for writable bytes.
Ringbuffer is not actually read from PSP RAM, and there are a couple
inaccuracies, but this should be a lot better than before.
2016-01-16 18:34:44 -08:00
Unknown W. Brackets
23523a2fdc Atrac: Add missing output channels for AA3.
Although, default was 2 so this shouldn't change anything.
2016-01-16 18:10:57 -08:00
Unknown W. Brackets
d3ee48a770 Atrac: Make buffer init functions more consistent. 2016-01-16 18:10:35 -08:00
Henrik Rydgård
067095e2b4 Merge pull request #8410 from latot/mini
little changes
2016-01-17 00:44:07 +01:00
Unknown W. Brackets
cf9cb798fc Atrac: Remove unused variables, cleanup some names. 2016-01-16 14:47:07 -08:00
Unknown W. Brackets
aac603534a Reset failedDecode when the game sets new data.
Should not last forever.
2016-01-16 14:01:12 -08:00
Unknown W. Brackets
d97dfac594 Atrac: Log bad data more consistently.
Let's always give the HLE func in the actual error.
2016-01-16 13:59:38 -08:00
Unknown W. Brackets
7c07922076 Atrac: Clean up some logging. 2016-01-16 13:44:54 -08:00
latot
e82620c572 remove
remove
2016-01-16 09:32:39 -03:00
Unknown W. Brackets
d3da6d8c6e Atrac: Validate second buffer on reset position. 2016-01-12 00:19:35 -08:00
Unknown W. Brackets
a317b10777 Atrac: Keep track of the set second buffer.
Not actually used yet, but this way our context/etc. can be right.
2016-01-12 00:19:34 -08:00
Unknown W. Brackets
40bd31f50b Atrac: Request second buffer data.
It's not used, but at least we ask for it properly.
2016-01-12 00:19:33 -08:00
Unknown W. Brackets
397094651c Atrac: Skip copying to data_buf when unused. 2016-01-12 00:19:33 -08:00
Unknown W. Brackets
b29e856055 Atrac: Remove some unused calculations.
Halfway buffers now always calculate writableBytes realtime.
2016-01-12 00:19:32 -08:00
latot
53ac6d98d8 Little things
back 1

other little change, join 2 in 1
2016-01-09 20:44:02 -03:00
Unknown W. Brackets
4fac4d364e Atrac: Read non-streamed data from PSP RAM.
This should fix games that don't actually read into the RAM right away,
which is probably "incorrect" but works on the PSP, should should work in
PPSSPP.
2016-01-02 13:20:17 -08:00
Unknown W. Brackets
f0551b4591 Atrac: Add a flag to use PSP RAM (not yet used.) 2016-01-02 13:20:17 -08:00
Unknown W. Brackets
d0c7cc85de Atrac: Update writableBytes/offset on adding data.
It should go in these places, even if GetStreamDataInfo is not called.
2016-01-02 13:20:16 -08:00
Unknown W. Brackets
2df6d7700e Atrac: Refactor out some common validation.
This seems to be happening a lot.
2016-01-02 13:20:15 -08:00
Unknown W. Brackets
1b6dbd45e7 Atrac: Get stream info right for half/full buffers.
Improve it a bit for streamed buffers, but it's still not quite right.
2016-01-02 13:20:15 -08:00
Unknown W. Brackets
e60dc24d29 Atrac: Update some comments/docs on buffers. 2016-01-02 13:20:14 -08:00
Unknown W. Brackets
959015f823 Atrac: Correct typo. 2016-01-02 13:16:22 -08:00
Unknown W. Brackets
96d5e10549 Atrac: Seek ahead only one frame at end.
If it had a partial ending frame, it should go ahead one frame, not one
frame plus the partial ending.
2016-01-02 11:13:48 -08:00
Unknown W. Brackets
85ff5eb68a Atrac: Adjust reads a bit earlier when skipping.
The frames we initially get may not start at 0, depending on how many
frames we're skipping.  Of course...
2016-01-02 11:13:09 -08:00
Unknown W. Brackets
6fe5fe07a4 Atrac: Revert broken seeking fix.
This wasn't the right solution to getting the right packets.
2016-01-02 11:12:35 -08:00
Unknown W. Brackets
182d281750 Atrac: Move currentSample on finish.
This seems to be what happens, and allows remaining frames to calculate
properly in some cases where it wasn't before.
2016-01-01 11:34:56 -08:00
Unknown W. Brackets
f88a82e0a6 Atrac: Respect null output even in fail workaround. 2016-01-01 11:34:33 -08:00
Unknown W. Brackets
dafb15d96e Atrac: Clamp packets to valid data.
In case we don't have full valid data yet, return only the part of the
data that is valid.  This allows FFmpeg to decode data it already has, as
necessary.
2016-01-01 11:33:48 -08:00
Unknown W. Brackets
cdca0492a4 Atrac: Update fileoffset handling per tests.
This accounts for the extra offset value.
2016-01-01 11:33:19 -08:00
Unknown W. Brackets
55e450fb1e Atrac: Fix a typo in loop handling. 2016-01-01 10:41:21 -08:00
Unknown W. Brackets
2eb960a3ce Atrac: remove double-read. 2016-01-01 10:24:52 -08:00
Unknown W. Brackets
448e18fba9 Atrac: Backfill buffer when seeking anywhere.
This corrects the output of sample data when seeking to arbitrary
locations.  Otherwise, it's off for a frame or two.
2016-01-01 10:24:18 -08:00
Yoshi Sugawara
746ccfc215 changed order of freeing codex context pointer for older versions of ffmpeg 2015-12-29 13:30:15 -05:00
Yoshi Sugawara
08cc02d11e removed spacing around pCodecCtx conditional check, added else clause to log that it was NULL when it was not expected to be 2015-12-29 10:54:43 -05:00
Yoshi Sugawara
4d2313ed9f fixed indenting from soft spaces to hard tabs 2015-12-29 04:23:41 -05:00
Yoshi Sugawara
73c04e59fa [iOS]: prevent crashing (EXC_BAD_ACCESS) when releasing FFMPEG context by adding NULL check on codec context pointer 2015-12-28 21:43:11 -05:00
Unknown W. Brackets
103b959d50 Fix a type comparison warning. 2015-12-23 15:22:13 -08:00
Henrik Rydgård
99b7741b96 Merge pull request #8194 from unknownbrackets/atrac-remaining
Atrac: Correct outputs of sceAtracGetSoundSample()
2015-11-09 18:46:46 +01:00
Unknown W. Brackets
c1d59f263a Atrac: Ignore the loopNum value for SAS streams.
It seems like this is ignored, and games overwrite it with the voice
number and expect it not to change.
2015-11-09 08:23:45 -08:00
Unknown W. Brackets
21fd209f0e Atrac: Correct outputs of sceAtracGetSoundSample().
Without these being correct (especially without loopEnd vs. endSample
being correct), Toukiden Kiwami doesn't play background music.
2015-11-08 19:55:28 -08:00