Example #1
0
        public virtual bool Start(IPEndPoint destinationEp, int nPacketTimeTx, int nPacketTimeRx)
        {
            if (IsActive == true)
            {
                return(false);
            }
            if (IsBound == false)
            {
                throw new Exception("You first must bind the local socket by calling Bind()");
            }

            Reset();
            DestinationEndpoint = destinationEp;
            PTimeReceive        = nPacketTimeRx;
            PTimeTransmit       = nPacketTimeTx;

            if (UseInternalTimersForPacketPushPull == true)
            {
                SendTimer         = SocketServer.QuickTimerControllerCPU.CreateTimer(PTimeTransmit, new SocketServer.DelegateTimerFired(OnTimeToPushPacket), "", null);
                ExpectPacketTimer = SocketServer.QuickTimerControllerCPU.CreateTimer(PTimeReceive, new SocketServer.DelegateTimerFired(OnTimeToForwardPacket), "", null);
            }

            // byte[] test = new byte[100];
            // RTPUDPClient.SendUDP(test, test.Length, new IPEndPoint(IPAddress.Parse("172.16.41.174"), 4507));
            IsActive = true;
            RTPUDPClient.StartReceiving();
            return(true);
        }
Example #2
0
 public void Stop()
 {
     lock (TimerLock)
     {
         if (SendTimer != null)
         {
             SendTimer.Cancel();
             SendTimer = null;
         }
     }
 }
Example #3
0
        /// <summary>
        ///  Start our timer to push/pull traffic
        /// </summary>
        public void Start()
        {
            lock (TimerLock)
            {
                if (SendTimer != null)
                {
                    SendTimer.Cancel();
                    SendTimer = null;
                }
            }


            SendTimer = SocketServer.QuickTimerControllerCPU.CreateTimer(20, new SocketServer.DelegateTimerFired(OnTimeToPushPacket), "", null);
        }
Example #4
0
        public virtual void StopSending()
        {
            if (IsActive == false)
            {
                return;
            }

            IsActive = false;
            IsBound  = false;
            if (SendTimer != null)
            {
                SendTimer.Cancel();
                SendTimer = null;
            }
            if (ExpectPacketTimer != null)
            {
                ExpectPacketTimer.Cancel();
                ExpectPacketTimer = null;
            }
            RTPUDPClient.StopReceiving();
            RTPUDPClient.OnReceiveMessage -= new UDPSocketClient.DelegateReceivePacket(RTPUDPClient_OnReceiveMessage);
            RTPUDPClient = null;
        }
Example #5
0
 public void OnTimeToPushPacket(IMediaTimer timer)
 {
     DoPushPull(new TimeSpan(0, 0, 0, 0, 20));
 }
Example #6
0
 public void Stop()
 {
     lock (TimerLock)
     {
         if (SendTimer != null)
         {
             SendTimer.Cancel();
             SendTimer = null;
         }
     }
 }
Example #7
0
        /// <summary>
        ///  Start our timer to push/pull traffic
        /// </summary>
        public void Start()
        {
            lock (TimerLock)
            {
                if (SendTimer != null)
                {
                    SendTimer.Cancel();
                    SendTimer = null;
                }
            }

            SendTimer = SocketServer.QuickTimerControllerCPU.CreateTimer(20, new SocketServer.DelegateTimerFired(OnTimeToPushPacket), "", null);
        }
Example #8
0
 public void OnTimeToPushPacket(IMediaTimer timer)
 {
     DoPushPull(new TimeSpan(0, 0, 0, 0, 20));
 }
Example #9
0
 /// Time to decode the next packet and add the audio to our outgoing audio buffer
 ///
 void OnTimeToForwardPacket(IMediaTimer timer)
 {
     PushNextPacket();
 }
Example #10
0
 void OnTimeToPushPacket(IMediaTimer timer)
 {
     SendNextPacket();
 }