Log the buffer format when queueing mismatched buffers
[openal-soft.git] / core / devformat.cpp
blobacdabc4f1f43cb97a0bef292586cb7be021a30c1
2 #include "config.h"
4 #include "devformat.h"
7 uint BytesFromDevFmt(DevFmtType type) noexcept
9 switch(type)
11 case DevFmtByte: return sizeof(int8_t);
12 case DevFmtUByte: return sizeof(uint8_t);
13 case DevFmtShort: return sizeof(int16_t);
14 case DevFmtUShort: return sizeof(uint16_t);
15 case DevFmtInt: return sizeof(int32_t);
16 case DevFmtUInt: return sizeof(uint32_t);
17 case DevFmtFloat: return sizeof(float);
19 return 0;
21 uint ChannelsFromDevFmt(DevFmtChannels chans, uint ambiorder) noexcept
23 switch(chans)
25 case DevFmtMono: return 1;
26 case DevFmtStereo: return 2;
27 case DevFmtQuad: return 4;
28 case DevFmtX51: return 6;
29 case DevFmtX61: return 7;
30 case DevFmtX71: return 8;
31 case DevFmtX714: return 12;
32 case DevFmtX3D71: return 8;
33 case DevFmtAmbi3D: return (ambiorder+1) * (ambiorder+1);
35 return 0;
38 const char *DevFmtTypeString(DevFmtType type) noexcept
40 switch(type)
42 case DevFmtByte: return "Int8";
43 case DevFmtUByte: return "UInt8";
44 case DevFmtShort: return "Int16";
45 case DevFmtUShort: return "UInt16";
46 case DevFmtInt: return "Int32";
47 case DevFmtUInt: return "UInt32";
48 case DevFmtFloat: return "Float32";
50 return "(unknown type)";
52 const char *DevFmtChannelsString(DevFmtChannels chans) noexcept
54 switch(chans)
56 case DevFmtMono: return "Mono";
57 case DevFmtStereo: return "Stereo";
58 case DevFmtQuad: return "Quadraphonic";
59 case DevFmtX51: return "5.1 Surround";
60 case DevFmtX61: return "6.1 Surround";
61 case DevFmtX71: return "7.1 Surround";
62 case DevFmtX714: return "7.1.4 Surround";
63 case DevFmtX3D71: return "3D7.1 Surround";
64 case DevFmtAmbi3D: return "Ambisonic 3D";
66 return "(unknown channels)";