diff --git a/rpcs3/Emu/Cell/Modules/cellVideoUpload.cpp b/rpcs3/Emu/Cell/Modules/cellVideoUpload.cpp index 80dd8a0b62..54de45608e 100644 --- a/rpcs3/Emu/Cell/Modules/cellVideoUpload.cpp +++ b/rpcs3/Emu/Cell/Modules/cellVideoUpload.cpp @@ -2,13 +2,24 @@ #include "Emu/Cell/PPUModule.h" #include "cellVideoUpload.h" +#include "cellSysutil.h" logs::channel cellVideoUpload("cellVideoUpload"); -s32 cellVideoUploadInitialize(vm::cptr pParam, vm::ptr cb, vm::ptr userdata) +error_code cellVideoUploadInitialize(vm::cptr pParam, vm::ptr cb, vm::ptr userdata) { cellVideoUpload.todo("cellVideoUploadInitialize(pParam=*0x%x, cb=*0x%x, userdata=*0x%x)", pParam, cb, userdata); + sysutil_register_cb([=](ppu_thread& ppu) -> s32 + { + vm::var pResultURL(128); + + cb(ppu, CELL_VIDEO_UPLOAD_STATUS_INITIALIZED, CELL_OK, pResultURL, userdata); + cb(ppu, CELL_VIDEO_UPLOAD_STATUS_FINALIZED, CELL_OK, pResultURL, userdata); + + return CELL_OK; + }); + return CELL_OK; } diff --git a/rpcs3/Emu/Cell/Modules/cellVideoUpload.h b/rpcs3/Emu/Cell/Modules/cellVideoUpload.h index 9abc051b9f..f57eb912b3 100644 --- a/rpcs3/Emu/Cell/Modules/cellVideoUpload.h +++ b/rpcs3/Emu/Cell/Modules/cellVideoUpload.h @@ -1,7 +1,5 @@ #pragma once -namespace vm { using namespace ps3; } - struct CellVideoUploadOption { be_t type; @@ -11,27 +9,27 @@ struct CellVideoUploadOption struct CellVideoUploadParam { be_t siteID; - vm::bcptr pFilePath; + vm::ps3::bcptr pFilePath; union { struct { - vm::bcptr pClientId; - vm::bcptr pDeveloperKey; - vm::bcptr pTitle_UTF8; - vm::bcptr pDescription_UTF8; - vm::bcptr pKeyword_1_UTF8; - vm::bcptr pKeyword_2_UTF8; - vm::bcptr pKeyword_3_UTF8; + vm::ps3::bcptr pClientId; + vm::ps3::bcptr pDeveloperKey; + vm::ps3::bcptr pTitle_UTF8; + vm::ps3::bcptr pDescription_UTF8; + vm::ps3::bcptr pKeyword_1_UTF8; + vm::ps3::bcptr pKeyword_2_UTF8; + vm::ps3::bcptr pKeyword_3_UTF8; u8 isPrivate; u8 rating; } youtube; } u; be_t numOfOption; - vm::bptr pOption; + vm::ps3::bptr pOption; }; -typedef void(CellVideoUploadCallback)(s32 status, s32 errorCode, vm::cptr pResultURL, vm::ptr userdata); +using CellVideoUploadCallback = void(s32 status, s32 errorCode, vm::ps3::cptr pResultURL, vm::ps3::ptr userdata); enum { @@ -59,3 +57,9 @@ enum CELL_VIDEO_UPLOAD_ERROR_FILE_OPEN = 0x8002d023, CELL_VIDEO_UPLOAD_ERROR_INVALID_STATE = 0x8002d024 }; + +enum +{ + CELL_VIDEO_UPLOAD_STATUS_INITIALIZED = 1, + CELL_VIDEO_UPLOAD_STATUS_FINALIZED = 2 +};