2014-07-12 09:46:14 +02:00
|
|
|
#include "stdafx.h"
|
2014-08-02 10:20:48 +02:00
|
|
|
#include "Emu/Memory/Memory.h"
|
|
|
|
|
#include "Emu/SysCalls/Modules.h"
|
2014-12-24 19:47:56 +01:00
|
|
|
#include "Emu/FS/vfsFile.h"
|
2014-08-24 00:34:04 +02:00
|
|
|
|
2014-08-02 10:20:48 +02:00
|
|
|
#include "cellSail.h"
|
2014-12-24 19:47:56 +01:00
|
|
|
#include "cellPamf.h"
|
2014-08-02 10:20:48 +02:00
|
|
|
|
2015-02-18 17:22:06 +01:00
|
|
|
extern Module cellSail;
|
2013-09-28 04:36:57 +02:00
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailMemAllocatorInitialize(vm::ptr<CellSailMemAllocator> pSelf, vm::ptr<CellSailMemAllocatorFuncs> pCallbacks)
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
2015-02-18 17:22:06 +01:00
|
|
|
cellSail.Warning("cellSailMemAllocatorInitialize(pSelf_addr=0x%x, pCallbacks_addr=0x%x)", pSelf.addr(), pCallbacks.addr());
|
2014-10-17 15:20:40 +02:00
|
|
|
|
|
|
|
|
pSelf->callbacks = pCallbacks;
|
2014-12-19 12:31:52 +01:00
|
|
|
// TODO: Create a cellSail thread
|
2014-10-17 15:20:40 +02:00
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailFutureInitialize()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailFutureFinalize()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailFutureReset()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailFutureSet()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailFutureGet()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailFutureIsDone()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailDescriptorGetStreamType()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailDescriptorGetUri()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailDescriptorGetMediaInfo()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailDescriptorSetAutoSelection(vm::ptr<CellSailDescriptor> pSelf, bool autoSelection)
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
2015-02-18 17:22:06 +01:00
|
|
|
cellSail.Warning("cellSailDescriptorSetAutoSelection(pSelf_addr=0x%x, autoSelection=%s)", pSelf.addr(), autoSelection ? "true" : "false");
|
2014-10-17 15:20:40 +02:00
|
|
|
|
2014-11-15 15:45:02 +01:00
|
|
|
if (pSelf) {
|
|
|
|
|
pSelf->autoSelection = autoSelection;
|
|
|
|
|
return autoSelection;
|
|
|
|
|
}
|
2014-10-17 15:20:40 +02:00
|
|
|
|
2014-11-15 15:45:02 +01:00
|
|
|
return CELL_OK;
|
2013-09-28 04:36:57 +02:00
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailDescriptorIsAutoSelection(vm::ptr<CellSailDescriptor> pSelf)
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
2015-02-18 17:22:06 +01:00
|
|
|
cellSail.Warning("cellSailDescriptorIsAutoSelection(pSelf_addr=0x%x)", pSelf.addr());
|
2014-12-14 08:59:04 +01:00
|
|
|
|
2014-11-15 15:45:02 +01:00
|
|
|
if (pSelf)
|
|
|
|
|
return pSelf->autoSelection;
|
|
|
|
|
|
|
|
|
|
return CELL_OK;
|
2013-09-28 04:36:57 +02:00
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailDescriptorCreateDatabase(vm::ptr<CellSailDescriptor> pSelf, vm::ptr<void> pDatabase, u32 size, u64 arg)
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
2015-02-18 17:22:06 +01:00
|
|
|
cellSail.Warning("cellSailDescriptorCreateDatabase(pSelf=0x%x, pDatabase=0x%x, size=0x%x, arg=0x%x", pSelf.addr(), pDatabase.addr(), size, arg);
|
2014-12-24 19:47:56 +01:00
|
|
|
|
2014-12-24 20:03:52 +01:00
|
|
|
switch ((s32)pSelf->streamType) {
|
2014-12-24 19:47:56 +01:00
|
|
|
case CELL_SAIL_STREAM_PAMF:
|
|
|
|
|
{
|
|
|
|
|
u32 addr = pSelf->internalData[1];
|
|
|
|
|
auto ptr = vm::ptr<CellPamfReader>::make(addr);
|
|
|
|
|
memcpy(pDatabase.get_ptr(), ptr.get_ptr(), sizeof(CellPamfReader));
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
default:
|
2015-02-18 17:22:06 +01:00
|
|
|
cellSail.Error("Unhandled stream type: %d", pSelf->streamType);
|
2014-12-24 19:47:56 +01:00
|
|
|
}
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailDescriptorDestroyDatabase()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailDescriptorOpen()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailDescriptorClose()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailDescriptorSetEs()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailDescriptorClearEs()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailDescriptorGetCapabilities()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailDescriptorInquireCapability()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailDescriptorSetParameter()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailSoundAdapterInitialize()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailSoundAdapterFinalize()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailSoundAdapterSetPreferredFormat()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailSoundAdapterGetFrame()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailSoundAdapterGetFormat()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailSoundAdapterUpdateAvSync()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailSoundAdapterPtsToTimePosition()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailGraphicsAdapterInitialize()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailGraphicsAdapterFinalize()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailGraphicsAdapterSetPreferredFormat()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailGraphicsAdapterGetFrame()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailGraphicsAdapterGetFrame2()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailGraphicsAdapterGetFormat()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailGraphicsAdapterUpdateAvSync()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailGraphicsAdapterPtsToTimePosition()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailAuReceiverInitialize()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailAuReceiverFinalize()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailAuReceiverGet()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailRendererAudioInitialize()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailRendererAudioFinalize()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailRendererAudioNotifyCallCompleted()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailRendererAudioNotifyFrameDone()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailRendererAudioNotifyOutputEos()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailRendererVideoInitialize()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailRendererVideoFinalize()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailRendererVideoNotifyCallCompleted()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailRendererVideoNotifyFrameDone()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailRendererVideoNotifyOutputEos()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailSourceInitialize()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailSourceFinalize()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailSourceNotifyCallCompleted()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailSourceNotifyInputEos()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailSourceNotifyStreamOut()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailSourceNotifySessionError()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailSourceNotifyMediaStateChanged()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailSourceCheck()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailSourceNotifyOpenCompleted()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailSourceNotifyStartCompleted()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailSourceNotifyStopCompleted()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailSourceNotifyReadCompleted()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailSourceSetDiagHandler()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailSourceNotifyCloseCompleted()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailMp4MovieGetBrand()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailMp4MovieIsCompatibleBrand()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailMp4MovieGetMovieInfo()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailMp4MovieGetTrackByIndex()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailMp4MovieGetTrackById()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailMp4MovieGetTrackByTypeAndIndex()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailMp4TrackGetTrackInfo()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailMp4TrackGetTrackReferenceCount()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailMp4TrackGetTrackReference()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailMp4ConvertTimeScale()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailAviMovieGetMovieInfo()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailAviMovieGetStreamByIndex()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailAviMovieGetStreamByTypeAndIndex()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailAviMovieGetHeader()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailAviStreamGetMediaType()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailAviStreamGetHeader()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerInitialize()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerInitialize2(vm::ptr<CellSailPlayer> pSelf, vm::ptr<CellSailMemAllocator> pAllocator, vm::ptr<CellSailPlayerFuncNotified> pCallback, u64 callbackArg,
|
2014-10-17 15:20:40 +02:00
|
|
|
vm::ptr<CellSailPlayerAttribute> pAttribute, vm::ptr<CellSailPlayerResource> pResource)
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
2015-02-18 17:22:06 +01:00
|
|
|
cellSail.Warning("cellSailPlayerInitialize2(pSelf_addr=0x%x, pAllocator_addr=0x%x, pCallback=0x%x, callbackArg=%d, pAttribute_addr=0x%x, pResource=0x%x)", pSelf.addr(),
|
2014-10-17 15:20:40 +02:00
|
|
|
pAllocator.addr(), pCallback.addr(), callbackArg, pAttribute.addr(), pResource.addr());
|
|
|
|
|
|
|
|
|
|
pSelf->allocator = pAllocator;
|
|
|
|
|
pSelf->callback = pCallback;
|
|
|
|
|
pSelf->callbackArgument = callbackArg;
|
|
|
|
|
pSelf->attribute = pAttribute;
|
|
|
|
|
pSelf->resource = pResource;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerFinalize()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerRegisterSource()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerGetRegisteredProtocols()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerSetSoundAdapter()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerSetGraphicsAdapter()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerSetAuReceiver()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerSetRendererAudio()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerSetRendererVideo()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerSetParameter()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerGetParameter()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerSubscribeEvent()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerUnsubscribeEvent()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerReplaceEventHandler()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerBoot()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerAddDescriptor(vm::ptr<CellSailPlayer> pSelf, vm::ptr<CellSailDescriptor> pDesc)
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
2015-02-18 17:22:06 +01:00
|
|
|
cellSail.Warning("cellSailPlayerAddDescriptor(pSelf_addr=0x%x, pDesc_addr=0x%x)", pSelf.addr(), pDesc.addr());
|
2014-10-17 15:20:40 +02:00
|
|
|
|
2014-11-15 15:45:02 +01:00
|
|
|
if (pSelf && pSelf->descriptors < 3 && pDesc)
|
2014-10-17 15:20:40 +02:00
|
|
|
{
|
|
|
|
|
pSelf->descriptors++;
|
|
|
|
|
pSelf->registeredDescriptors[pSelf->descriptors] = pDesc;
|
|
|
|
|
pDesc->registered = true;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
2015-02-18 17:22:06 +01:00
|
|
|
cellSail.Error("Descriptor limit reached or the descriptor is unspecified! This should never happen, report this to a developer.");
|
2014-10-17 15:20:40 +02:00
|
|
|
}
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerCreateDescriptor(vm::ptr<CellSailPlayer> pSelf, s32 streamType, vm::ptr<u32> pMediaInfo, vm::cptr<char> pUri, vm::ptr<u32> ppDesc)
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
2015-02-18 17:22:06 +01:00
|
|
|
cellSail.Warning("cellSailPlayerCreateDescriptor(pSelf_addr=0x%x, streamType=%d, pMediaInfo_addr=0x%x, pUri_addr=0x%x, ppDesc_addr=0x%x)", pSelf.addr(), streamType,
|
2014-10-17 15:20:40 +02:00
|
|
|
pMediaInfo.addr(), pUri.addr(), ppDesc.addr());
|
|
|
|
|
|
2014-12-20 08:05:42 +01:00
|
|
|
u32 descriptorAddress = Memory.Alloc(sizeof(CellSailDescriptor), 1);
|
|
|
|
|
auto descriptor = vm::ptr<CellSailDescriptor>::make(descriptorAddress);
|
|
|
|
|
*ppDesc = descriptorAddress;
|
|
|
|
|
descriptor->streamType = streamType;
|
|
|
|
|
descriptor->registered = false;
|
2014-10-17 15:20:40 +02:00
|
|
|
|
2014-12-19 12:31:52 +01:00
|
|
|
//pSelf->descriptors = 0;
|
2014-10-17 15:20:40 +02:00
|
|
|
pSelf->repeatMode = 0;
|
|
|
|
|
|
2014-12-24 19:47:56 +01:00
|
|
|
switch (streamType)
|
|
|
|
|
{
|
|
|
|
|
case CELL_SAIL_STREAM_PAMF:
|
|
|
|
|
{
|
|
|
|
|
std::string uri = pUri.get_ptr();
|
|
|
|
|
if (uri.substr(0, 12) == "x-cell-fs://") {
|
|
|
|
|
std::string path = uri.substr(12);
|
|
|
|
|
vfsFile f;
|
|
|
|
|
if (f.Open(path)) {
|
|
|
|
|
u64 size = f.GetSize();
|
|
|
|
|
u32 buf_ = Memory.Alloc(size, 1);
|
2015-06-22 00:27:58 +02:00
|
|
|
auto bufPtr = vm::cptr<PamfHeader>::make(buf_);
|
2014-12-24 19:47:56 +01:00
|
|
|
PamfHeader *buf = const_cast<PamfHeader*>(bufPtr.get_ptr());
|
|
|
|
|
assert(f.Read(buf, size) == size);
|
|
|
|
|
u32 sp_ = Memory.Alloc(sizeof(CellPamfReader), 1);
|
|
|
|
|
auto sp = vm::ptr<CellPamfReader>::make(sp_);
|
|
|
|
|
u32 r = cellPamfReaderInitialize(sp, bufPtr, size, 0);
|
|
|
|
|
|
|
|
|
|
descriptor->internalData[0] = buf_;
|
|
|
|
|
descriptor->internalData[1] = sp_;
|
|
|
|
|
}
|
|
|
|
|
else
|
2015-02-18 17:22:06 +01:00
|
|
|
cellSail.Warning("Couldn't open PAMF: %s", uri.c_str());
|
2014-12-24 19:47:56 +01:00
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else
|
2015-02-18 17:22:06 +01:00
|
|
|
cellSail.Warning("Unhandled uri: %s", uri.c_str());
|
2014-12-24 19:47:56 +01:00
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
default:
|
2015-02-18 17:22:06 +01:00
|
|
|
cellSail.Error("Unhandled stream type: %d", streamType);
|
2014-12-24 19:47:56 +01:00
|
|
|
}
|
|
|
|
|
|
2015-02-18 17:22:06 +01:00
|
|
|
//cellSail.Todo("pSelf_addr=0x%x, pDesc_addr=0x%x", pSelf.addr(), descriptor.addr());
|
2014-10-17 17:14:58 +02:00
|
|
|
//cellSailPlayerAddDescriptor(pSelf, ppDesc);
|
2014-10-17 15:20:40 +02:00
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerDestroyDescriptor(vm::ptr<CellSailPlayer> pSelf, vm::ptr<CellSailDescriptor> pDesc)
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
2015-02-18 17:22:06 +01:00
|
|
|
cellSail.Todo("cellSailPlayerAddDescriptor(pSelf_addr=0x%x, pDesc_addr=0x%x)", pSelf.addr(), pDesc.addr());
|
2014-10-17 15:20:40 +02:00
|
|
|
|
|
|
|
|
if (pDesc->registered)
|
|
|
|
|
return CELL_SAIL_ERROR_INVALID_STATE;
|
|
|
|
|
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerRemoveDescriptor(vm::ptr<CellSailPlayer> pSelf, vm::ptr<CellSailDescriptor> ppDesc)
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
2015-02-18 17:22:06 +01:00
|
|
|
cellSail.Warning("cellSailPlayerAddDescriptor(pSelf_addr=0x%x, pDesc_addr=0x%x)", pSelf.addr(), ppDesc.addr());
|
2014-10-17 15:20:40 +02:00
|
|
|
|
|
|
|
|
if (pSelf->descriptors > 0)
|
|
|
|
|
{
|
|
|
|
|
ppDesc = pSelf->registeredDescriptors[pSelf->descriptors];
|
|
|
|
|
delete &pSelf->registeredDescriptors[pSelf->descriptors];
|
|
|
|
|
pSelf->descriptors--;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return pSelf->descriptors;
|
2013-09-28 04:36:57 +02:00
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerGetDescriptorCount(vm::ptr<CellSailPlayer> pSelf)
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
2015-02-18 17:22:06 +01:00
|
|
|
cellSail.Warning("cellSailPlayerGetDescriptorCount(pSelf_addr=0x%x)", pSelf.addr());
|
2014-10-17 15:20:40 +02:00
|
|
|
return pSelf->descriptors;
|
2013-09-28 04:36:57 +02:00
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerGetCurrentDescriptor()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerOpenStream()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerCloseStream()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerOpenEsAudio()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerOpenEsVideo()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerOpenEsUser()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerReopenEsAudio()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerReopenEsVideo()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerReopenEsUser()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerCloseEsAudio()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerCloseEsVideo()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerCloseEsUser()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerStart()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerStop()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerNext()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerCancel()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerSetPaused(vm::ptr<CellSailPlayer> pSelf, bool paused)
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
2015-03-07 14:39:07 +01:00
|
|
|
cellSail.Todo("cellSailPlayerSetPaused(pSelf_addr=0x%x, paused=%d)", pSelf.addr(), paused);
|
2013-09-28 04:36:57 +02:00
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerIsPaused(vm::ptr<CellSailPlayer> pSelf)
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
2015-02-18 17:22:06 +01:00
|
|
|
cellSail.Warning("cellSailPlayerIsPaused(pSelf_addr=0x%x)", pSelf.addr());
|
2014-12-14 08:59:04 +01:00
|
|
|
return pSelf->paused;
|
2013-09-28 04:36:57 +02:00
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerSetRepeatMode(vm::ptr<CellSailPlayer> pSelf, s32 repeatMode, vm::ptr<CellSailStartCommand> pCommand)
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
2015-02-18 17:22:06 +01:00
|
|
|
cellSail.Warning("cellSailPlayerSetRepeatMode(pSelf_addr=0x%x, repeatMode=%d, pCommand_addr=0x%x)", pSelf.addr(), repeatMode, pCommand.addr());
|
2014-10-17 15:20:40 +02:00
|
|
|
|
|
|
|
|
pSelf->repeatMode = repeatMode;
|
|
|
|
|
pSelf->playbackCommand = pCommand;
|
|
|
|
|
|
|
|
|
|
return pSelf->repeatMode;
|
2013-09-28 04:36:57 +02:00
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerGetRepeatMode(vm::ptr<CellSailPlayer> pSelf, vm::ptr<CellSailStartCommand> pCommand)
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
2015-02-18 17:22:06 +01:00
|
|
|
cellSail.Warning("cellSailPlayerGetRepeatMode(pSelf_addr=0x%x, pCommand_addr=0x%x)", pSelf.addr(), pCommand.addr());
|
2014-10-17 15:20:40 +02:00
|
|
|
|
|
|
|
|
pCommand = pSelf->playbackCommand;
|
|
|
|
|
|
|
|
|
|
return pSelf->repeatMode;
|
2013-09-28 04:36:57 +02:00
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerSetEsAudioMuted()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerSetEsVideoMuted()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerIsEsAudioMuted()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerIsEsVideoMuted()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerDumpImage()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-07-09 17:30:37 +02:00
|
|
|
s32 cellSailPlayerUnregisterSource()
|
2013-09-28 04:36:57 +02:00
|
|
|
{
|
|
|
|
|
UNIMPLEMENTED_FUNC(cellSail);
|
|
|
|
|
return CELL_OK;
|
|
|
|
|
}
|
|
|
|
|
|
2015-02-18 17:22:06 +01:00
|
|
|
Module cellSail("cellSail", []()
|
|
|
|
|
{
|
2015-02-20 14:58:40 +01:00
|
|
|
REG_FUNC(cellSail, cellSailMemAllocatorInitialize);
|
|
|
|
|
|
|
|
|
|
REG_FUNC(cellSail, cellSailFutureInitialize);
|
|
|
|
|
REG_FUNC(cellSail, cellSailFutureFinalize);
|
|
|
|
|
REG_FUNC(cellSail, cellSailFutureReset);
|
|
|
|
|
REG_FUNC(cellSail, cellSailFutureSet);
|
|
|
|
|
REG_FUNC(cellSail, cellSailFutureGet);
|
|
|
|
|
REG_FUNC(cellSail, cellSailFutureIsDone);
|
|
|
|
|
|
|
|
|
|
REG_FUNC(cellSail, cellSailDescriptorGetStreamType);
|
|
|
|
|
REG_FUNC(cellSail, cellSailDescriptorGetUri);
|
|
|
|
|
REG_FUNC(cellSail, cellSailDescriptorGetMediaInfo);
|
|
|
|
|
REG_FUNC(cellSail, cellSailDescriptorSetAutoSelection);
|
|
|
|
|
REG_FUNC(cellSail, cellSailDescriptorIsAutoSelection);
|
|
|
|
|
REG_FUNC(cellSail, cellSailDescriptorCreateDatabase);
|
|
|
|
|
REG_FUNC(cellSail, cellSailDescriptorDestroyDatabase);
|
|
|
|
|
REG_FUNC(cellSail, cellSailDescriptorOpen);
|
|
|
|
|
REG_FUNC(cellSail, cellSailDescriptorClose);
|
|
|
|
|
REG_FUNC(cellSail, cellSailDescriptorSetEs);
|
|
|
|
|
REG_FUNC(cellSail, cellSailDescriptorClearEs);
|
|
|
|
|
REG_FUNC(cellSail, cellSailDescriptorGetCapabilities);
|
|
|
|
|
REG_FUNC(cellSail, cellSailDescriptorInquireCapability);
|
|
|
|
|
REG_FUNC(cellSail, cellSailDescriptorSetParameter);
|
|
|
|
|
|
|
|
|
|
REG_FUNC(cellSail, cellSailSoundAdapterInitialize);
|
|
|
|
|
REG_FUNC(cellSail, cellSailSoundAdapterFinalize);
|
|
|
|
|
REG_FUNC(cellSail, cellSailSoundAdapterSetPreferredFormat);
|
|
|
|
|
REG_FUNC(cellSail, cellSailSoundAdapterGetFrame);
|
|
|
|
|
REG_FUNC(cellSail, cellSailSoundAdapterGetFormat);
|
|
|
|
|
REG_FUNC(cellSail, cellSailSoundAdapterUpdateAvSync);
|
|
|
|
|
REG_FUNC(cellSail, cellSailSoundAdapterPtsToTimePosition);
|
|
|
|
|
|
|
|
|
|
REG_FUNC(cellSail, cellSailGraphicsAdapterInitialize);
|
|
|
|
|
REG_FUNC(cellSail, cellSailGraphicsAdapterFinalize);
|
|
|
|
|
REG_FUNC(cellSail, cellSailGraphicsAdapterSetPreferredFormat);
|
|
|
|
|
REG_FUNC(cellSail, cellSailGraphicsAdapterGetFrame);
|
|
|
|
|
REG_FUNC(cellSail, cellSailGraphicsAdapterGetFrame2);
|
|
|
|
|
REG_FUNC(cellSail, cellSailGraphicsAdapterGetFormat);
|
|
|
|
|
REG_FUNC(cellSail, cellSailGraphicsAdapterUpdateAvSync);
|
|
|
|
|
REG_FUNC(cellSail, cellSailGraphicsAdapterPtsToTimePosition);
|
|
|
|
|
|
|
|
|
|
REG_FUNC(cellSail, cellSailAuReceiverInitialize);
|
|
|
|
|
REG_FUNC(cellSail, cellSailAuReceiverFinalize);
|
|
|
|
|
REG_FUNC(cellSail, cellSailAuReceiverGet);
|
|
|
|
|
|
|
|
|
|
REG_FUNC(cellSail, cellSailRendererAudioInitialize);
|
|
|
|
|
REG_FUNC(cellSail, cellSailRendererAudioFinalize);
|
|
|
|
|
REG_FUNC(cellSail, cellSailRendererAudioNotifyCallCompleted);
|
|
|
|
|
REG_FUNC(cellSail, cellSailRendererAudioNotifyFrameDone);
|
|
|
|
|
REG_FUNC(cellSail, cellSailRendererAudioNotifyOutputEos);
|
|
|
|
|
|
|
|
|
|
REG_FUNC(cellSail, cellSailRendererVideoInitialize);
|
|
|
|
|
REG_FUNC(cellSail, cellSailRendererVideoFinalize);
|
|
|
|
|
REG_FUNC(cellSail, cellSailRendererVideoNotifyCallCompleted);
|
|
|
|
|
REG_FUNC(cellSail, cellSailRendererVideoNotifyFrameDone);
|
|
|
|
|
REG_FUNC(cellSail, cellSailRendererVideoNotifyOutputEos);
|
|
|
|
|
|
|
|
|
|
REG_FUNC(cellSail, cellSailSourceInitialize);
|
|
|
|
|
REG_FUNC(cellSail, cellSailSourceFinalize);
|
|
|
|
|
REG_FUNC(cellSail, cellSailSourceNotifyCallCompleted);
|
|
|
|
|
REG_FUNC(cellSail, cellSailSourceNotifyInputEos);
|
|
|
|
|
REG_FUNC(cellSail, cellSailSourceNotifyStreamOut);
|
|
|
|
|
REG_FUNC(cellSail, cellSailSourceNotifySessionError);
|
|
|
|
|
REG_FUNC(cellSail, cellSailSourceNotifyMediaStateChanged);
|
|
|
|
|
REG_FUNC(cellSail, cellSailSourceNotifyOpenCompleted);
|
|
|
|
|
REG_FUNC(cellSail, cellSailSourceNotifyStartCompleted);
|
|
|
|
|
REG_FUNC(cellSail, cellSailSourceNotifyStopCompleted);
|
|
|
|
|
REG_FUNC(cellSail, cellSailSourceNotifyReadCompleted);
|
|
|
|
|
REG_FUNC(cellSail, cellSailSourceSetDiagHandler);
|
|
|
|
|
REG_FUNC(cellSail, cellSailSourceNotifyCloseCompleted);
|
|
|
|
|
|
|
|
|
|
REG_FUNC(cellSail, cellSailMp4MovieGetBrand);
|
|
|
|
|
REG_FUNC(cellSail, cellSailMp4MovieIsCompatibleBrand);
|
|
|
|
|
REG_FUNC(cellSail, cellSailMp4MovieGetMovieInfo);
|
|
|
|
|
REG_FUNC(cellSail, cellSailMp4MovieGetTrackByIndex);
|
|
|
|
|
REG_FUNC(cellSail, cellSailMp4MovieGetTrackById);
|
|
|
|
|
REG_FUNC(cellSail, cellSailMp4MovieGetTrackByTypeAndIndex);
|
|
|
|
|
REG_FUNC(cellSail, cellSailMp4TrackGetTrackInfo);
|
|
|
|
|
REG_FUNC(cellSail, cellSailMp4TrackGetTrackReferenceCount);
|
|
|
|
|
REG_FUNC(cellSail, cellSailMp4TrackGetTrackReference);
|
2015-02-18 17:22:06 +01:00
|
|
|
|
2015-02-20 14:58:40 +01:00
|
|
|
REG_FUNC(cellSail, cellSailAviMovieGetMovieInfo);
|
|
|
|
|
REG_FUNC(cellSail, cellSailAviMovieGetStreamByIndex);
|
|
|
|
|
REG_FUNC(cellSail, cellSailAviMovieGetStreamByTypeAndIndex);
|
|
|
|
|
REG_FUNC(cellSail, cellSailAviMovieGetHeader);
|
|
|
|
|
REG_FUNC(cellSail, cellSailAviStreamGetMediaType);
|
|
|
|
|
REG_FUNC(cellSail, cellSailAviStreamGetHeader);
|
|
|
|
|
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerInitialize);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerInitialize2);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerFinalize);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerRegisterSource);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerGetRegisteredProtocols);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerSetSoundAdapter);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerSetGraphicsAdapter);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerSetAuReceiver);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerSetRendererAudio);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerSetRendererVideo);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerSetParameter);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerGetParameter);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerSubscribeEvent);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerUnsubscribeEvent);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerReplaceEventHandler);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerBoot);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerCreateDescriptor);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerDestroyDescriptor);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerAddDescriptor);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerRemoveDescriptor);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerGetDescriptorCount);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerGetCurrentDescriptor);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerOpenStream);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerCloseStream);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerOpenEsAudio);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerOpenEsVideo);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerOpenEsUser);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerReopenEsAudio);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerReopenEsVideo);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerReopenEsUser);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerCloseEsAudio);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerCloseEsVideo);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerCloseEsUser);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerStart);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerStop);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerNext);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerCancel);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerSetPaused);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerIsPaused);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerSetRepeatMode);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerGetRepeatMode);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerSetEsAudioMuted);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerSetEsVideoMuted);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerIsEsAudioMuted);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerIsEsVideoMuted);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerDumpImage);
|
|
|
|
|
REG_FUNC(cellSail, cellSailPlayerUnregisterSource);
|
2015-02-18 17:22:06 +01:00
|
|
|
});
|