Esempio n. 1
0
        private void RTSPClient_RtpPacketReceieved(object sender, Media.Rtp.RtpPacket packet = null, Media.Rtp.RtpClient.TransportContext tc = null)
        {
            if (InvokeRequired)
            {
                MethodInvoker del = delegate { RTSPClient_RtpPacketReceieved(sender, packet, tc); };
                Invoke(del);
            }
            else
            {
                if ((m_rtspClient != null))
                {
                    if (!m_rtspClient.LivePlay)
                    {
                        label2.Text = "Remaining: " +
                                      (DateTime.UtcNow - m_rtspClient.StartedPlaying.Value).Subtract(m_rtspClient.EndTime.Value).ToString();
                    }
                }
                RTSPMessagesTextBox.AppendText("RTSPClient_RtpPacketReceieved" + Environment.NewLine);
                RTSPMessagesTextBox.AppendText("@" + packet.Created.ToUniversalTime().ToString() + " - " + packet.ToString() + Environment.NewLine);

                RTSPMessagesTextBox.AppendText("IsComplete = " + packet.IsComplete.ToString() + ", ");
                RTSPMessagesTextBox.AppendText("IsCompressed = " + packet.IsCompressed.ToString() + ", ");
                RTSPMessagesTextBox.AppendText("Length = " + packet.Length.ToString() + ", ");
                RTSPMessagesTextBox.AppendText("SequenceNumber = " + packet.SequenceNumber.ToString() + ", ");
                RTSPMessagesTextBox.AppendText("PayloadType = " + packet.PayloadType.ToString() + ", " + Environment.NewLine);

#if DRIBBLE
                try
                {
                    int count     = 0;
                    int byteCount = 40;

                    foreach (byte payloadByte in packet.PayloadData)
                    {
                        RTSPMessagesTextBox.AppendText(String.Format("{0:X2}", payloadByte));
                        RTSPMessagesTextBox.AppendText(" ");
                        if (count++ > byteCount)
                        {
                            break;
                        }
                    }

                    RTSPMessagesTextBox.AppendText(Environment.NewLine);
                }
                catch (Exception ex)
                {
                    RTSPMessagesTextBox.AppendText("Image Exception:" + ex.Message + Environment.NewLine);
                }
#endif

                RTSPMessagesTextBox.AppendText(Environment.NewLine);
            }
        }
Esempio n. 2
0
        private void RTSPClient_RtpFrameChanged(object sender, Media.Rtp.RtpFrame frame = null, Media.Rtp.RtpClient.TransportContext tc = null, bool final = false)
        {
            if (InvokeRequired)
            {
                MethodInvoker del = delegate { RTSPClient_RtpFrameChanged(sender, frame, tc, final); };
                Invoke(del);
            }
            else
            {
                RTSPMessagesTextBox.AppendText("RTSPClient_RtpFrameChanged" + Environment.NewLine);
                RTSPMessagesTextBox.AppendText("@" + frame.Created.ToUniversalTime().ToString() + " - " + frame.ToString() + Environment.NewLine);

                frame.Depacketize();

                //If the frame has depacketize data
                if (frame.HasDepacketized)
                {
                    RTSPMessagesTextBox.AppendText("BufferSize = " + frame.Buffer.Length.ToString() + Environment.NewLine);
                    RTSPMessagesTextBox.AppendText("Packets = " + frame.Count.ToString() + Environment.NewLine);

                    System.IO.Stream buffer = frame.Buffer;

                    /*
                     * //Check for the expected length
                     * if (buffer.Length != frameCount) throw new Exception("More data in buffer than expected");
                     *
                     * //Read the buffer
                     * while (buffer.Position < frameCount)
                     * {
                     *      //If the byte is out of order then throw an exception
                     *      if (buffer.ReadByte() != expected++) throw new Exception("Data at wrong position");
                     * }
                     */
                }
                else
                {
                    RTSPMessagesTextBox.AppendText("Not DEPACKETIZED" + Environment.NewLine);
                }
            }
        }
Esempio n. 3
0
        private void RTSPClient_OnResponse(RtspClient sender, RtspMessage request, RtspMessage response)
        {
            if (InvokeRequired)
            {
                MethodInvoker del = delegate { RTSPClient_OnResponse(sender, request, response); };
                Invoke(del);
            }
            else
            {
                if (request != null && response != null)
                {
                    //Disable keep alives if indicated
                    //m_rtspClient.DisableKeepAliveRequest = checkBox1.Checked;

                    RTSPMessagesTextBox.AppendText("RTSPClient_OnResponse (Request)" + Environment.NewLine);
                    RTSPMessagesTextBox.AppendText("@" + request.Created.ToUniversalTime().ToString() + " - " + request.ToString() + Environment.NewLine);

                    RTSPMessagesTextBox.AppendText("RTSPClient_OnResponse (Response)" + Environment.NewLine);
                    RTSPMessagesTextBox.AppendText("@" + response.Created.ToUniversalTime().ToString() + " - " + response.ToString() + Environment.NewLine);
                }
            }
        }