public void ConnectToHost(string ip, int port, int count, GstImageInfo.EPixelFormat fmt = GstImageInfo.EPixelFormat.EPixel_I420)
    {
        TargetIP   = ip;
        TargetPort = port;
        //	_ovrvision = ovrvision;
        this.StreamsCount = count;
        Timestamp         = new ulong[StreamsCount];
        _frames           = new FrameData[StreamsCount];
        m_levels          = 0;
        for (int i = 0; i < _frames.Length; ++i)
        {
            _frames [i]         = new FrameData();
            _frames [i].Eyegaze = new List <List <Vector4> > ();
            //_framesID.Add ("");
        }
        if (_player.IsLoaded || _player.IsPlaying)
        {
            _player.Close();
        }

        _player.Format = fmt;

        /*if(_processor!=null)
         *      _player.Format = _processor.GetFormat();
         */
        _player.SetDecoder(EncoderType);
        _player.SetIP(TargetIP, TargetPort, count, false);
        _player.CreateStream();

        _processingThread = new Thread(new ThreadStart(this.ImageGrabberThread));
        _processingThread.Start();
    }
Esempio n. 2
0
    public void Init(RobotInfo ifo, string profileType, GstImageInfo.EPixelFormat fmt = GstImageInfo.EPixelFormat.EPixel_I420)
    {
        m_Texture = TargetNode.AddComponent <GstNetworkMultipleTexture> ();
        m_Texture.StreamsCount = StreamsCount;
        m_Texture.profileType  = profileType;
        m_Texture.Initialize();

        int texCount = m_Texture.GetTextureCount();

        _Processor      = new OffscreenProcessor[texCount];
        _needProcessing = new bool[texCount];
        for (int i = 0; i < texCount; ++i)
        {
            _Processor[i]            = new OffscreenProcessor();
            _Processor[i].ShaderName = "Image/I420ToRGB";
            _needProcessing [i]      = false;
        }
        string ip = Settings.Instance.GetValue("Ports", "ReceiveHost", ifo.IP);

        m_Texture.ConnectToHost(ip, port, StreamsCount, fmt);
        m_Texture.Play();


        if (_config != null)
        {
            m_Texture.SetConfiguration(_config);
        }

        m_Texture.OnFrameGrabbed += OnFrameGrabbed;


        _videoPorts = new uint[StreamsCount];        //{0,0};
        string streamsVals = "";

        for (int i = 0; i < StreamsCount; ++i)
        {
            _videoPorts [i] = Texture.Player.GetVideoPort(i);
            streamsVals    += _videoPorts [i].ToString();
            if (i != StreamsCount - 1)
            {
                streamsVals += ",";
            }
        }
        RobotConnector.Connector.SendData(TxKitEyes.ServiceName, "VideoPorts", streamsVals, true);
    }
Esempio n. 3
0
 public ImageSampler(GstBaseTexture src, GstImageInfo.EPixelFormat format = GstImageInfo.EPixelFormat.EPixel_Alpha8)
 {
     _format     = format;
     _SrcTexture = src;
     _initTexture();
 }