rpcsx/ps3fw/cellVideoUpload.cpp
DH 62ad27d1e2 split rpcs3 and hle libraries
merge rpcs3 utilities
2025-04-08 19:46:57 +03:00

55 lines
1.6 KiB
C++

#include "stdafx.h"
#include "Emu/Cell/PPUModule.h"
#include "cellVideoUpload.h"
#include "cellSysutil.h"
LOG_CHANNEL(cellVideoUpload);
template <>
void fmt_class_string<CellVideoUploadError>::format(std::string& out, u64 arg)
{
format_enum(out, arg, [](auto error)
{
switch (error)
{
STR_CASE(CELL_VIDEO_UPLOAD_ERROR_CANCEL);
STR_CASE(CELL_VIDEO_UPLOAD_ERROR_NETWORK);
STR_CASE(CELL_VIDEO_UPLOAD_ERROR_SERVICE_STOP);
STR_CASE(CELL_VIDEO_UPLOAD_ERROR_SERVICE_BUSY);
STR_CASE(CELL_VIDEO_UPLOAD_ERROR_SERVICE_UNAVAILABLE);
STR_CASE(CELL_VIDEO_UPLOAD_ERROR_SERVICE_QUOTA);
STR_CASE(CELL_VIDEO_UPLOAD_ERROR_ACCOUNT_STOP);
STR_CASE(CELL_VIDEO_UPLOAD_ERROR_OUT_OF_MEMORY);
STR_CASE(CELL_VIDEO_UPLOAD_ERROR_FATAL);
STR_CASE(CELL_VIDEO_UPLOAD_ERROR_INVALID_VALUE);
STR_CASE(CELL_VIDEO_UPLOAD_ERROR_FILE_OPEN);
STR_CASE(CELL_VIDEO_UPLOAD_ERROR_INVALID_STATE);
}
return unknown;
});
}
error_code cellVideoUploadInitialize(vm::cptr<CellVideoUploadParam> pParam, vm::ptr<CellVideoUploadCallback> cb, vm::ptr<void> 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<char[]> 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;
}
DECLARE(ppu_module_manager::cellVideoUpload)("cellVideoUpload", []()
{
REG_FUNC(cellVideoUpload, cellVideoUploadInitialize);
});