Files
cuetools.net/CUETools.Codecs.MPEG/TsStream.cs
Grigory Chudov 47d1b09814 IAudioTitleSet
2018-04-30 22:32:49 -04:00

60 lines
2.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Text;
namespace CUETools.Codecs.MPEG
{
internal class TsStream
{
internal UInt16 channel; // channel number (1,2 ...)
internal int streamId; // stream number in channel
internal byte type; // 0xff - not ES
internal AudioPCMConfig pcm;
internal byte[] savedBuffer;
internal int savedBufferOffset;
internal int savedBufferSize;
internal byte[] psi; // PAT,PMT cache (only for PSI streams)
internal int psi_len;
internal int psi_offset;
internal int psi_table;
internal bool at_packet_header;
internal byte ts_stream_id; // MPEG stream id
internal bool is_opened;
internal UInt64 dts; // current MPEG stream DTS (presentation time for audio, decode time for video)
internal UInt64 first_dts;
internal UInt64 first_pts;
internal UInt64 last_pts;
internal UInt32 frame_length; // frame length in ticks (90 ticks = 1 ms, 90000/frame_length=fps)
internal UInt32 frame_size; // frame size in bytes
internal UInt64 frame_num; // frame counter
internal TsStream()
{
is_opened = false;
psi = new byte[512];
psi_len = 0;
psi_offset = 0;
psi_table = 0;
channel = 0xffff;
streamId = 0;
type = 0xff;
ts_stream_id = 0;
dts = 0;
first_dts = 0;
first_pts = 0;
last_pts = 0;
frame_length = 0;
frame_size = 0;
frame_num = 0;
pcm = null;
savedBuffer = new byte[192];
savedBufferOffset = 0;
savedBufferSize = 0;
}
};
}