public void Open()
        {
            if (IsScanning)
            {
                return;
            }

            //Turn this on right away to avoid a second scanner from starting right away.
            IsScanning = true;
            m_Source   = m_MarkerController.CameraSource;
            m_Source.RequestedHeight = 720;
            m_Source.RequestedWidth  = 1280;
            m_Source.Run();
            m_ScanUI.Open(m_Source.Texture);
            m_BarcodeDecoder = new QRBarcodeDecoder();
            _ = Scan();

            if (m_ResultHandler != null)
            {
                StopCoroutine(m_ResultHandler);
            }

            m_ResultHandler = ResultHandler();
            StartCoroutine(m_ResultHandler);
        }
Example #2
0
    void _CreateLocalCamera()
    {
        LocalWebcameraSource c = new LocalWebcameraSource();

        _cameraSource = c;
        c.Init(_robotIfo);
        c.OnFrameGrabbed += OnFrameGrabbed_Local;
    }
 void _OnCameraSourceCreated(TxKitEyes creator, ICameraSource src)
 {
     if (src == null)
     {
         return;
     }
     _camSource = src;
 }
Example #4
0
    void _CreateOvrvisionCamera()
    {
        OvrvisionSource c = new OvrvisionSource();

        _cameraSource = c;
        c.Init(_robotIfo);
        c.OnFrameGrabbed += OnFrameGrabbed_Local;
    }
Example #5
0
    void _CreateMediaCamera()
    {
        FileCameraSource c = new FileCameraSource();

        _cameraSource = c;
        c.TargetNode  = gameObject;
        c.Init(_robotIfo);
        _cameraSource.GetBaseTexture().OnFrameGrabbed += OnFrameGrabbed;
    }
Example #6
0
 protected virtual void OnCameraSourceCreated(TxKitEyes creator, ICameraSource src)
 {
     if (!_visible)
     {
         TargetEyes.PauseVideo();
     }
     else
     {
         TargetEyes.ResumeVideo();
     }
 }
Example #7
0
    protected override void OnCameraSourceCreated(TxKitEyes creator, ICameraSource src)
    {
        base.OnCameraSourceCreated(creator, src);

        if (_imgSampler != null)
        {
            _imgSampler.Destroy();
        }
        _imgSampler = new ImageSampler(src.GetBaseTexture());
        _imgSampler.OnImageSampled += OnImageArrived;
    }
Example #8
0
//	EyegazeWebcameraRenderMesh[] _renderers;

    void OnCameraSourceCreated(TxKitEyes creator, ICameraSource src)
    {
        Renderer = creator.ImageProcessor as TxFoveatedRenderingImageProcessor;

        if (Renderer != null)
        {
            Renderer.Parameters = Parameters;
            Results             = Renderer.Results;

            Renderer.OnFoveatedResultsChanged += OnFoveatedResultsChanged;
        }
    }
Example #9
0
    void _CreateOvrvisionCamera()
    {
        OvrvisionSource c = new OvrvisionSource();

        _cameraSource = c;
        _InitCameraRenderers();
        c.Init(_robotIfo);
        c.OnFrameGrabbed += OnFrameGrabbed_Local;
        if (OnCameraSourceCreated != null)
        {
            OnCameraSourceCreated(this, _cameraSource);
        }
    }
Example #10
0
    void _CreateMediaCamera()
    {
        FileCameraSource c = new FileCameraSource();

        _cameraSource = c;
        _InitCameraRenderers();
        c.TargetNode = gameObject;
        c.Init(_robotIfo);
        _cameraSource.GetBaseTexture().OnFrameGrabbed += OnFrameGrabbed;
        if (OnCameraSourceCreated != null)
        {
            OnCameraSourceCreated(this, _cameraSource);
        }
    }
 public void Close()
 {
     Debug.Log($"[ARInstructionUI] Closing barcode scanner: IsScanning {IsScanning}");
     if (!IsScanning)
     {
         return;
     }
     IsScanning = false;
     m_ScanUI.Close();
     m_MarkerController.CameraSource?.Stop();
     m_BarcodeDecoder?.Dispose();
     m_BarcodeDecoder = null;
     m_Source         = null;
     m_MarkerController.BarcodeScannerExited();
 }
Example #12
0
    void _CreateRTPCamera(int streamsCount)
    {
        MultipleNetworkCameraSource c;

        if (_cameraSource != null)
        {
            _cameraSource.Close();
        }
        _cameraSource = (c = new MultipleNetworkCameraSource());

        string profileType = Configuration.CamSettings.streamCodec == CameraConfigurations.EStreamCodec.Ovrvision ? "Ovrvision" : "None";

        _InitCameraRenderers();

        /*if(Configuration.CamSettings.CameraType==CameraConfigurations.ECameraType.WebCamera)
         *      c.StreamsCount = 2;
         * else c.StreamsCount = 1;*/
        c.SeparateStreams = Configuration.CamSettings.SeparateStreams;
        c.CameraStreams   = Configuration.CamSettings.CameraStreams;
        c.StreamsCount    = streamsCount;
        c.TargetNode      = gameObject;
        c.port            = Settings.Instance.GetPortValue("VideoPort", 0);
        c.RobotConnector  = RobotConnector;
        c.Init(_robotIfo, profileType);
        if (OnCameraSourceCreated != null)
        {
            OnCameraSourceCreated(this, _cameraSource);
        }


        _cameraSource.GetBaseTexture().OnFrameGrabbed += OnFrameGrabbed;
        m_grabbedFrames = 0;

        if (Debugger)
        {
            Debugger.RemoveDebugElement(_cameraDebugElem);;
            _cameraDebugElem = new DebugCameraCaptureElement(_cameraSource.GetBaseTexture());
            Debugger.AddDebugElement(_cameraDebugElem);;
        }

        //request netvalue port
        if (RobotConnector.Connector.RobotCommunicator != null)
        {
            RobotConnector.Connector.RobotCommunicator.SetData("", "NetValuePort", ServiceName + "," + RobotConnector.Connector.DataCommunicator.GetPort().ToString(), false, false);
        }
    }
Example #13
0
    void OnRobotDisconnected()
    {
        if (_cameraSource != null)
        {
            _cameraSource.Close();
            _cameraSource = null;
        }

        if (_imageProcessor != null)
        {
            _imageProcessor.Destroy();
            _imageProcessor = null;
        }

        for (int i = 0; i < Output.TexturesCount; ++i)
        {
            Output.SetTexture(TxEyesOutput.NullTexture, i);
        }

        _cameraProfile = "";
        _camsInited    = false;
    }
Example #14
0
    void OnRobotDisconnected()
    {
        if (_camRenderer [0] != null)
        {
            _camRenderer [0].Disable();
        }
        if (_camRenderer [1] != null)
        {
            _camRenderer [1].Disable();
        }


        if (_cameraSource != null)
        {
            _cameraSource.Close();
            _cameraSource = null;
        }

        for (int i = 0; i < _camRenderer.Length; ++i)
        {
            if (_camRenderer [i])
            {
                _camRenderer [i].RequestDestroy();
            }
        }
        for (int i = 0; i < _camRendererParents.Length; ++i)
        {
            if (_camRendererParents [i] != null)
            {
                GameObject.Destroy(_camRendererParents [i]);
                _camRendererParents [i] = null;
            }
        }
        _cameraProfile = "";
        _camsInited    = false;
    }
    public void SetRemoteHost(string IP,RobotConnector.TargetPorts ports)
    {
        _remoteHostIP = IP;
        /*
        MultipleNetworkCameraSource c;
        _cameraSource = (c=new MultipleNetworkCameraSource());
        c.TargetNode=gameObject;
        c.Host = IP;
        c.port = port;
        c.Init();*/
        if(this.CameraType==CameraSourceType.Remote)
        {

            if (_cameraSource != null) {
                _cameraSource.Close();
                _cameraSource=null;
            }
            MultipleNetworkCameraSource c;
            _cameraSource = (c = new MultipleNetworkCameraSource ());
            c.StreamsCount = 2;
            c.TargetNode = gameObject;
            c.Host = IP;
            c.port = Settings.Instance.GetPortValue("VideoPort",0);
            c.Init ();

            _cameraSource.GetBaseTexture ().OnFrameGrabbed += OnFrameGrabbed;
            m_grabbedFrames=0;

            //disable the renderes until we video stream starts
            //_camRenderer[0].Disable();
            //_camRenderer[1].Disable();

            _videoPorts=new uint[2]{0,0};
            _videoPorts[0]=c.Texture.Player.GetVideoPort(0);
            _videoPorts[1]=c.Texture.Player.GetVideoPort(1);
            RobotConnector.Connector.SendData("VideoPorts",_videoPorts[0].ToString()+","+_videoPorts[1].ToString(),true);

            if(_audioPlayer!=null)
            {
                int port= Settings.Instance.GetPortValue("AudioPort",0);
                _audioPlayer.SetIP(IP,0,false);
                _audioPlayer.CreateStream();
                _audioPlayer.Play();
                _audioPort=_audioPlayer.GetAudioPort();
                RobotConnector.Connector.SendData("AudioPort",_audioPort.ToString(),true);
            }

            if(_audioStreamer!=null)
            {
                _audioStreamer.SetIP(IP,7010,false);//port should be dynamically assigned from remote side
                _audioStreamer.Stream();
            }
            for(int i=0;i<2;++i)
                _camRenderer[i].CamSource=_cameraSource;
            if (Debugger) {
                Debugger.RemoveDebugElement(_cameraDebugElem);;
                _cameraDebugElem=new DebugCameraCaptureElement(_cameraSource.GetBaseTexture());
                Debugger.AddDebugElement(_cameraDebugElem);;
            }
        }

        {
            //request camera settings
            RobotConnector.Connector.SendData("CameraParameters","",false);

            //request netvalue port
            RobotConnector.Connector.RobotCommunicator.SetData ("NetValuePort", "AVStreamServiceModule,"+RobotConnector.Connector.DataCommunicator.Port.ToString(), false,false);
        }
    }
Example #16
0
 public override void PostInit()
 {
     _texture = _eyes.CameraSource;
 }
    void Init()
    {
        CameraType = Settings.Instance.RobotSettings.ReadValue ("Camera", "Source", CameraType.ToString ())=="Local"?CameraSourceType.Local:CameraSourceType.Remote;
        if(CameraType==CameraSourceType.Local)
        {
            LocalWebcameraSource c;
            _cameraSource = (c=new LocalWebcameraSource());
            c.LeftInputCamera = Settings.Instance.RobotSettings.ReadValue ("Camera", "Left", 0);
            c.RightInputCamera = Settings.Instance.RobotSettings.ReadValue ("Camera", "Right", 1);
            c.Init();
        }else
        {
            MultipleNetworkCameraSource c;
            _cameraSource = (c=new MultipleNetworkCameraSource());
            c.StreamsCount=2;
            c.TargetNode=gameObject;
            c.Init();
        }

        if (AudioSupport) {
            _audioPlayer = new GstMultipleNetworkAudioPlayer ();
            _audioStreamer = gameObject.AddComponent<GstNetworkAudioStreamer> ();
            _audioStreamer.SetChannels(1);
            _audioStreamer.CreateStream();
        }

        EyeName[] eyes = new EyeName[]{EyeName.RightEye,EyeName.LeftEye};
        TelubeeCameraRenderer[] Targets = new TelubeeCameraRenderer[]{TargetEyeRight,TargetEyeLeft};
        if (OculusCamera != null)
        {
            Camera[] cams = new Camera[] { OculusCamera.rightEyeCamera, OculusCamera.leftEyeCamera };
        //	Vector2[] pixelShift = new Vector2[] { Configuration.CamSettings.PixelShiftRight,Configuration.CamSettings.PixelShiftLeft};
            for (int c = 0; c < cams.Length; ++c)
            {
                int i = (int)eyes[c];
                cams[i].backgroundColor=Color.black;

            //	CreateMesh ((EyeName)i);
                TelubeeCameraRenderer r = Targets[i];
                if(r==null)
                    r=cams[i].gameObject.AddComponent<TelubeeCameraRenderer>();
                r.Mat = Object.Instantiate(TargetMaterial);
                r.DisplayCamera=cams[i];
                r.Src = this;
                r.CamSource = _cameraSource;

                r.CreateMesh(eyes[c]);

                _camRenderer[i]=r;

                if (i == 0)
                {
                    r._RenderPlane.layer=LayerMask.NameToLayer("RightEye");
                }
                else
                {
                    r._RenderPlane.layer=LayerMask.NameToLayer("LeftEye");
                }
                if(Targets[i]==null)
                {
                    r._RenderPlane.transform.parent = cams[i].transform;
                    r._RenderPlane.transform.localRotation=Quaternion.identity;
                    r._RenderPlane.transform.localPosition=new Vector3(0,0,1);
                }
            }
        }

        _videoValues=new NetValueObject();
        if (ParameterController != null)
            ParameterController.TargetValueObject = _videoValues;
    }