148 SampleFormat sampleFormat;
153 u16 blockHeaderOffset;
162 ulong lastBlockSamples;
163 ulong lastBlockPaddedSize;
164 ulong adpcmDataInterval;
175 u8 channelIndexTable[32];
184 void Setup(
void const *strmData);
186 bool IsAvailable()
const {
return mHeader !=
nullptr; }
187 ulong GetAdpcBlockOffset()
const
190 return mHeader->adpcBlockOffset;
195 int GetTrackCount()
const;
196 int GetChannelCount()
const;
198 bool ReadStrmInfo(StrmInfo *strmInfo)
const;
199 bool ReadStrmTrackInfo(StrmTrackInfo *trackInfo,
int trackIndex)
const;
201 AdpcmLoopParam *adpcmLoopParam,
202 int channelIndex)
const;
205 static bool IsValidFileHeader(
void const *strmData);
207 static SampleFormat GetSampleFormatFromStrmFileFormat(u8 format);
211 static int const SUPPORTED_FILE_VERSION = NW4R_FILE_VERSION(1, 0);
215 StrmFile::Header
const *mHeader;
216 StrmFile::HeadBlock
const *mHeadBlock;
220 friend class StrmFileLoader;