Remove redundant void argument list in function def
[openal-soft.git] / Alc / converter.h
blobbfd0dd1a2a7094ca514bdc615d153cef407536fe
1 #ifndef CONVERTER_H
2 #define CONVERTER_H
4 #include <memory>
6 #include "alMain.h"
7 #include "alu.h"
8 #include "almalloc.h"
10 struct SampleConverter {
11 DevFmtType mSrcType{};
12 DevFmtType mDstType{};
13 ALsizei mNumChannels{};
14 ALsizei mSrcTypeSize{};
15 ALsizei mDstTypeSize{};
17 ALint mSrcPrepCount{};
19 ALsizei mFracOffset{};
20 ALsizei mIncrement{};
21 InterpState mState{};
22 ResamplerFunc mResample{};
24 alignas(16) ALfloat mSrcSamples[BUFFERSIZE]{};
25 alignas(16) ALfloat mDstSamples[BUFFERSIZE]{};
27 struct {
28 alignas(16) ALfloat PrevSamples[MAX_RESAMPLE_PADDING*2];
29 } mChan[];
31 ALsizei convert(const ALvoid **src, ALsizei *srcframes, ALvoid *dst, ALsizei dstframes);
32 ALsizei availableOut(ALsizei srcframes) const;
34 DEF_PLACE_NEWDEL()
36 using SampleConverterPtr = std::unique_ptr<SampleConverter>;
38 SampleConverterPtr CreateSampleConverter(DevFmtType srcType, DevFmtType dstType, ALsizei numchans,
39 ALsizei srcRate, ALsizei dstRate, Resampler resampler);
42 struct ChannelConverter {
43 DevFmtType mSrcType;
44 DevFmtChannels mSrcChans;
45 DevFmtChannels mDstChans;
47 ChannelConverter(DevFmtType srctype, DevFmtChannels srcchans, DevFmtChannels dstchans)
48 : mSrcType(srctype), mSrcChans(srcchans), mDstChans(dstchans)
49 { }
51 void convert(const ALvoid *src, ALfloat *dst, ALsizei frames) const;
53 DEF_NEWDEL(ChannelConverter)
55 using ChannelConverterPtr = std::unique_ptr<ChannelConverter>;
57 ChannelConverterPtr CreateChannelConverter(DevFmtType srcType, DevFmtChannels srcChans,
58 DevFmtChannels dstChans);
60 #endif /* CONVERTER_H */