Commit 47d37588 authored by Jurgen Kramer's avatar Jurgen Kramer Committed by Max Kellermann

decoder/dsdiff: fix byte order bug

parent 573ff3a2
ver 0.18.4 (not yet released) ver 0.18.4 (not yet released)
* decoder
- dsdiff: fix byte order bug
ver 0.18.3 (2013/11/08) ver 0.18.3 (2013/11/08)
* fix stuck MPD after song change (0.18.2 regression) * fix stuck MPD after song change (0.18.2 regression)
......
...@@ -47,6 +47,17 @@ public: ...@@ -47,6 +47,17 @@ public:
} }
}; };
class DffDsdUint64 {
uint32_t hi;
uint32_t lo;
public:
constexpr uint64_t Read() const {
return (uint64_t(FromBE32(hi)) << 32) |
uint64_t(FromBE32(lo));
}
};
bool bool
dsdlib_read(Decoder *decoder, InputStream &is, dsdlib_read(Decoder *decoder, InputStream &is,
void *data, size_t length); void *data, size_t length);
......
...@@ -43,13 +43,13 @@ ...@@ -43,13 +43,13 @@
struct DsdiffHeader { struct DsdiffHeader {
DsdId id; DsdId id;
DsdUint64 size; DffDsdUint64 size;
DsdId format; DsdId format;
}; };
struct DsdiffChunkHeader { struct DsdiffChunkHeader {
DsdId id; DsdId id;
DsdUint64 size; DffDsdUint64 size;
/** /**
* Read the "size" attribute from the specified header, converting it * Read the "size" attribute from the specified header, converting it
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment