static IntPtr BuildDestination() { #if UNITY_ANDROID var glContext = GlContext.GetCurrent(); var glTextureBuffer = new GlTextureBuffer((UInt32)destinationNativeTexturePtr, destinationWidth, destinationHeight, GpuBufferFormat.kBGRA32, OnReleaseDestinationTexture, glContext); outputPacket = new GpuBufferPacket(new GpuBuffer(glTextureBuffer)); #else outputPacket = new GpuBufferPacket(); #endif return(Status.Ok().mpPtr); }
public override Status StartRun() { #if UNITY_IOS // On iOS, it's faster to get output packets synchronously than asynchronously. outputStreamPoller = graph.AddOutputStreamPoller <ImageFrame>(outputStream).ConsumeValueOrDie(); outputPacket = new ImageFramePacket(); #elif UNITY_EDITOR || !UNITY_ANDROID graph.ObserveOutputStream <ImageFramePacket, ImageFrame>(outputStream, OutputVideoCallback, out outputVideoCallbackHandle).AssertOk(); #endif return(graph.StartRun(sidePacket)); }
public override Status StartRun(SidePacket sidePacket) { outputStreamPoller = graph.AddOutputStreamPoller<GpuBuffer>(outputStream).ConsumeValue(); outputPacket = new GpuBufferPacket(); return graph.StartRun(sidePacket); }