@@ -81,13 +81,50 @@ type Period struct {
81
81
AdaptationSets []* AdaptationSet `xml:"AdaptationSet,omitempty"`
82
82
}
83
83
84
+ type DescriptorType struct {
85
+ SchemeIDURI * string `xml:"schemeIDURI,attr"`
86
+ Value * string `xml:"value,attr"`
87
+ ID * string `xml:"id,attr"`
88
+ }
89
+
90
+ // ISO 23009-1-2014 5.3.7
91
+ type CommonAttributesAndElements struct {
92
+ Profiles * string `xml:"profiles,attr"`
93
+ Width * string `xml:"width,attr"`
94
+ Height * string `xml:"height,attr"`
95
+ Sar * string `xml:"sar,attr"`
96
+ FrameRate * string `xml:"frameRate,attr"`
97
+ AudioSamplingRate * string `xml:"audioSamplingRate,attr"`
98
+ MimeType * string `xml:"mimeType,attr"`
99
+ SegmentProfiles * string `xml:"segmentProfiles,attr"`
100
+ Codecs * string `xml:"codecs,attr"`
101
+ MaximumSAPPeriod * string `xml:"MaximumSAPPeriod,attr"`
102
+ StartWithSAP * string `xml:"startWithSAP,attr"`
103
+ MaxPlayoutRate * string `xml:"maxPlayoutRate,attr"`
104
+ ScanType * string `xml:"scanType,attr"`
105
+ FramePacking * DescriptorType `xml:"framePacking,attr"`
106
+ AudioChannelConfiguration * DescriptorType `xml:"audioChannelConfiguration,attr"`
107
+ ContentProtection * DescriptorType `xml:"contentProtection,attr"`
108
+ EssentialProperty * DescriptorType `xml:"essentialProperty,attr"`
109
+ SupplementalProperty * DescriptorType `xml:"supplmentalProperty,attr"`
110
+ InbandEventStream * DescriptorType `xml:"inbandEventStream,attr"`
111
+ }
112
+
84
113
type AdaptationSet struct {
85
- MimeType * string `xml:"mimeType,attr"`
86
- ScanType * string `xml:"scanType,attr"`
114
+ CommonAttributesAndElements
115
+ MimeType * string `xml:"mimeType,attr"` // Common attribute, can be deprecated here
116
+ ScanType * string `xml:"scanType,attr"` // Common attribute, can be deprecated here
87
117
SegmentAlignment * bool `xml:"segmentAlignment,attr"`
88
- StartWithSAP * int64 `xml:"startWithSAP,attr"`
118
+ StartWithSAP * int64 `xml:"startWithSAP,attr"` // Common attribute, can be deprecated here
89
119
Lang * string `xml:"lang,attr"`
90
- ContentProtection []ContentProtectioner `xml:"ContentProtection,omitempty"`
120
+ ID * string `xml:"id,attr"`
121
+ Group * string `xml:"group,attr"`
122
+ PAR * string `xml:"par,attr"`
123
+ MinBandwidth * string `xml:"minBandwidth,attr"`
124
+ MaxBandwidth * string `xml:"maxBandwidth,attr"`
125
+ MinWidth * string `xml:"minWidth,attr"`
126
+ MaxWidth * string `xml:"maxWidth,attr"`
127
+ ContentProtection []ContentProtectioner `xml:"ContentProtection,omitempty"` // Common attribute, can be deprecated here
91
128
Roles []* Role `xml:"Role,omitempty"`
92
129
SegmentBase * SegmentBase `xml:"SegmentBase,omitempty"`
93
130
SegmentList * SegmentList `xml:"SegmentList,omitempty"`
@@ -159,6 +196,7 @@ type SegmentTemplate struct {
159
196
}
160
197
161
198
type Representation struct {
199
+ CommonAttributesAndElements
162
200
AdaptationSet * AdaptationSet `xml:"-"`
163
201
AudioChannelConfiguration * AudioChannelConfiguration `xml:"AudioChannelConfiguration,omitempty"`
164
202
AudioSamplingRate * int64 `xml:"audioSamplingRate,attr"` // Audio
0 commit comments