ppsspp/Core/HLE/AtracCtx2.h
2024-04-16 23:07:03 +02:00

35 lines
1.2 KiB
C++

#pragma once
#include <cstdint>
#include "Core/HLE/AtracCtx.h"
class Atrac2 : public AtracBase {
public:
void DoState(PointerWrap &p) override;
void WriteContextToPSPMem() override;
int Analyze(u32 addr, u32 size) override;
int AnalyzeAA3(u32 addr, u32 size, u32 filesize) override;
int CurrentSample() const override { return currentSample_; }
int RemainingFrames() const override;
void GetStreamDataInfo(u32 *writePtr, u32 *writableBytes, u32 *readOffset) override;
int AddStreamData(u32 bytesToAdd) override;
u32 AddStreamDataSas(u32 bufPtr, u32 bytesToAdd) override;
u32 ResetPlayPosition(int sample, int bytesWrittenFirstBuf, int bytesWrittenSecondBuf) override;
void GetResetBufferInfo(AtracResetBufferInfo *bufferInfo, int sample) override;
int SetData(u32 buffer, u32 readSize, u32 bufferSize, int outputChannels, int successCode) override;
u32 SetSecondBuffer(u32 secondBuffer, u32 secondBufferSize) override;
u32 SecondBufferSize() const override;
u32 DecodeData(u8 *outbuf, u32 outbufPtr, u32 *SamplesNum, u32 *finish, int *remains) override;
u32 GetNextSamples() override;
void InitLowLevel(u32 paramsAddr, bool jointStereo) override;
private:
int currentSample_ = 0;
};