Commit Graph

611 Commits

Author SHA1 Message Date
Unknown W. Brackets
7287da38cb Fix buffer queue when filled in one shot.
It would mod by the size and think it was empty, even though it had plenty
of data.  This could happen if a game creates a ringbuffer with 512
packets and then does a single put operation with 512 packets.

Such behavior is rare though, since it will cause lag in starting the
video.
2014-01-10 16:13:34 -08:00
Henrik Rydgard
ddfdeb2222 VAGADPCM: no need to check end_ for every sample, it's only modified in DecodeBlock (and Start). 2014-01-04 11:01:44 +01:00
Unknown W. Brackets
936f34a6b7 Check the audio buffer size just in case.
This way we definitely won't overfill it.
2014-01-04 01:25:42 -08:00
Henrik Rydgard
0de71f27cb Optimize the VAGADPCM decoder. 2014-01-04 01:59:20 +01:00
Unknown W. Brackets
4e929764c8 Set the audio/video streams per sceMpegGet*Au().
This fixes #2226, thanks to @raven02 for finding the issue.  Could also
help e.g. Xyanide: Resurrection and a few other games.

The video codec change path is not super well tested, because I couldn't
find a game that triggered it, but it should work.
2014-01-03 09:29:37 -08:00
Unknown W. Brackets
82a7680bab Remove the 5 packet min for openContext.
Should be safer, and with retrying, it's no longer necessary.
2014-01-01 21:00:29 -08:00
Unknown W. Brackets
2c38805791 Retry opening the context if it fails at first.
This fixes #4550, the hang on the crash video in FF4.
2014-01-01 20:47:10 -08:00
Unknown W. Brackets
c1dcebce07 Fix savestates when videos are playing. 2014-01-01 20:44:51 -08:00
Unknown W. Brackets
ce7c5e0cf9 Initialize m_decodingsize to 0.
Fixes #4609, intermittent video issues in Lunar.
_PsmfPlayerFillRingbuffer() expects getRemainSize() to return something
useful even before the context is opened.
2014-01-01 15:14:22 -08:00
Unknown W. Brackets
f14361c3b8 Add a bunch more missing cstring includes. 2013-12-30 21:37:19 -08:00
Henrik Rydgård
00c32ddadb Mostly get rid of including "Globals.h" 2013-12-30 10:17:11 +01:00
Henrik Rydgård
79ff2f0ba8 Start untangling our include mess a little. 2013-12-29 23:34:45 +01:00
Unknown W. Brackets
8e797796e5 Wait for only 5 frames before seeking mpegs.
Workaround for Mana Khemia, ugh... must be more complex logic.  Valkyrie
Profile still works.
2013-12-17 02:00:57 -08:00
Unknown W. Brackets
3204ec94fb Forget video end when more packets are added.
Good for looping videos, for example Burnout.
2013-12-14 11:33:32 -08:00
Unknown W. Brackets
20b81ef552 Don't try to seek the video with too few packets.
Conservatively we seem to need approximately 6, which any video ought to
be longer than.
2013-12-14 11:18:08 -08:00
Unknown W. Brackets
ae0560a1db Ignore bad video decode addresses.
Instead of crashing, even if that's more fun.
2013-12-11 08:21:01 -08:00
Henrik Rydgard
2c9a1123f0 Fix audio regression: Don't "WalkCurve" on state OFF 2013-11-17 23:13:30 +01:00
Henrik Rydgard
b30495c8e8 Reapply the "duration" SasAudio optimization. 2013-11-17 16:49:43 +01:00
Henrik Rydgard
5f51432de7 Revert "More minor SasAudio optimizations"
Will reapply later in pieces.

This reverts commit cd251af345.
2013-11-17 16:46:26 +01:00
Henrik Rydgård
4a89e2e74f Add "Dump frame GPU commands" to the "in-game" dev menu too. 2013-11-15 16:49:13 +01:00
Henrik Rydgård
cd251af345 More minor SasAudio optimizations 2013-11-15 12:28:16 +01:00
Henrik Rydgård
21006dc6a7 SasAudio: Compute envelope duration on state changes only. 2013-11-15 12:05:10 +01:00
Sacha
3e762f2864 Make !USE_FFMPEG savestates compatible. 2013-11-12 18:06:43 +10:00
Sacha
efad755ccc Buildfix !USE_FFMPEG 2013-11-12 17:52:43 +10:00
Unknown W. Brackets
879060f008 Use a CORE_POWERUP state when starting.
Otherwise, we could startup in CORE_POWERDOWN in a second game, which is
confusing.
2013-11-09 23:07:52 -08:00