Beispiel #1
0
    public override void OnInspectorGUI()
    {
        _manager = (this.target) as AVProLiveCameraManager;

        if (!Application.isPlaying)
        {
            DrawDefaultInspector();
        }
        else
        {
            EditorGUILayout.Space();

            int numDevices = _manager.NumDevices;
            EditorGUILayout.PrefixLabel("Devices: ");
            for (int deviceIndex = 0; deviceIndex < numDevices; deviceIndex++)
            {
                EditorGUILayout.BeginHorizontal();
                AVProLiveCameraDevice device = _manager.GetDevice(deviceIndex);
                EditorGUILayout.LabelField(deviceIndex.ToString() + ") " + device.Name, "");
                if (device.IsRunning)
                {
                    EditorGUILayout.LabelField("Display at " + device.DisplayFPS.ToString("F1") + " FPS", "");
                }
                else
                {
                    EditorGUILayout.LabelField("Stopped", "");
                }
                EditorGUILayout.EndHorizontal();
            }
            EditorGUILayout.Space();
        }
    }
    public override void OnInspectorGUI()
    {
        _manager = (this.target) as AVProLiveCameraManager;

        if (!Application.isPlaying)
        {
            DrawDefaultInspector();
        }
        else
        {
            EditorGUILayout.Space();

            int numDevices = _manager.NumDevices;
            EditorGUILayout.PrefixLabel("Devices: ");
            for (int deviceIndex = 0; deviceIndex < numDevices; deviceIndex++)
            {
                EditorGUILayout.BeginHorizontal();
                AVProLiveCameraDevice device = _manager.GetDevice(deviceIndex);
                EditorGUILayout.LabelField(deviceIndex.ToString() + ") " + device.Name, "");
                if (device.IsRunning)
                    EditorGUILayout.LabelField("Display at " + device.DisplayFPS.ToString("F1") + " FPS", "");
                else
                    EditorGUILayout.LabelField("Stopped", "");
                EditorGUILayout.EndHorizontal();
            }
            EditorGUILayout.Space();
        }
    }
Beispiel #3
0
    //-------------------------------------------------------------------------

    void Start()
    {
        if (!_isInitialised)
        {
            _instance = this;
            Init();
        }
    }
Beispiel #4
0
    public void Deinit()
    {
        ClearDevices();
        _instance      = null;
        _isInitialised = false;

        AVProLiveCameraPlugin.Deinit();
    }
    public void Deinit()
    {
        ClearDevices();
        _instance = null;
        _isInitialised = false;

        AVProLiveCameraPlugin.Deinit();
    }
Beispiel #6
0
    public bool Build(int width, int height, AVProLiveCameraPlugin.VideoFrameFormat format, bool flipX, bool flipY, bool deinterlace = false)
    {
        Reset();

        _width       = width;
        _height      = height;
        _deinterlace = deinterlace;
        _format      = format;
        _manager     = AVProLiveCameraManager.Instance;

        if (CreateMaterials())
        {
            CreateBuffers();
            BuildUVs(flipX, flipY);
            CreateRenderTexture();

            switch (_format)
            {
            case AVProLiveCameraPlugin.VideoFrameFormat.RAW_BGRA32:
                _conversionMaterial.SetTexture("_MainTex", _buffers[0]._texture);
                break;

            case AVProLiveCameraPlugin.VideoFrameFormat.RAW_MONO8:
                _conversionMaterial.SetFloat("_TextureWidth", _finalTexture.width);
                _conversionMaterial.SetTexture("_MainTex", _buffers[0]._texture);
                break;

            case AVProLiveCameraPlugin.VideoFrameFormat.YUV_422_YUY2:
            case AVProLiveCameraPlugin.VideoFrameFormat.YUV_422_UYVY:
            case AVProLiveCameraPlugin.VideoFrameFormat.YUV_422_YVYU:
            case AVProLiveCameraPlugin.VideoFrameFormat.YUV_422_HDYC:
                _conversionMaterial.SetFloat("_TextureWidth", _finalTexture.width);
                _conversionMaterial.SetTexture("_MainTex", _buffers[0]._texture);
                break;

            case AVProLiveCameraPlugin.VideoFrameFormat.YUV_420_PLANAR_YV12:
            case AVProLiveCameraPlugin.VideoFrameFormat.YUV_420_PLANAR_I420:
                _conversionMaterial.SetFloat("_TextureWidth", _finalTexture.width);
                _conversionMaterial.SetTexture("_MainTex", _buffers[0]._texture);
                _conversionMaterial.SetTexture("_MainU", _buffers[1]._texture);
                _conversionMaterial.SetTexture("_MainV", _buffers[2]._texture);
                break;
            }
        }
        else
        {
            Debug.LogWarning("[AVPro LiveCamera] couldn't create conversion materials");
            return(false);
        }

        return(true);
    }
 void OnDisable()
 {
     _manager = null;
 }
 void OnEnable()
 {
     _manager = (this.target) as AVProLiveCameraManager;
 }
 //-------------------------------------------------------------------------
 void Start()
 {
     if (!_isInitialised)
     {
         _instance = this;
         Init();
     }
 }