Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Add crc record into mpeg module
  • Loading branch information
sum2012 committed Oct 4, 2022
1 parent 95e6eaa commit bbe9c41
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 7 deletions.
4 changes: 2 additions & 2 deletions Core/HLE/sceKernelModule.cpp
Expand Up @@ -1178,7 +1178,7 @@ static PSPModule *__KernelLoadELFFromPtr(const u8 *ptr, size_t elfSize, u32 load
reportedModule = true;

if (!strcmp(head->modname, "sceMpeg_library")) {
__MpegLoadModule(ver);
__MpegLoadModule(ver, crcstring);
}
if (!strcmp(head->modname, "scePsmfP_library") || !strcmp(head->modname, "scePsmfPlayer")) {
__PsmfPlayerLoadModule(head->devkitversion);
Expand Down Expand Up @@ -1614,7 +1614,7 @@ static PSPModule *__KernelLoadELFFromPtr(const u8 *ptr, size_t elfSize, u32 load
INFO_LOG(SCEMODULE, "Loading module %s with version %04x, devkit %08x", modinfo->name, modinfo->moduleVersion, devkitVersion);

if (!strcmp(modinfo->name, "sceMpeg_library")) {
__MpegLoadModule(modinfo->moduleVersion);
__MpegLoadModule(modinfo->moduleVersion, crcstring);
}
if (!strcmp(modinfo->name, "scePsmfP_library") || !strcmp(modinfo->name, "scePsmfPlayer")) {
__PsmfPlayerLoadModule(devkitVersion);
Expand Down
17 changes: 13 additions & 4 deletions Core/HLE/sceMpeg.cpp
Expand Up @@ -258,7 +258,8 @@ struct MpegContext {
};

static bool isMpegInit;
static int mpegLibVersion;
static int mpegLibVersion = 0;
static std::string mpegLibCrcstring = "null";
static u32 streamIdGen;
static int actionPostPut;
static std::map<u32, MpegContext *> mpegMap;
Expand Down Expand Up @@ -403,7 +404,7 @@ void __MpegInit() {
}

void __MpegDoState(PointerWrap &p) {
auto s = p.Section("sceMpeg", 1, 3);
auto s = p.Section("sceMpeg", 1, 4);
if (!s)
return;

Expand All @@ -421,7 +422,14 @@ void __MpegDoState(PointerWrap &p) {
ringbufferPutPacketsAdded = 0;
} else {
Do(p, ringbufferPutPacketsAdded);
}
if (s < 4) {
mpegLibCrcstring = "null";
}
else {
Do(p, mpegLibCrcstring);
}

Do(p, streamIdGen);
Do(p, mpegLibVersion);
}
Expand All @@ -440,8 +448,9 @@ void __MpegShutdown() {
mpegMap.clear();
}

void __MpegLoadModule(int version) {
void __MpegLoadModule(int version,std::string crcstr) {
mpegLibVersion = version;
mpegLibCrcstring = crcstr;
}

static u32 sceMpegInit() {
Expand All @@ -450,7 +459,7 @@ static u32 sceMpegInit() {
// TODO: Need to properly hook module load/unload for this to work right.
//return ERROR_MPEG_ALREADY_INIT;
} else {
INFO_LOG(ME, "sceMpegInit()");
INFO_LOG(ME, "sceMpegInit(), mpegLibVersion 0x%0x, mpegLibcrc %s", mpegLibVersion, mpegLibCrcstring.c_str());
}
isMpegInit = true;
return hleDelayResult(0, "mpeg init", 750);
Expand Down
2 changes: 1 addition & 1 deletion Core/HLE/sceMpeg.h
Expand Up @@ -79,7 +79,7 @@ void __MpegInit();
void __MpegDoState(PointerWrap &p);
void __MpegShutdown();

void __MpegLoadModule(int version);
void __MpegLoadModule(int version,std::string crcstr);

void Register_sceMpeg();

Expand Down

0 comments on commit bbe9c41

Please sign in to comment.