|
|
- //This file is deprecated. Use the high level voip system instead:
- // https://developer3.oculus.com/documentation/platform/latest/concepts/dg-core-content/#dg-cc-voip
- #if false
- using UnityEngine;
- using System.Collections;
- using System;
-
-
- namespace Oculus.Platform {
-
- public class Encoder : IDisposable {
- IntPtr enc;
-
- public Encoder() {
- enc = CAPI.ovr_Voip_CreateEncoder();
- }
-
- public void Dispose()
- {
- if (enc != IntPtr.Zero)
- {
- CAPI.ovr_Voip_DestroyEncoder(enc);
- enc = IntPtr.Zero;
- }
- }
-
- public byte[] Encode(float[] samples) {
- CAPI.ovr_VoipEncoder_AddPCM(enc, samples, (uint)samples.Length);
-
- ulong size = (ulong)CAPI.ovr_VoipEncoder_GetCompressedDataSize(enc);
- if(size > 0) {
- byte[] compressedData = new byte[size]; //TODO 10376403 - pool this
- ulong sizeRead = (ulong)CAPI.ovr_VoipEncoder_GetCompressedData(enc, compressedData, (UIntPtr)size);
-
- if (sizeRead != size)
- {
- throw new Exception("Read size differed from reported size");
- }
- return compressedData;
- }
- return null;
- }
- }
- }
- #endif
|