12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace TsViewer
- {
- public class TsRtpSource : TsUdpSource
- {
- internal override void ProcessPacket(UdpPacket packet)
- {
- base.ProcessPacket(packet);
- }
- private class RtpPacket
- {
- private byte header1;
-
-
-
-
- private byte header2 = 0x80;
-
-
- private byte PayloadType { get; set; }
-
-
- public ushort SequenceNumber { get; set; }
-
- public uint TimeStamp { get; set; }
-
- public uint SynchronizationSource { get; set; }
-
- public IList<uint> ContributingSources { get; private set; }
-
- public RtpExtension Extension { get; set; }
- public byte[] Payload { get; set; }
- public byte[] Padding { get; set; }
- public RtpPacket()
- {
- ContributingSources = new List<uint>();
- }
- public RtpPacket(byte[] buffer, int offset) : this()
- {
- int position = offset;
- header1 = buffer[offset++];
- header2 = buffer[offset++];
- SequenceNumber = (ushort)(buffer[offset++] << 8 & buffer[offset++]);
- SynchronizationSource = (uint)(buffer[offset++] << 24 & buffer[offset++] << 16 & buffer[offset++] << 8 & buffer[offset++]);
-
-
-
-
- }
- }
- private class RtpExtension
- {
- public uint Identifier { get; set; }
- public byte[] Data;
- }
- }
- }
|