Commit Graph
160 Commits
Author SHA1 Message Date
Unknown W. Brackets 27fbf4c90e Don't return video/audio the first couple frames.
Fixes issues where games don't expect audio to be written to the display
buffer for the first couple games.  Reported to fix #5416.
2014-04-27 13:02:03 -07:00
Unknown W. Brackets f9a81c8691 Allow smaller psmfplayer buffer sizes.
Some libpsmfplayer.prx libraries allow smaller.
2014-04-27 10:25:51 -07:00
Unknown W. Brackets 647d6c0960 Invalidate when writing video image.
It is required to update the framebuffer, of course.  Fixes Dead or Alive
video flicker.
2014-04-27 08:23:42 -07:00
Unknown W. Brackets d92650ee42 Improve scePsmfPlayer*Data() timing.
Instead of blocking, video should just return old data if called too
often.  Fixes #5910.
2014-04-25 23:48:13 -07:00
Unknown W. Brackets a5b2adfff5 Add errors for getting and changing the playmode.
And reporting.  Also, correct the default playMode for unset psmfplayers.
2014-04-25 21:00:24 -07:00
Unknown W. Brackets 9b4f8b1a99 Attempt scePsmfPlayerSelectSpecific*().
These functions seem buggy on a real PSP... and they return a weird
variety of error codes.
2014-04-22 08:07:49 -07:00
Unknown W. Brackets 891764d8ee Make scePsmfPlayerSelect*() actually switch.
Don't have any games actually using this, so let's report too.  Audio is
falsely working when the stream isn't playable, not exactly sure the best
way to detect that.
2014-04-22 08:07:49 -07:00
Unknown W. Brackets 56673d3737 Fix overflow in scePsmfPlayerGetCurrent*Stream().
And clean up the returned error codes.
2014-04-22 08:07:48 -07:00
Unknown W. Brackets 818d8cb894 Validate psmfplayer config params, reset on create.
Could fix issues if a game uses different pixel modes or more likely
different loop modes.
2014-04-22 08:07:48 -07:00
Unknown W. Brackets 9d5fb217b9 Correct errors in scePsmfPlayerGetPsmfInfo(). 2014-04-20 13:48:45 -07:00
Unknown W. Brackets 65ec567ac6 Correct the results of scePsmfPlayerGetPsmfInfo().
Not sure of the other field yet, probably PCM?
2014-04-20 12:19:08 -07:00
Unknown W. Brackets fc2b105406 Detect bad data in scePsmfPlayerSetPsmf*(), report.
Not returning an error code here for now to be safe.
2014-04-20 09:22:53 -07:00
Unknown W. Brackets 414b846508 Validate params in scePsmfPlayerSetPsmf*().
Also, properly swap offset/size on BE.
2014-04-20 08:46:45 -07:00
Unknown W. Brackets 049938202c Allow using a copy of a psmfplayer handle.
Since this works on the PSP.  Games do it with mpeg for sure, maybe with
psmfplayer as well?
2014-04-20 08:22:51 -07:00
Unknown W. Brackets b9711db99a Correct scePsmfPlayerSetTempBuf() error codes.
And rename error code, since it's more about invalid status than being not
initialized yet (it's returned even if it the status has advanced.)
2014-04-20 08:20:58 -07:00
Unknown W. Brackets fb82310c9a Correct scePsmfPlayerCreate() based on tests.
Mostly error codes.  Report duplicates which don't work on the PSP.
2014-04-20 00:25:48 -07:00
Unknown W. Brackets c6f52db194 Fix some scePsmf leaks. 2014-03-30 13:14:17 -07:00
Unknown W. Brackets 05ab192c9c Reduce includes in Core/HLE/.
Especially templates.
2014-03-15 11:22:19 -07:00
lioncash b9886942a7 Fix some vertical alignments in misc Core source files. 2014-03-03 11:16:53 -05:00
Unknown W. Brackets 87a07d7355 Workaround bug in Kurohyou 2 (uninitialized data.)
The game calls scePsmfGetEPWithTimestamp(), but without any chapters.
This means nothing is written to its pointer.  But it takes the value
there anyway.

It happens that the value there is 0, but only because something wrote it
to the stack before the call.  It seems like scePsmfVerifyPsmf() is the
one writing it, since it has a different value shortly before that call.

So, as a workaround, just write some 0s into the stack.  Games without
bugs should not care.  Hard to predict what will happen to another buggy
game.
2014-03-02 01:22:25 -08:00
raven02 6888ea8d79 Typo fix 2014-03-02 15:12:50 +08:00
chinhodado 4f7a7d9434 remove a check that is always false 2014-02-25 00:22:52 -05:00
raven02 a5c107e5d1 Code cleanup scePsmf 2014-02-16 23:21:32 +08:00
raven02 cc10d43c53 Remove unconfirmed STANDBY changes 2014-02-15 18:38:38 +08:00
raven02 c4a9952449 Remove duplicate Memset 2014-02-15 18:37:34 +08:00
raven02 7d9f1ff57a Move memset up so it's always done 2014-02-15 18:15:44 +08:00
raven02 01ff295031 Check PSMF_PLAYER_STATUS_STANDBY status to return not init error 2014-02-15 18:07:19 +08:00
raven02 5a71ec678c Clear the audio when paused 2014-02-15 17:49:35 +08:00
Henrik Rydgård b5dc7b4688 Merge pull request #5443 from raven02/patch-21
scePsmf : add pause mode (PSMF_PLAYER_MODE_PAUSE)
2014-02-14 13:29:33 +01:00
raven02 7fbee7bb19 Typo fix 2014-02-14 18:45:12 +08:00
raven02 69690a0fe1 scePsmf : add pause mode (PSMF_PLAYER_MODE_PAUSE) 2014-02-14 10:43:53 +08:00
raven02 8b19ebc6d8 scePsmf(): check not initialized status 2014-02-14 10:19:38 +08:00
sum2012 b0d87a13c2 Add scePsmfPlayerStop and scePsmfPlayerReleasePsmf error code
Find in #5416
The game still not fix.
2014-02-13 20:22:56 +08:00
Henrik Rydgård 5fa6a947d9 Merge pull request #5349 from raven02/patch-10
Code cleanup scePsmf
2014-02-13 11:21:36 +01:00
sum2012 f5a5c4bd08 Add scePsmfPlayerGetVideoData and scePsmfPlayerGetAudioData log information 2014-02-12 23:32:05 +08:00
raven02 78f980e1c3 Add __isPlayingStatus() check 2014-02-09 23:24:33 +08:00
raven02 2321d4c19c Code cleanup scePsmf 2014-02-06 22:11:26 +08:00
raven02 a71039351f Set pts/dts as -1 when psmfplayer->mediaengine->IsVideoEnd() 2014-02-04 22:49:37 +08:00
sum2012 d37100b30a Correct scePsmfPlayerBreak psmfplayer status
Fix everybody stress buster
2014-01-28 19:13:59 +08:00
sum2012 3af056f459 Update scePsmfPlayerGetAudioOutSize log 2014-01-28 17:02:38 +08:00
Henrik Rydgard ef56298ab6 Revert "Merge pull request #5106 from shenweip/patch-1"
This reverts commit 91a355b642, reversing
changes made to 82395001ec.
2014-01-14 19:31:09 +01:00
shenweip 3773122316 Tell media engine to change channel when psmf specifi stream. 2014-01-15 00:17:00 +08:00
Unknown W. Brackets 4a4f89eeac Correctly read the epmap from the right place. 2014-01-10 12:57:40 -08:00
raven02 c2e6f77a2f Check EPMap and return ERROR_PSMF_NOT_FOUND if empty 2014-01-10 19:15:35 +08:00
raven02 898964e415 Typo fix 2014-01-09 22:34:02 +08:00
raven02 451797af92 Add ERROR_LOG for invalid id and timestamps 2014-01-09 21:37:01 +08:00
raven02 9ac8c63d96 Make more sense to use return as ERROR_PSMF_INVALID_ID 2014-01-09 21:30:49 +08:00
Henrik Rydgård c176d09ba6 Fix a few range checks in scePsmf. See #5051 2014-01-08 14:20:20 +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
Unknown W. Brackets f095ac656b Don't completely fill the psmf ringbuffer at once.
It takes more time (slowing the start of the video), and gets us closer to
overflowing buffers and stuff.
2014-01-04 01:23:44 -08:00