Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix corrupted keyframes in several games #5044

Merged
merged 1 commit into from
Jan 18, 2014
Merged

Fix corrupted keyframes in several games #5044

merged 1 commit into from
Jan 18, 2014

Conversation

dbz400
Copy link
Contributor

@dbz400 dbz400 commented Jan 7, 2014

No description provided.

@unknownbrackets
Copy link
Collaborator

Hmm, I'm not sure about the way this sets the status back and stuff...

-[Unknown]

@dbz400
Copy link
Contributor Author

dbz400 commented Jan 8, 2014

I'm not pretty sure as well .Anway , it may help #2705

@hrydgard
Copy link
Owner

hrydgard commented Jan 8, 2014

How much testing has this got with other games? Does it match the unit tests (if it's covered)?

@unknownbrackets
Copy link
Collaborator

I think the real issue is that sceMpegGetAtracAu and sceMpegGetAvcAu should (sometimes?) return PSP_ERROR_MPEG_NO_DATA for the first couple of calls, but I don't think that should affect the init value.

From what I understand, returning PSP_ERROR_MPEG_NO_DATA in sceMpegGetAtracAu can fix Obscure: The Aftermath, but the trick is finding the correct case for it to.

-[Unknown]

@thedax
Copy link
Collaborator

thedax commented Jan 8, 2014

This seems to fix Project Diva 2nd's corrupt keyframes as well.

@unknownbrackets
Copy link
Collaborator

Again, I don't think this affects the initAddr. I do think the first few calls to sceMpegGetAtracAu return that error though, but I think there's more to it.

-[Unknown]

@dbz400
Copy link
Contributor Author

dbz400 commented Jan 10, 2014

This commit should fix the corrupted keyframes in #4725 as well .

@dbz400
Copy link
Contributor Author

dbz400 commented Jan 18, 2014

Just tested this , it also fixes Project Diva Extend as well

screen00374

@dbz400
Copy link
Contributor Author

dbz400 commented Jan 18, 2014

@hrydgard , okay to merge for this one ?

@hrydgard
Copy link
Owner

It looks a little sketchy but alright, let's try it. Will revert if it breaks anything.

hrydgard added a commit that referenced this pull request Jan 18, 2014
Fix corrupted keyframes in several games
@hrydgard hrydgard merged commit f460f34 into hrydgard:master Jan 18, 2014
@Cavad
Copy link

Cavad commented Jan 18, 2014

Ugh this is terrible. Someone please tell me the status bar will be fixed soon. It makes playing on Iphone very difficult and distracting.

@hrydgard
Copy link
Owner

@Cavad, I don't understand your comment. What status bar? What does it have to do with this fix?

@Cavad
Copy link

Cavad commented Jan 18, 2014

Yep. After updating my emulator today on my Iphone 5S the status bar with time and battery life and etc. keeps itself in the upper part of the screen. Before this update that didn't happen and emulator hid that bar itself.

@hrydgard
Copy link
Owner

Still is not likely to have anything to do with this commit in particular, must be one in between. I have no idea which one though, haven't seen any iOS-related changes recently.

Either way iOS is not an officially supported platform so we'll just have to hope that the people maintaining the port will figure it out and fix it, I can't.

@brujo5
Copy link

brujo5 commented Jan 19, 2014

#4957

@hrydgard
Copy link
Owner

Okay, so do we revert or not? That is the question. Fixes some things, breaks some things, as is usual with this type of not-properly-unit-tested changes.

@thedax
Copy link
Collaborator

thedax commented Jan 21, 2014

Well, if it's actually stopped games from booting/working at all, I'd say the solution is to revert it; corrupted keyframes are better than breaking games..

@unknownbrackets
Copy link
Collaborator

I thought I read somewhere that this change helped some game work, but I'm not sure.

My basic assumption on how this should actually work is that "mpeg no data" probably/maybe ought to be returned when the ringbuffer doesn't contain sufficient data to produce a frame. For example, let's say games that fill 4 packets at a time expect to get no data the first few times, whereas games that fill 32 packets at a time might expect to get frames right away. Except that's just broad strokes.

But I'm not really sure. Possibly it's the meaning of "initAddr" instead (even if the never-been-wrong-before PSPSDK says otherwise), but all this needs a lot of testing.

-[Unknown]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants