using JT1078.Hls.Enums; using JT1078.Hls.Formatters; using JT1078.Hls.MessagePack; using System; using System.Collections.Generic; using System.Text; namespace JT1078.Hls { public class TS_PMT_Component: ITSMessagePackFormatter { /// /// 流类型,标志是Video还是Audio还是其他数据,h.264编码对应0x1b,aac编码对应0x0f,mp3编码对应0x03 /// 8bit /// public StreamType StreamType { get; set; } /// /// 固定为二进制111(7) /// 0111_0000_0000_0000 /// 3bit /// internal byte Reserved1 { get; set; } = 0x07; /// /// 与StreamType对应的PID /// 13bit /// public ushort ElementaryPID { get; set; } /// /// 固定为二进制1111(15) /// 1111_0000_0000_0000 /// 4bit /// internal byte Reserved2 { get; set; } = 0x0F; /// /// 描述信息,指定为0x000表示没有 /// 12bit /// internal ushort ESInfoLength { get; set; } = 0x000; public void ToBuffer(ref TSMessagePackWriter writer) { writer.WriteByte((byte)StreamType); writer.WriteUInt16((ushort)(0111_0000_0000_0000| ElementaryPID)); writer.WriteUInt16((ushort)(1111_0000_0000_0000| ESInfoLength)); } } }