2019-10-11 15:22:24 +00:00
|
|
|
|
using Ryujinx.Common;
|
|
|
|
|
using System;
|
2019-11-23 02:15:15 +00:00
|
|
|
|
using System.Buffers.Binary;
|
2019-10-11 15:22:24 +00:00
|
|
|
|
using System.IO;
|
|
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
|
|
|
|
|
|
namespace Ryujinx.HLE.HOS.Services.Audio.Types
|
|
|
|
|
{
|
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
|
|
|
struct OpusPacketHeader
|
|
|
|
|
{
|
|
|
|
|
public uint length;
|
|
|
|
|
public uint finalRange;
|
|
|
|
|
|
|
|
|
|
public static OpusPacketHeader FromStream(BinaryReader reader)
|
|
|
|
|
{
|
|
|
|
|
OpusPacketHeader header = reader.ReadStruct<OpusPacketHeader>();
|
|
|
|
|
|
2019-11-23 02:15:15 +00:00
|
|
|
|
header.length = BitConverter.IsLittleEndian ? BinaryPrimitives.ReverseEndianness(header.length) : header.length;
|
|
|
|
|
header.finalRange = BitConverter.IsLittleEndian ? BinaryPrimitives.ReverseEndianness(header.finalRange) : header.finalRange;
|
2019-10-11 15:22:24 +00:00
|
|
|
|
|
|
|
|
|
return header;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|