Пример #1
0
    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);
    }
Пример #2
0
    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);
  }