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); }
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); }
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"); } }
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"); } }
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); }
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); }
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); }
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")); } }