Exemplo n.º 1
0
        public void sendFrame()
        {
            double ms = TimeSpan.FromTicks(DateTime.Now.Ticks).TotalMilliseconds;

            if (ms < update_time + send_interval)
            {
                return;
            }
            update_time = ms;
            if (_isOver)
            {
                return;
            }
            if (!_isPlay)
            {
                return;
            }
            if (_index >= vc.frames.Count)
            {
                _isOver = true;
                _isPlay = false;
                return;
            }
            byte[] pkg = vc.frames[_index++];
            Array.Copy(pkg, buffer, pkg.Length);
            RTPModel.updateSeq(buffer, _seq++);
            int timestemp = (ushort)((ms / 1000) % ushort.MaxValue);

            RTPModel.updateTimeStamp(buffer, timestemp);
            us.beginSendTo(buffer, pkg.Length);
        }
Exemplo n.º 2
0
 void ur_Received(UdpRevicer self, System.Net.IPEndPoint arg2, byte[] data)
 {
     if (!_isPlay)
         return;
     ur.beginReceive();
     RTPModel pkg = new RTPModel(data);
     queue.Enqueue(FrameHelper.getFrame(pkg.payload));
     recvFrameed.Invoke(this, pkg.SequenceNumber, pkg.TimeStamp);
 }
Exemplo n.º 3
0
 private void button2_Click(object sender, EventArgs e)
 {
     byte[] bs = p.toBytes();
     RTPModel p2 = new RTPModel(bs);
     bs = p2.toBytes();
     richTextBox1.Clear();
     for (int i = 0; i < bs.Length; i++)
     {
         richTextBox1.AppendText(i.ToString() + ":" + bs[i] + "\n");
     }
 }
Exemplo n.º 4
0
        private void button2_Click(object sender, EventArgs e)
        {
            byte[]   bs = p.toBytes();
            RTPModel p2 = new RTPModel(bs);

            bs = p2.toBytes();
            richTextBox1.Clear();
            for (int i = 0; i < bs.Length; i++)
            {
                richTextBox1.AppendText(i.ToString() + ":" + bs[i] + "\n");
            }
        }
Exemplo n.º 5
0
        void ur_Received(UdpRevicer self, System.Net.IPEndPoint arg2, byte[] data)
        {
            if (!_isPlay)
            {
                return;
            }
            ur.beginReceive();
            RTPModel pkg = new RTPModel(data);

            queue.Enqueue(FrameHelper.getFrame(pkg.payload));
            recvFrameed.Invoke(this, pkg.SequenceNumber, pkg.TimeStamp);
        }
Exemplo n.º 6
0
    public void startLoad()
    {
        Capture c = new Capture(path);
        Image<Bgr, Byte> frame = null;

        do
        {
            frame = c.QueryFrame();
            if (frame == null)
                break;
            Bitmap bmp = frame.ToBitmap();
            byte[] payload = FrameHelper.getFrameBytes(bmp);
            RTPModel pkg = new RTPModel(0, frames.Count, frames.Count, payload);
            frames.Add(pkg.toBytes());
            FrameLoaded.Invoke(this, frames.Count - 1);
        } while (true);
    }
Exemplo n.º 7
0
    public void startLoad()
    {
        Capture           c     = new Capture(path);
        Image <Bgr, Byte> frame = null;

        do
        {
            frame = c.QueryFrame();
            if (frame == null)
            {
                break;
            }
            Bitmap   bmp     = frame.ToBitmap();
            byte[]   payload = FrameHelper.getFrameBytes(bmp);
            RTPModel pkg     = new RTPModel(0, frames.Count, frames.Count, payload);
            frames.Add(pkg.toBytes());
            FrameLoaded.Invoke(this, frames.Count - 1);
        } while (true);
    }
Exemplo n.º 8
0
        public ActionResult SendRTP([FromBody] Peer peer)
        {
            if (peer.IsPromptPay)
            {
                try
                {
                    var billSplit = _db.BillSplits.SingleOrDefault(x => x.Id == peer.BillSplitId);
                    var newRTP    = new RTPModel {
                        SenderPromptPay   = billSplit.OwnerPromptPay,
                        Amount            = peer.PersonalNetPrice,
                        ReceiverPromptPay = peer.PromptPay,
                        RequestedDateTime = DateTime.Now,
                        IsActive          = true
                    };
                    _db.RTPModels.Add(newRTP);
                    _db.SaveChanges();
                    var newPeerRTP = new PeerRTP {
                        PeerId = peer.Id,
                        RTPId  = newRTP.Id
                    };

                    _db.PeerRTPs.Add(newPeerRTP);
                    _db.SaveChanges();
                    CountDownAlive(newRTP.Id);
                    return(Json("Success"));
                }
                catch (Exception e)
                {
                    return(Json(e.Message));
                }
            }
            else
            {
                return(Json("Peer doesn't use RTP"));
            }
        }