void OnEnable()
    {
        CameraPorts cameraports  = CameraPanel.Load();
        List <int>  portSettings = new List <int>();

        portSettings.Add(cameraports.camera1);
        portSettings.Add(cameraports.camera2);
        portSettings.Add(cameraports.camera3);
        portSettings.Add(cameraports.camera4);
        portSettings.Add(cameraports.idMiniROV);
        //Debug.Log("El id está en la posicion: "+portSettings.Count);
        GameObject parent = GameObject.Find("CameraManager");

        for (int i = 0; i < parent.transform.childCount; i++)
        {
            if (this.gameObject.name == ("VideoStream" + (i + 1)))
            {
                port = portSettings[i].ToString();
                int mjpegCamera = portSettings[portSettings.Count - 1];
                if (i == mjpegCamera)
                {
                    pipeline = "udpsrc port=" + port + " ! application/x-rtp,encoding-name=JPEG,payload=26 ! rtpjpegdepay ! jpegdec ! appsink name=videoSink";
                }
                else
                {
                    pipeline = "udpsrc port=" + port + " ! application/x-rtp ! rtph264depay ! avdec_h264 ! videoconvert ! appsink name=videoSink";
                }
            }
        }

        m_Texture = gameObject.GetComponent <GstCustomTexture>();
        m_Texture.Initialize();
        //StartCoroutine(Dalay());
        System.Threading.Thread.Sleep(100);
        //pipeline = "udpsrc port="+port+" ! application/x-rtp,encoding-name=H264,payload=96 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! appsink name=videoSink";
        m_Texture.SetPipeline(pipeline);          //        pipeline+" ! video/x-raw,format=I420 ! videoconvert ! appsink name=videoSink"
        //StartCoroutine(Dalay());
        System.Threading.Thread.Sleep(100);
        m_Texture.Player.CreateStream();
        //StartCoroutine(Dalay());
        System.Threading.Thread.Sleep(100);
        m_Texture.Player.Play();

        m_Texture.OnFrameBlitted += OnFrameBlitted;
        _img = new GstImageInfo();
        _img.Create(1, 1, GstImageInfo.EPixelFormat.EPixel_R8G8B8);

        BlittedImage            = new Texture2D(1, 1);
        BlittedImage.filterMode = FilterMode.Bilinear;
        BlittedImage.anisoLevel = 0;
        BlittedImage.wrapMode   = TextureWrapMode.Clamp;

        if (TargetMaterial != null)
        {
            TargetMaterial.mainTexture = BlittedImage;
        }
    }
 public static CameraPorts Load()
 {
     if (File.Exists(Application.dataPath + fileName))
     {
         string      saveString = File.ReadAllText(Application.dataPath + fileName);
         CameraPorts jsonPID    = JsonUtility.FromJson <CameraPorts>(saveString);
         return(jsonPID);
     }
     else
     {
         CameraPorts auxPID = new CameraPorts();
         return(auxPID);
     }
 }
 public void OnEnable()
 {
     cameraSettings = Load();
     for (int i = 0; i < this.transform.childCount - 1; i++)
     {
         if (this.transform.GetChild(i).transform.GetChild(0).transform.GetChild(0).gameObject.name == "InputField Input Caret")
         {
             placeholder[i] = this.transform.GetChild(i).transform.GetChild(0).transform.GetChild(1).GetComponent <Text>();
         }
         else
         {
             placeholder[i] = this.transform.GetChild(i).transform.GetChild(0).transform.GetChild(0).GetComponent <Text>();
         }
     }
     placeholder[0].text = cameraSettings.camera1.ToString();
     placeholder[1].text = cameraSettings.camera2.ToString();
     placeholder[2].text = cameraSettings.camera3.ToString();
     placeholder[3].text = cameraSettings.camera4.ToString();
     placeholder[4].text = cameraSettings.idMiniROV.ToString();
 }