-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathtypes.go
70 lines (60 loc) · 1.51 KB
/
types.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package mpeg2ts
import "sync"
const PacketSizeDefault = 188
const PacketSizeWithFEC = 204
type MPEG2TS struct {
PacketList
chunkSize int
}
type PacketList struct {
packets []Packet
mutex *sync.Mutex
chunkSize int
}
// MPEG2-TS Packet
type Packet struct {
Index int
Data []byte
SyncByte byte
PID PID
TransportScrambleControl byte
AdaptationFieldControl byte
TransportErrorIndicator bool
PayloadUnitStartIndicator bool
TransportPriorityIndicator bool
ContinuityCheckIndex byte
AdaptationField AdaptationField
isHeaderParsed bool
}
type AdaptationField struct {
Length byte
DiscontinuityIndicator bool
RandomAccessIndicator bool
ESPriorityIndicator bool
PCRFlag bool
OPCRFlag bool
SplicingPointFlag bool
TransportPrivateDataFlag bool
ExtensionFlag bool
ProgramClockReference ProgramClockReference
OriginalProgramClockReference ProgramClockReference
SpliceCountdown byte
TransportPrivateData TransportPrivateData
ExtensionLength byte
Stuffing []byte
}
type ProgramClockReference struct {
Base uint64
Extension uint16
}
type TransportPrivateData struct {
Length byte
Data []byte
}
type StreamCheckResult struct {
DropCount int
DropList []struct {
Description string
Index int
}
}