decoder/OpusHead: return pre-skip

This commit is contained in:
Max Kellermann
2020-07-01 17:48:44 +02:00
parent 472881cb95
commit a99b4abae8
3 changed files with 11 additions and 5 deletions

View File

@@ -18,6 +18,7 @@
*/
#include "OpusHead.hxx"
#include "util/ByteOrder.hxx"
#include <stdint.h>
@@ -31,12 +32,14 @@ struct OpusHead {
};
bool
ScanOpusHeader(const void *data, size_t size, unsigned &channels_r)
ScanOpusHeader(const void *data, size_t size, unsigned &channels_r,
unsigned &pre_skip_r)
{
const OpusHead *h = (const OpusHead *)data;
if (size < 19 || (h->version & 0xf0) != 0)
return false;
channels_r = h->channels;
pre_skip_r = FromLE16(h->pre_skip);
return true;
}