github.com/bluenviron/mediacommon@v1.9.3/pkg/formats/fmp4/init_test.go (about) 1 package fmp4 2 3 import ( 4 "bytes" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 9 "github.com/bluenviron/mediacommon/pkg/codecs/mpeg4audio" 10 "github.com/bluenviron/mediacommon/pkg/formats/fmp4/seekablebuffer" 11 ) 12 13 var testSPS = []byte{ 14 0x67, 0x42, 0xc0, 0x28, 0xd9, 0x00, 0x78, 0x02, 15 0x27, 0xe5, 0x84, 0x00, 0x00, 0x03, 0x00, 0x04, 16 0x00, 0x00, 0x03, 0x00, 0xf0, 0x3c, 0x60, 0xc9, 17 0x20, 18 } 19 20 var testVideoTrack = &CodecH264{ 21 SPS: testSPS, 22 PPS: []byte{0x08}, 23 } 24 25 var testAudioTrack = &CodecMPEG4Audio{ 26 Config: mpeg4audio.Config{ 27 Type: 2, 28 SampleRate: 44100, 29 ChannelCount: 2, 30 }, 31 } 32 33 var casesInit = []struct { 34 name string 35 enc []byte 36 dec Init 37 }{ 38 { 39 "av1", 40 []byte{ 41 0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70, 42 0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01, 43 0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32, 44 0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66, 45 0x00, 0x00, 0x02, 0x74, 0x6d, 0x6f, 0x6f, 0x76, 46 0x00, 0x00, 0x00, 0x6c, 0x6d, 0x76, 0x68, 0x64, 47 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 48 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8, 49 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 50 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 51 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 52 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 53 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 54 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 55 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 56 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 57 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 58 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 59 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0xd8, 60 0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c, 61 0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x03, 62 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 63 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 64 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 65 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 66 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 67 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 68 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 69 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 70 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 71 0x07, 0x80, 0x00, 0x00, 0x03, 0x24, 0x00, 0x00, 72 0x00, 0x00, 0x01, 0x74, 0x6d, 0x64, 0x69, 0x61, 73 0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64, 74 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 75 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0x90, 76 0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00, 77 0x00, 0x00, 0x00, 0x2d, 0x68, 0x64, 0x6c, 0x72, 78 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 79 0x76, 0x69, 0x64, 0x65, 0x00, 0x00, 0x00, 0x00, 80 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 81 0x56, 0x69, 0x64, 0x65, 0x6f, 0x48, 0x61, 0x6e, 82 0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x01, 83 0x1f, 0x6d, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00, 84 0x14, 0x76, 0x6d, 0x68, 0x64, 0x00, 0x00, 0x00, 85 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 86 0x00, 0x00, 0x00, 0x00, 0x24, 0x64, 0x69, 0x6e, 87 0x66, 0x00, 0x00, 0x00, 0x1c, 0x64, 0x72, 0x65, 88 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 89 0x01, 0x00, 0x00, 0x00, 0x0c, 0x75, 0x72, 0x6c, 90 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 91 0xdf, 0x73, 0x74, 0x62, 0x6c, 0x00, 0x00, 0x00, 92 0x93, 0x73, 0x74, 0x73, 0x64, 0x00, 0x00, 0x00, 93 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 94 0x83, 0x61, 0x76, 0x30, 0x31, 0x00, 0x00, 0x00, 95 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 96 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 97 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x03, 98 0x24, 0x00, 0x48, 0x00, 0x00, 0x00, 0x48, 0x00, 99 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 100 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 101 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 102 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 103 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 104 0x18, 0xff, 0xff, 0x00, 0x00, 0x00, 0x19, 0x61, 105 0x76, 0x31, 0x43, 0x81, 0x08, 0x0c, 0x00, 0x0a, 106 0x0b, 0x00, 0x00, 0x00, 0x42, 0xa7, 0xbf, 0xe4, 107 0x60, 0x0d, 0x00, 0x40, 0x00, 0x00, 0x00, 0x14, 108 0x62, 0x74, 0x72, 0x74, 0x00, 0x00, 0x00, 0x00, 109 0x00, 0x0f, 0x42, 0x40, 0x00, 0x0f, 0x42, 0x40, 110 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x74, 0x73, 111 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 112 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x73, 0x63, 113 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 114 0x00, 0x00, 0x00, 0x14, 0x73, 0x74, 0x73, 0x7a, 115 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 116 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 117 0x73, 0x74, 0x63, 0x6f, 0x00, 0x00, 0x00, 0x00, 118 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 119 0x6d, 0x76, 0x65, 0x78, 0x00, 0x00, 0x00, 0x20, 120 0x74, 0x72, 0x65, 0x78, 0x00, 0x00, 0x00, 0x00, 121 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 122 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 123 0x00, 0x00, 0x00, 0x00, 124 }, 125 Init{ 126 Tracks: []*InitTrack{{ 127 ID: 1, 128 TimeScale: 90000, 129 Codec: &CodecAV1{ 130 SequenceHeader: []byte{ 131 8, 0, 0, 0, 66, 167, 191, 228, 96, 13, 0, 64, 132 }, 133 }, 134 }}, 135 }, 136 }, 137 { 138 "vp9", 139 []byte{ 140 0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70, 141 0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01, 142 0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32, 143 0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66, 144 0x00, 0x00, 0x02, 0x6f, 0x6d, 0x6f, 0x6f, 0x76, 145 0x00, 0x00, 0x00, 0x6c, 0x6d, 0x76, 0x68, 0x64, 146 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 147 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8, 148 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 149 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 150 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 152 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 153 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 154 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 155 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 156 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 157 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 158 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0xd3, 159 0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c, 160 0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x03, 161 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 162 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 163 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 164 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 165 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 166 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 167 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 168 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 169 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 170 0x07, 0x80, 0x00, 0x00, 0x04, 0x38, 0x00, 0x00, 171 0x00, 0x00, 0x01, 0x6f, 0x6d, 0x64, 0x69, 0x61, 172 0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64, 173 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 174 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0x90, 175 0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00, 176 0x00, 0x00, 0x00, 0x2d, 0x68, 0x64, 0x6c, 0x72, 177 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 178 0x76, 0x69, 0x64, 0x65, 0x00, 0x00, 0x00, 0x00, 179 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 180 0x56, 0x69, 0x64, 0x65, 0x6f, 0x48, 0x61, 0x6e, 181 0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x01, 182 0x1a, 0x6d, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00, 183 0x14, 0x76, 0x6d, 0x68, 0x64, 0x00, 0x00, 0x00, 184 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 185 0x00, 0x00, 0x00, 0x00, 0x24, 0x64, 0x69, 0x6e, 186 0x66, 0x00, 0x00, 0x00, 0x1c, 0x64, 0x72, 0x65, 187 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 188 0x01, 0x00, 0x00, 0x00, 0x0c, 0x75, 0x72, 0x6c, 189 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 190 0xda, 0x73, 0x74, 0x62, 0x6c, 0x00, 0x00, 0x00, 191 0x8e, 0x73, 0x74, 0x73, 0x64, 0x00, 0x00, 0x00, 192 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 193 0x7e, 0x76, 0x70, 0x30, 0x39, 0x00, 0x00, 0x00, 194 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 195 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 196 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x04, 197 0x38, 0x00, 0x48, 0x00, 0x00, 0x00, 0x48, 0x00, 198 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 200 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 201 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 202 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 203 0x18, 0xff, 0xff, 0x00, 0x00, 0x00, 0x14, 0x76, 204 0x70, 0x63, 0x43, 0x01, 0x00, 0x00, 0x00, 0x01, 205 0x0a, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 206 0x00, 0x00, 0x14, 0x62, 0x74, 0x72, 0x74, 0x00, 207 0x00, 0x00, 0x00, 0x00, 0x0f, 0x42, 0x40, 0x00, 208 0x0f, 0x42, 0x40, 0x00, 0x00, 0x00, 0x10, 0x73, 209 0x74, 0x74, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 210 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x73, 211 0x74, 0x73, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 212 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x73, 213 0x74, 0x73, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x00, 214 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 215 0x00, 0x00, 0x10, 0x73, 0x74, 0x63, 0x6f, 0x00, 216 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 217 0x00, 0x00, 0x28, 0x6d, 0x76, 0x65, 0x78, 0x00, 218 0x00, 0x00, 0x20, 0x74, 0x72, 0x65, 0x78, 0x00, 219 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 220 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 221 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 222 }, 223 Init{ 224 Tracks: []*InitTrack{{ 225 ID: 1, 226 TimeScale: 90000, 227 Codec: &CodecVP9{ 228 Width: 1920, 229 Height: 1080, 230 Profile: 1, 231 BitDepth: 8, 232 ChromaSubsampling: 1, 233 ColorRange: false, 234 }, 235 }}, 236 }, 237 }, 238 { 239 "h265", 240 []byte{ 241 0x00, 0x00, 0x00, 0x20, 242 'f', 't', 'y', 'p', 243 0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01, 244 0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32, 245 0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66, 246 0x00, 0x00, 0x02, 0xb8, 247 'm', 'o', 'o', 'v', 248 0x00, 0x00, 0x00, 0x6c, 249 'm', 'v', 'h', 'd', 250 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 251 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8, 252 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 253 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 254 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 256 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 257 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 258 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 259 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 260 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 261 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 262 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x02, 0x1c, 263 0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c, 264 0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x03, 265 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 266 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 267 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 268 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 269 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 270 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 271 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 272 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 273 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 274 0x07, 0x80, 0x00, 0x00, 0x04, 0x38, 0x00, 0x00, 275 0x00, 0x00, 0x01, 0xb8, 0x6d, 0x64, 0x69, 0x61, 276 0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64, 277 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 278 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0x90, 279 0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00, 280 0x00, 0x00, 0x00, 0x2d, 0x68, 0x64, 0x6c, 0x72, 281 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 282 0x76, 0x69, 0x64, 0x65, 0x00, 0x00, 0x00, 0x00, 283 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 284 0x56, 0x69, 0x64, 0x65, 0x6f, 0x48, 0x61, 0x6e, 285 0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x01, 286 0x63, 0x6d, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00, 287 0x14, 0x76, 0x6d, 0x68, 0x64, 0x00, 0x00, 0x00, 288 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 289 0x00, 0x00, 0x00, 0x00, 0x24, 0x64, 0x69, 0x6e, 290 0x66, 0x00, 0x00, 0x00, 0x1c, 0x64, 0x72, 0x65, 291 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 292 0x01, 0x00, 0x00, 0x00, 0x0c, 0x75, 0x72, 0x6c, 293 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 294 0x23, 0x73, 0x74, 0x62, 0x6c, 0x00, 0x00, 0x00, 295 0xd7, 0x73, 0x74, 0x73, 0x64, 0x00, 0x00, 0x00, 296 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 297 0xc7, 0x68, 0x65, 0x76, 0x31, 0x00, 0x00, 0x00, 298 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 299 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 300 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x04, 301 0x38, 0x00, 0x48, 0x00, 0x00, 0x00, 0x48, 0x00, 302 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 303 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 304 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 305 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 306 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 307 0x18, 0xff, 0xff, 0x00, 0x00, 0x00, 0x5d, 0x68, 308 0x76, 0x63, 0x43, 0x01, 0x01, 0x60, 0x00, 0x00, 309 0x00, 0x03, 0x00, 0x90, 0x00, 0x00, 0x03, 0x78, 310 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 311 0x13, 0x03, 0x20, 0x00, 0x01, 0x00, 0x04, 0x01, 312 0x02, 0x03, 0x04, 0x21, 0x00, 0x01, 0x00, 0x2a, 313 0x42, 0x01, 0x01, 0x01, 0x60, 0x00, 0x00, 0x03, 314 0x00, 0x90, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 315 0x00, 0x78, 0xa0, 0x03, 0xc0, 0x80, 0x10, 0xe5, 316 0x96, 0x66, 0x69, 0x24, 0xca, 0xe0, 0x10, 0x00, 317 0x00, 0x03, 0x00, 0x10, 0x00, 0x00, 0x03, 0x01, 318 0xe0, 0x80, 0x22, 0x00, 0x01, 0x00, 0x01, 0x08, 319 0x00, 0x00, 0x00, 0x14, 0x62, 0x74, 0x72, 0x74, 320 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x42, 0x40, 321 0x00, 0x0f, 0x42, 0x40, 0x00, 0x00, 0x00, 0x10, 322 0x73, 0x74, 0x74, 0x73, 0x00, 0x00, 0x00, 0x00, 323 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 324 0x73, 0x74, 0x73, 0x63, 0x00, 0x00, 0x00, 0x00, 325 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 326 0x73, 0x74, 0x73, 0x7a, 0x00, 0x00, 0x00, 0x00, 327 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 328 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x63, 0x6f, 329 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 330 0x00, 0x00, 0x00, 0x28, 0x6d, 0x76, 0x65, 0x78, 331 0x00, 0x00, 0x00, 0x20, 0x74, 0x72, 0x65, 0x78, 332 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 333 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 334 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 335 }, 336 Init{ 337 Tracks: []*InitTrack{ 338 { 339 ID: 1, 340 TimeScale: 90000, 341 Codec: &CodecH265{ 342 VPS: []byte{0x01, 0x02, 0x03, 0x04}, 343 SPS: []byte{ 344 0x42, 0x01, 0x01, 0x01, 0x60, 0x00, 0x00, 0x03, 345 0x00, 0x90, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 346 0x00, 0x78, 0xa0, 0x03, 0xc0, 0x80, 0x10, 0xe5, 347 0x96, 0x66, 0x69, 0x24, 0xca, 0xe0, 0x10, 0x00, 348 0x00, 0x03, 0x00, 0x10, 0x00, 0x00, 0x03, 0x01, 349 0xe0, 0x80, 350 }, 351 PPS: []byte{0x08}, 352 }, 353 }, 354 }, 355 }, 356 }, 357 { 358 "h264", 359 []byte{ 360 0x00, 0x00, 0x00, 0x20, 361 'f', 't', 'y', 'p', 362 0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01, 363 0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32, 364 0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66, 365 0x00, 0x00, 0x02, 0x88, 366 'm', 'o', 'o', 'v', 367 0x00, 0x00, 0x00, 0x6c, 368 'm', 'v', 'h', 'd', 369 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 370 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8, 371 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 372 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 373 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 374 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 375 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 376 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 377 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 378 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 379 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 380 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 381 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0xec, 382 't', 'r', 'a', 'k', 383 0x00, 0x00, 0x00, 0x5c, 384 't', 'k', 'h', 'd', 385 0x00, 0x00, 0x00, 0x03, 386 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 387 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 388 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 389 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 390 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 391 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 392 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 393 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 394 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 395 0x07, 0x80, 0x00, 0x00, 0x04, 0x38, 0x00, 0x00, 396 0x00, 0x00, 0x01, 0x88, 397 'm', 'd', 'i', 'a', 398 0x00, 0x00, 0x00, 0x20, 399 'm', 'd', 'h', 'd', 400 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 401 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0x90, 402 0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00, 403 0x00, 0x00, 0x00, 0x2d, 404 'h', 'd', 'l', 'r', 405 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 406 0x76, 0x69, 0x64, 0x65, 0x00, 0x00, 0x00, 0x00, 407 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 408 0x56, 0x69, 0x64, 0x65, 0x6f, 0x48, 0x61, 0x6e, 409 0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x01, 410 0x33, 411 'm', 'i', 'n', 'f', 412 0x00, 0x00, 0x00, 413 0x14, 414 'v', 'm', 'h', 'd', 415 0x00, 0x00, 0x00, 416 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 417 0x00, 0x00, 0x00, 0x00, 0x24, 418 'd', 'i', 'n', 'f', 419 0x00, 0x00, 0x00, 0x1c, 0x64, 0x72, 0x65, 420 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 421 0x01, 0x00, 0x00, 0x00, 0x0c, 0x75, 0x72, 0x6c, 422 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 423 0xf3, 0x73, 0x74, 0x62, 0x6c, 0x00, 0x00, 0x00, 424 0xa7, 0x73, 0x74, 0x73, 0x64, 0x00, 0x00, 0x00, 425 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 426 0x97, 0x61, 0x76, 0x63, 0x31, 0x00, 0x00, 0x00, 427 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 428 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 429 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x04, 430 0x38, 0x00, 0x48, 0x00, 0x00, 0x00, 0x48, 0x00, 431 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 432 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 433 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 434 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 435 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 436 0x18, 0xff, 0xff, 0x00, 0x00, 0x00, 0x2d, 0x61, 437 0x76, 0x63, 0x43, 0x01, 0x42, 0xc0, 0x28, 0x03, 438 0x01, 0x00, 0x19, 0x67, 0x42, 0xc0, 0x28, 0xd9, 439 0x00, 0x78, 0x02, 0x27, 0xe5, 0x84, 0x00, 0x00, 440 0x03, 0x00, 0x04, 0x00, 0x00, 0x03, 0x00, 0xf0, 441 0x3c, 0x60, 0xc9, 0x20, 0x01, 0x00, 0x01, 0x08, 442 0x00, 0x00, 0x00, 0x14, 0x62, 0x74, 0x72, 0x74, 443 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x42, 0x40, 444 0x00, 0x0f, 0x42, 0x40, 0x00, 0x00, 0x00, 0x10, 445 0x73, 0x74, 0x74, 0x73, 0x00, 0x00, 0x00, 0x00, 446 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 447 0x73, 0x74, 0x73, 0x63, 0x00, 0x00, 0x00, 0x00, 448 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 449 0x73, 0x74, 0x73, 0x7a, 0x00, 0x00, 0x00, 0x00, 450 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 451 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x63, 0x6f, 452 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 453 0x00, 0x00, 0x00, 0x28, 0x6d, 0x76, 0x65, 0x78, 454 0x00, 0x00, 0x00, 0x20, 0x74, 0x72, 0x65, 0x78, 455 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 456 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 457 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 458 }, 459 Init{ 460 Tracks: []*InitTrack{ 461 { 462 ID: 1, 463 TimeScale: 90000, 464 Codec: testVideoTrack, 465 }, 466 }, 467 }, 468 }, 469 { 470 "mpeg-4 video", 471 []byte{ 472 0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70, 473 0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01, 474 0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32, 475 0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66, 476 0x00, 0x00, 0x02, 0xbc, 0x6d, 0x6f, 0x6f, 0x76, 477 0x00, 0x00, 0x00, 0x6c, 0x6d, 0x76, 0x68, 0x64, 478 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 479 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8, 480 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 481 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 482 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 483 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 484 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 485 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 486 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 487 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 488 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 489 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 490 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x02, 0x20, 491 0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c, 492 0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x03, 493 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 494 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 495 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 496 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 497 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 498 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 499 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 500 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 501 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 502 0x03, 0x20, 0x00, 0x00, 0x02, 0x58, 0x00, 0x00, 503 0x00, 0x00, 0x01, 0xbc, 0x6d, 0x64, 0x69, 0x61, 504 0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64, 505 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 506 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0x90, 507 0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00, 508 0x00, 0x00, 0x00, 0x2d, 0x68, 0x64, 0x6c, 0x72, 509 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 510 0x76, 0x69, 0x64, 0x65, 0x00, 0x00, 0x00, 0x00, 511 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 512 0x56, 0x69, 0x64, 0x65, 0x6f, 0x48, 0x61, 0x6e, 513 0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x01, 514 0x67, 0x6d, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00, 515 0x14, 0x76, 0x6d, 0x68, 0x64, 0x00, 0x00, 0x00, 516 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 517 0x00, 0x00, 0x00, 0x00, 0x24, 0x64, 0x69, 0x6e, 518 0x66, 0x00, 0x00, 0x00, 0x1c, 0x64, 0x72, 0x65, 519 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 520 0x01, 0x00, 0x00, 0x00, 0x0c, 0x75, 0x72, 0x6c, 521 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 522 0x27, 0x73, 0x74, 0x62, 0x6c, 0x00, 0x00, 0x00, 523 0xdb, 0x73, 0x74, 0x73, 0x64, 0x00, 0x00, 0x00, 524 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 525 0xcb, 0x6d, 0x70, 0x34, 0x76, 0x00, 0x00, 0x00, 526 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 527 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 528 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, 0x02, 529 0x58, 0x00, 0x48, 0x00, 0x00, 0x00, 0x48, 0x00, 530 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 531 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 532 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 533 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 534 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 535 0x18, 0xff, 0xff, 0x00, 0x00, 0x00, 0x61, 0x65, 536 0x73, 0x64, 0x73, 0x00, 0x00, 0x00, 0x00, 0x03, 537 0x80, 0x80, 0x80, 0x50, 0x00, 0x01, 0x00, 0x04, 538 0x80, 0x80, 0x80, 0x42, 0x20, 0x11, 0x00, 0x00, 539 0x00, 0x00, 0x0f, 0x42, 0x40, 0x00, 0x0f, 0x42, 540 0x40, 0x05, 0x80, 0x80, 0x80, 0x30, 0x00, 0x00, 541 0x01, 0xb0, 0x01, 0x00, 0x00, 0x01, 0xb5, 0x89, 542 0x13, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 543 0x20, 0x00, 0xc4, 0x8d, 0x88, 0x00, 0xf5, 0x3c, 544 0x04, 0x87, 0x14, 0x63, 0x00, 0x00, 0x01, 0xb2, 545 0x4c, 0x61, 0x76, 0x63, 0x35, 0x38, 0x2e, 0x31, 546 0x33, 0x34, 0x2e, 0x31, 0x30, 0x30, 0x06, 0x80, 547 0x80, 0x80, 0x01, 0x02, 0x00, 0x00, 0x00, 0x14, 548 0x62, 0x74, 0x72, 0x74, 0x00, 0x00, 0x00, 0x00, 549 0x00, 0x0f, 0x42, 0x40, 0x00, 0x0f, 0x42, 0x40, 550 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x74, 0x73, 551 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 552 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x73, 0x63, 553 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 554 0x00, 0x00, 0x00, 0x14, 0x73, 0x74, 0x73, 0x7a, 555 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 556 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 557 0x73, 0x74, 0x63, 0x6f, 0x00, 0x00, 0x00, 0x00, 558 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 559 0x6d, 0x76, 0x65, 0x78, 0x00, 0x00, 0x00, 0x20, 560 0x74, 0x72, 0x65, 0x78, 0x00, 0x00, 0x00, 0x00, 561 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 562 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 563 0x00, 0x00, 0x00, 0x00, 564 }, 565 Init{ 566 Tracks: []*InitTrack{ 567 { 568 ID: 1, 569 TimeScale: 90000, 570 Codec: &CodecMPEG4Video{ 571 Config: []byte{ 572 0x00, 0x00, 0x01, 0xb0, 0x01, 0x00, 0x00, 0x01, 573 0xb5, 0x89, 0x13, 0x00, 0x00, 0x01, 0x00, 0x00, 574 0x00, 0x01, 0x20, 0x00, 0xc4, 0x8d, 0x88, 0x00, 575 0xf5, 0x3c, 0x04, 0x87, 0x14, 0x63, 0x00, 0x00, 576 0x01, 0xb2, 0x4c, 0x61, 0x76, 0x63, 0x35, 0x38, 577 0x2e, 0x31, 0x33, 0x34, 0x2e, 0x31, 0x30, 0x30, 578 }, 579 }, 580 }, 581 }, 582 }, 583 }, 584 { 585 "mpeg-1 video", 586 []byte{ 587 0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70, 588 0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01, 589 0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32, 590 0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66, 591 0x00, 0x00, 0x02, 0xa2, 0x6d, 0x6f, 0x6f, 0x76, 592 0x00, 0x00, 0x00, 0x6c, 0x6d, 0x76, 0x68, 0x64, 593 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 594 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8, 595 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 596 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 597 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 598 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 599 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 600 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 601 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 602 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 603 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 604 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 605 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x02, 0x06, 606 0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c, 607 0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x03, 608 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 609 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 610 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 611 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 612 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 613 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 614 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 615 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 616 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 617 0x03, 0x20, 0x00, 0x00, 0x02, 0x58, 0x00, 0x00, 618 0x00, 0x00, 0x01, 0xa2, 0x6d, 0x64, 0x69, 0x61, 619 0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64, 620 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 621 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0x90, 622 0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00, 623 0x00, 0x00, 0x00, 0x2d, 0x68, 0x64, 0x6c, 0x72, 624 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 625 0x76, 0x69, 0x64, 0x65, 0x00, 0x00, 0x00, 0x00, 626 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 627 0x56, 0x69, 0x64, 0x65, 0x6f, 0x48, 0x61, 0x6e, 628 0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x01, 629 0x4d, 0x6d, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00, 630 0x14, 0x76, 0x6d, 0x68, 0x64, 0x00, 0x00, 0x00, 631 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 632 0x00, 0x00, 0x00, 0x00, 0x24, 0x64, 0x69, 0x6e, 633 0x66, 0x00, 0x00, 0x00, 0x1c, 0x64, 0x72, 0x65, 634 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 635 0x01, 0x00, 0x00, 0x00, 0x0c, 0x75, 0x72, 0x6c, 636 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 637 0x0d, 0x73, 0x74, 0x62, 0x6c, 0x00, 0x00, 0x00, 638 0xc1, 0x73, 0x74, 0x73, 0x64, 0x00, 0x00, 0x00, 639 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 640 0xb1, 0x6d, 0x70, 0x34, 0x76, 0x00, 0x00, 0x00, 641 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 642 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 643 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, 0x02, 644 0x58, 0x00, 0x48, 0x00, 0x00, 0x00, 0x48, 0x00, 645 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 646 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 647 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 648 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 649 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 650 0x18, 0xff, 0xff, 0x00, 0x00, 0x00, 0x47, 0x65, 651 0x73, 0x64, 0x73, 0x00, 0x00, 0x00, 0x00, 0x03, 652 0x80, 0x80, 0x80, 0x36, 0x00, 0x01, 0x00, 0x04, 653 0x80, 0x80, 0x80, 0x28, 0x61, 0x11, 0x00, 0x00, 654 0x00, 0x00, 0x0f, 0x42, 0x40, 0x00, 0x0f, 0x42, 655 0x40, 0x05, 0x80, 0x80, 0x80, 0x16, 0x00, 0x00, 656 0x01, 0xb3, 0x78, 0x04, 0x38, 0x35, 0xff, 0xff, 657 0xe0, 0x18, 0x00, 0x00, 0x01, 0xb5, 0x14, 0x4a, 658 0x00, 0x01, 0x00, 0x00, 0x06, 0x80, 0x80, 0x80, 659 0x01, 0x02, 0x00, 0x00, 0x00, 0x14, 0x62, 0x74, 660 0x72, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 661 0x42, 0x40, 0x00, 0x0f, 0x42, 0x40, 0x00, 0x00, 662 0x00, 0x10, 0x73, 0x74, 0x74, 0x73, 0x00, 0x00, 663 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 664 0x00, 0x10, 0x73, 0x74, 0x73, 0x63, 0x00, 0x00, 665 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 666 0x00, 0x14, 0x73, 0x74, 0x73, 0x7a, 0x00, 0x00, 667 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 668 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 669 0x63, 0x6f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 670 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6d, 0x76, 671 0x65, 0x78, 0x00, 0x00, 0x00, 0x20, 0x74, 0x72, 672 0x65, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 673 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 674 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 675 0x00, 0x00, 676 }, 677 Init{ 678 Tracks: []*InitTrack{ 679 { 680 ID: 1, 681 TimeScale: 90000, 682 Codec: &CodecMPEG1Video{ 683 Config: []byte{ 684 0x00, 0x00, 0x01, 0xb3, 0x78, 0x04, 0x38, 0x35, 685 0xff, 0xff, 0xe0, 0x18, 0x00, 0x00, 0x01, 0xb5, 686 0x14, 0x4a, 0x00, 0x01, 0x00, 0x00, 687 }, 688 }, 689 }, 690 }, 691 }, 692 }, 693 { 694 "mjpeg video", 695 []byte{ 696 0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70, 697 0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01, 698 0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32, 699 0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66, 700 0x00, 0x00, 0x02, 0x87, 0x6d, 0x6f, 0x6f, 0x76, 701 0x00, 0x00, 0x00, 0x6c, 0x6d, 0x76, 0x68, 0x64, 702 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 703 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8, 704 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 705 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 706 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 707 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 708 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 709 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 710 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 711 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 712 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 713 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 714 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0xeb, 715 0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c, 716 0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x03, 717 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 718 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 719 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 720 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 721 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 722 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 723 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 724 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 725 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 726 0x02, 0x80, 0x00, 0x00, 0x01, 0xe0, 0x00, 0x00, 727 0x00, 0x00, 0x01, 0x87, 0x6d, 0x64, 0x69, 0x61, 728 0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64, 729 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 730 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0x90, 731 0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00, 732 0x00, 0x00, 0x00, 0x2d, 0x68, 0x64, 0x6c, 0x72, 733 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 734 0x76, 0x69, 0x64, 0x65, 0x00, 0x00, 0x00, 0x00, 735 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 736 0x56, 0x69, 0x64, 0x65, 0x6f, 0x48, 0x61, 0x6e, 737 0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x01, 738 0x32, 0x6d, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00, 739 0x14, 0x76, 0x6d, 0x68, 0x64, 0x00, 0x00, 0x00, 740 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 741 0x00, 0x00, 0x00, 0x00, 0x24, 0x64, 0x69, 0x6e, 742 0x66, 0x00, 0x00, 0x00, 0x1c, 0x64, 0x72, 0x65, 743 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 744 0x01, 0x00, 0x00, 0x00, 0x0c, 0x75, 0x72, 0x6c, 745 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 746 0xf2, 0x73, 0x74, 0x62, 0x6c, 0x00, 0x00, 0x00, 747 0xa6, 0x73, 0x74, 0x73, 0x64, 0x00, 0x00, 0x00, 748 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 749 0x96, 0x6d, 0x70, 0x34, 0x76, 0x00, 0x00, 0x00, 750 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 751 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 752 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x80, 0x01, 753 0xe0, 0x00, 0x48, 0x00, 0x00, 0x00, 0x48, 0x00, 754 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 755 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 756 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 757 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 758 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 759 0x18, 0xff, 0xff, 0x00, 0x00, 0x00, 0x2c, 0x65, 760 0x73, 0x64, 0x73, 0x00, 0x00, 0x00, 0x00, 0x03, 761 0x80, 0x80, 0x80, 0x1b, 0x00, 0x01, 0x00, 0x04, 762 0x80, 0x80, 0x80, 0x0d, 0x6c, 0x11, 0x00, 0x00, 763 0x00, 0x00, 0x0f, 0x42, 0x40, 0x00, 0x0f, 0x42, 764 0x40, 0x06, 0x80, 0x80, 0x80, 0x01, 0x02, 0x00, 765 0x00, 0x00, 0x14, 0x62, 0x74, 0x72, 0x74, 0x00, 766 0x00, 0x00, 0x00, 0x00, 0x0f, 0x42, 0x40, 0x00, 767 0x0f, 0x42, 0x40, 0x00, 0x00, 0x00, 0x10, 0x73, 768 0x74, 0x74, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 769 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x73, 770 0x74, 0x73, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 771 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x73, 772 0x74, 0x73, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x00, 773 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 774 0x00, 0x00, 0x10, 0x73, 0x74, 0x63, 0x6f, 0x00, 775 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 776 0x00, 0x00, 0x28, 0x6d, 0x76, 0x65, 0x78, 0x00, 777 0x00, 0x00, 0x20, 0x74, 0x72, 0x65, 0x78, 0x00, 778 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 779 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 780 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 781 }, 782 Init{ 783 Tracks: []*InitTrack{ 784 { 785 ID: 1, 786 TimeScale: 90000, 787 Codec: &CodecMJPEG{ 788 Width: 640, 789 Height: 480, 790 }, 791 }, 792 }, 793 }, 794 }, 795 { 796 "opus", 797 []byte{ 798 0x00, 0x00, 0x00, 0x20, 799 'f', 't', 'y', 'p', 800 0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01, 801 0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32, 802 0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66, 803 0x00, 0x00, 0x02, 0x38, 804 'm', 'o', 'o', 'v', 805 0x00, 0x00, 0x00, 0x6c, 806 'm', 'v', 'h', 'd', 807 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 808 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8, 809 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 810 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 811 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 812 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 813 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 814 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 815 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 816 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 817 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 818 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 819 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0x9c, 820 0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c, 821 0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x03, 822 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 823 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 824 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 825 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 826 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 827 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 828 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 829 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 830 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 831 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 832 0x00, 0x00, 0x01, 0x38, 0x6d, 0x64, 0x69, 0x61, 833 0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64, 834 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 835 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbb, 0x80, 836 0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00, 837 0x00, 0x00, 0x00, 0x2d, 0x68, 0x64, 0x6c, 0x72, 838 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 839 0x73, 0x6f, 0x75, 0x6e, 0x00, 0x00, 0x00, 0x00, 840 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 841 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x48, 0x61, 0x6e, 842 0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 843 0xe3, 0x6d, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00, 844 0x10, 0x73, 0x6d, 0x68, 0x64, 0x00, 0x00, 0x00, 845 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 846 0x24, 0x64, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00, 847 0x1c, 0x64, 0x72, 0x65, 0x66, 0x00, 0x00, 0x00, 848 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 849 0x0c, 0x75, 0x72, 0x6c, 0x20, 0x00, 0x00, 0x00, 850 0x01, 0x00, 0x00, 0x00, 0xa7, 0x73, 0x74, 0x62, 851 0x6c, 0x00, 0x00, 0x00, 0x5b, 0x73, 0x74, 0x73, 852 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 853 0x01, 0x00, 0x00, 0x00, 0x4b, 0x4f, 0x70, 0x75, 854 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 855 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 856 0x00, 0x00, 0x02, 0x00, 0x10, 0x00, 0x00, 0x00, 857 0x00, 0xbb, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 858 0x13, 0x64, 0x4f, 0x70, 0x73, 0x00, 0x02, 0x01, 859 0x38, 0x00, 0x00, 0xbb, 0x80, 0x00, 0x00, 0x00, 860 0x00, 0x00, 0x00, 0x14, 0x62, 0x74, 0x72, 0x74, 861 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf7, 0x39, 862 0x00, 0x01, 0xf7, 0x39, 0x00, 0x00, 0x00, 0x10, 863 0x73, 0x74, 0x74, 0x73, 0x00, 0x00, 0x00, 0x00, 864 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 865 0x73, 0x74, 0x73, 0x63, 0x00, 0x00, 0x00, 0x00, 866 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 867 0x73, 0x74, 0x73, 0x7a, 0x00, 0x00, 0x00, 0x00, 868 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 869 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x63, 0x6f, 870 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 871 0x00, 0x00, 0x00, 0x28, 0x6d, 0x76, 0x65, 0x78, 872 0x00, 0x00, 0x00, 0x20, 0x74, 0x72, 0x65, 0x78, 873 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 874 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 875 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 876 }, 877 Init{ 878 Tracks: []*InitTrack{ 879 { 880 ID: 1, 881 TimeScale: 48000, 882 Codec: &CodecOpus{ 883 ChannelCount: 2, 884 }, 885 }, 886 }, 887 }, 888 }, 889 { 890 "mpeg-4 audio", 891 []byte{ 892 0x00, 0x00, 0x00, 0x20, 893 'f', 't', 'y', 'p', 894 0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01, 895 0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32, 896 0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66, 897 0x00, 0x00, 0x02, 0x58, 898 'm', 'o', 'o', 'v', 899 0x00, 0x00, 0x00, 0x6c, 900 'm', 'v', 'h', 'd', 901 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 902 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8, 903 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 904 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 905 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 906 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 907 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 908 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 909 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 910 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 911 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 912 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 913 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0xbc, 914 't', 'r', 'a', 'k', 915 0x00, 0x00, 0x00, 0x5c, 916 't', 'k', 'h', 'd', 917 0x00, 0x00, 0x00, 0x03, 918 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 919 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 920 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 921 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 922 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 923 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 924 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 925 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 926 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 927 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 928 0x00, 0x00, 0x01, 0x58, 929 'm', 'd', 'i', 'a', 930 0x00, 0x00, 0x00, 0x20, 931 'm', 'd', 'h', 'd', 932 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 933 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xac, 0x44, 934 0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00, 935 0x00, 0x00, 0x00, 0x2d, 936 'h', 'd', 'l', 'r', 937 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 938 0x73, 0x6f, 0x75, 0x6e, 0x00, 0x00, 0x00, 0x00, 939 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 940 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x48, 0x61, 0x6e, 941 0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x01, 942 0x03, 943 'm', 'i', 'n', 'f', 944 0x00, 0x00, 0x00, 0x10, 945 's', 'm', 'h', 'd', 946 0x00, 0x00, 0x00, 947 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 948 0x24, 949 'd', 'i', 'n', 'f', 950 0x00, 0x00, 0x00, 951 0x1c, 0x64, 0x72, 0x65, 0x66, 0x00, 0x00, 0x00, 952 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 953 0x0c, 0x75, 0x72, 0x6c, 0x20, 0x00, 0x00, 0x00, 954 0x01, 0x00, 0x00, 0x00, 0xc7, 0x73, 0x74, 0x62, 955 0x6c, 0x00, 0x00, 0x00, 0x7b, 0x73, 0x74, 0x73, 956 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 957 0x01, 0x00, 0x00, 0x00, 0x6b, 958 'm', 'p', '4', 'a', 959 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 960 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 961 0x00, 0x00, 0x02, 0x00, 0x10, 0x00, 0x00, 0x00, 962 0x00, 0xac, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 963 0x33, 964 'e', 's', 'd', 's', 965 0x00, 0x00, 0x00, 966 0x00, 0x03, 0x80, 0x80, 0x80, 0x22, 0x00, 0x01, 967 0x00, 0x04, 0x80, 0x80, 0x80, 0x14, 0x40, 0x15, 968 0x00, 0x00, 0x00, 0x00, 0x01, 0xf7, 0x39, 0x00, 969 0x01, 0xf7, 0x39, 0x05, 0x80, 0x80, 0x80, 0x02, 970 0x12, 0x10, 0x06, 0x80, 0x80, 0x80, 0x01, 0x02, 971 0x00, 0x00, 0x00, 0x14, 972 'b', 't', 'r', 't', 973 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf7, 0x39, 974 0x00, 0x01, 0xf7, 0x39, 0x00, 0x00, 0x00, 0x10, 975 0x73, 0x74, 0x74, 0x73, 0x00, 0x00, 0x00, 0x00, 976 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 977 0x73, 0x74, 0x73, 0x63, 0x00, 0x00, 0x00, 0x00, 978 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 979 0x73, 0x74, 0x73, 0x7a, 0x00, 0x00, 0x00, 0x00, 980 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 981 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x63, 0x6f, 982 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 983 0x00, 0x00, 0x00, 0x28, 984 'm', 'v', 'e', 'x', 985 0x00, 0x00, 0x00, 0x20, 986 't', 'r', 'e', 'x', 987 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 988 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 989 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 990 }, 991 Init{ 992 Tracks: []*InitTrack{ 993 { 994 ID: 1, 995 TimeScale: uint32(testAudioTrack.SampleRate), 996 Codec: testAudioTrack, 997 }, 998 }, 999 }, 1000 }, 1001 { 1002 "mpeg-1 audio", 1003 []byte{ 1004 0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70, 1005 0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01, 1006 0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32, 1007 0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66, 1008 0x00, 0x00, 0x02, 0x51, 0x6d, 0x6f, 0x6f, 0x76, 1009 0x00, 0x00, 0x00, 0x6c, 0x6d, 0x76, 0x68, 0x64, 1010 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1011 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8, 1012 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1013 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1014 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1015 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1016 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1017 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1018 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 1019 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1020 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1021 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1022 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0xb5, 1023 0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c, 1024 0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x03, 1025 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1026 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 1027 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1028 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 1029 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1030 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1031 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1032 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1033 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 1034 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1035 0x00, 0x00, 0x01, 0x51, 0x6d, 0x64, 0x69, 0x61, 1036 0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64, 1037 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1038 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0x90, 1039 0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00, 1040 0x00, 0x00, 0x00, 0x2d, 0x68, 0x64, 0x6c, 0x72, 1041 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1042 0x73, 0x6f, 0x75, 0x6e, 0x00, 0x00, 0x00, 0x00, 1043 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1044 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x48, 0x61, 0x6e, 1045 0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 1046 0xfc, 0x6d, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00, 1047 0x10, 0x73, 0x6d, 0x68, 0x64, 0x00, 0x00, 0x00, 1048 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1049 0x24, 0x64, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00, 1050 0x1c, 0x64, 0x72, 0x65, 0x66, 0x00, 0x00, 0x00, 1051 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 1052 0x0c, 0x75, 0x72, 0x6c, 0x20, 0x00, 0x00, 0x00, 1053 0x01, 0x00, 0x00, 0x00, 0xc0, 0x73, 0x74, 0x62, 1054 0x6c, 0x00, 0x00, 0x00, 0x74, 0x73, 0x74, 0x73, 1055 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1056 0x01, 0x00, 0x00, 0x00, 0x64, 0x6d, 0x70, 0x34, 1057 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1058 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1059 0x00, 0x00, 0x02, 0x00, 0x10, 0x00, 0x00, 0x00, 1060 0x00, 0xbb, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 1061 0x2c, 0x65, 0x73, 0x64, 0x73, 0x00, 0x00, 0x00, 1062 0x00, 0x03, 0x80, 0x80, 0x80, 0x1b, 0x00, 0x01, 1063 0x00, 0x04, 0x80, 0x80, 0x80, 0x0d, 0x6b, 0x15, 1064 0x00, 0x00, 0x00, 0x00, 0x01, 0xf7, 0x39, 0x00, 1065 0x01, 0xf7, 0x39, 0x06, 0x80, 0x80, 0x80, 0x01, 1066 0x02, 0x00, 0x00, 0x00, 0x14, 0x62, 0x74, 0x72, 1067 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf7, 1068 0x39, 0x00, 0x01, 0xf7, 0x39, 0x00, 0x00, 0x00, 1069 0x10, 0x73, 0x74, 0x74, 0x73, 0x00, 0x00, 0x00, 1070 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1071 0x10, 0x73, 0x74, 0x73, 0x63, 0x00, 0x00, 0x00, 1072 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1073 0x14, 0x73, 0x74, 0x73, 0x7a, 0x00, 0x00, 0x00, 1074 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1075 0x00, 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x63, 1076 0x6f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1077 0x00, 0x00, 0x00, 0x00, 0x28, 0x6d, 0x76, 0x65, 1078 0x78, 0x00, 0x00, 0x00, 0x20, 0x74, 0x72, 0x65, 1079 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1080 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 1081 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1082 0x00, 1083 }, 1084 Init{ 1085 Tracks: []*InitTrack{ 1086 { 1087 ID: 1, 1088 TimeScale: 90000, 1089 Codec: &CodecMPEG1Audio{ 1090 SampleRate: 48000, 1091 ChannelCount: 2, 1092 }, 1093 }, 1094 }, 1095 }, 1096 }, 1097 { 1098 "ac-3", 1099 []byte{ 1100 0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70, 1101 0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01, 1102 0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32, 1103 0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66, 1104 0x00, 0x00, 0x02, 0x30, 0x6d, 0x6f, 0x6f, 0x76, 1105 0x00, 0x00, 0x00, 0x6c, 0x6d, 0x76, 0x68, 0x64, 1106 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1107 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8, 1108 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1109 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1110 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1111 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1112 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1113 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1114 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 1115 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1116 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1117 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1118 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0x94, 1119 0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c, 1120 0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x03, 1121 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1122 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 1123 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1124 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 1125 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1126 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1127 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1128 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1129 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 1130 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1131 0x00, 0x00, 0x01, 0x30, 0x6d, 0x64, 0x69, 0x61, 1132 0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64, 1133 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1134 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0x90, 1135 0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00, 1136 0x00, 0x00, 0x00, 0x2d, 0x68, 0x64, 0x6c, 0x72, 1137 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1138 0x73, 0x6f, 0x75, 0x6e, 0x00, 0x00, 0x00, 0x00, 1139 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1140 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x48, 0x61, 0x6e, 1141 0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 1142 0xdb, 0x6d, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00, 1143 0x10, 0x73, 0x6d, 0x68, 0x64, 0x00, 0x00, 0x00, 1144 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1145 0x24, 0x64, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00, 1146 0x1c, 0x64, 0x72, 0x65, 0x66, 0x00, 0x00, 0x00, 1147 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 1148 0x0c, 0x75, 0x72, 0x6c, 0x20, 0x00, 0x00, 0x00, 1149 0x01, 0x00, 0x00, 0x00, 0x9f, 0x73, 0x74, 0x62, 1150 0x6c, 0x00, 0x00, 0x00, 0x53, 0x73, 0x74, 0x73, 1151 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1152 0x01, 0x00, 0x00, 0x00, 0x43, 0x61, 0x63, 0x2d, 1153 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1154 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1155 0x00, 0x00, 0x06, 0x00, 0x10, 0x00, 0x00, 0x00, 1156 0x00, 0xbb, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 1157 0x0b, 0x64, 0x61, 0x63, 0x33, 0x10, 0x3d, 0xe0, 1158 0x00, 0x00, 0x00, 0x14, 0x62, 0x74, 0x72, 0x74, 1159 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf7, 0x39, 1160 0x00, 0x01, 0xf7, 0x39, 0x00, 0x00, 0x00, 0x10, 1161 0x73, 0x74, 0x74, 0x73, 0x00, 0x00, 0x00, 0x00, 1162 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 1163 0x73, 0x74, 0x73, 0x63, 0x00, 0x00, 0x00, 0x00, 1164 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 1165 0x73, 0x74, 0x73, 0x7a, 0x00, 0x00, 0x00, 0x00, 1166 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1167 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x63, 0x6f, 1168 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1169 0x00, 0x00, 0x00, 0x28, 0x6d, 0x76, 0x65, 0x78, 1170 0x00, 0x00, 0x00, 0x20, 0x74, 0x72, 0x65, 0x78, 1171 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 1172 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 1173 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1174 }, 1175 Init{ 1176 Tracks: []*InitTrack{ 1177 { 1178 ID: 1, 1179 TimeScale: 90000, 1180 Codec: &CodecAC3{ 1181 SampleRate: 48000, 1182 ChannelCount: 6, 1183 Fscod: 0x0, 1184 Bsid: 0x8, 1185 Bsmod: 0x0, 1186 Acmod: 0x7, 1187 LfeOn: true, 1188 BitRateCode: 0xf, 1189 }, 1190 }, 1191 }, 1192 }, 1193 }, 1194 { 1195 "lpcm", 1196 []byte{ 1197 0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70, 1198 0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01, 1199 0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32, 1200 0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66, 1201 0x00, 0x00, 0x02, 0x33, 0x6d, 0x6f, 0x6f, 0x76, 1202 0x00, 0x00, 0x00, 0x6c, 0x6d, 0x76, 0x68, 0x64, 1203 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1204 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8, 1205 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1206 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1207 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1208 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1209 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1210 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1211 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 1212 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1213 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1214 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1215 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0x97, 1216 0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c, 1217 0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x03, 1218 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1219 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 1220 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1221 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 1222 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1224 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1225 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1226 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 1227 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1228 0x00, 0x00, 0x01, 0x33, 0x6d, 0x64, 0x69, 0x61, 1229 0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64, 1230 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1231 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0x90, 1232 0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00, 1233 0x00, 0x00, 0x00, 0x2d, 0x68, 0x64, 0x6c, 0x72, 1234 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1235 0x73, 0x6f, 0x75, 0x6e, 0x00, 0x00, 0x00, 0x00, 1236 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1237 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x48, 0x61, 0x6e, 1238 0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 1239 0xde, 0x6d, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00, 1240 0x10, 0x73, 0x6d, 0x68, 0x64, 0x00, 0x00, 0x00, 1241 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1242 0x24, 0x64, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00, 1243 0x1c, 0x64, 0x72, 0x65, 0x66, 0x00, 0x00, 0x00, 1244 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 1245 0x0c, 0x75, 0x72, 0x6c, 0x20, 0x00, 0x00, 0x00, 1246 0x01, 0x00, 0x00, 0x00, 0xa2, 0x73, 0x74, 0x62, 1247 0x6c, 0x00, 0x00, 0x00, 0x56, 0x73, 0x74, 0x73, 1248 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1249 0x01, 0x00, 0x00, 0x00, 0x46, 0x69, 0x70, 0x63, 1250 0x6d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1251 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1252 0x00, 0x00, 0x02, 0x00, 0x18, 0x00, 0x00, 0x00, 1253 0x00, 0xbb, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 1254 0x0e, 0x70, 0x63, 0x6d, 0x43, 0x00, 0x00, 0x00, 1255 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x14, 0x62, 1256 0x74, 0x72, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 1257 0x01, 0xf7, 0x39, 0x00, 0x01, 0xf7, 0x39, 0x00, 1258 0x00, 0x00, 0x10, 0x73, 0x74, 0x74, 0x73, 0x00, 1259 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1260 0x00, 0x00, 0x10, 0x73, 0x74, 0x73, 0x63, 0x00, 1261 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1262 0x00, 0x00, 0x14, 0x73, 0x74, 0x73, 0x7a, 0x00, 1263 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1264 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x73, 1265 0x74, 0x63, 0x6f, 0x00, 0x00, 0x00, 0x00, 0x00, 1266 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6d, 1267 0x76, 0x65, 0x78, 0x00, 0x00, 0x00, 0x20, 0x74, 1268 0x72, 0x65, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 1269 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 1270 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1271 0x00, 0x00, 0x00, 1272 }, 1273 Init{ 1274 Tracks: []*InitTrack{ 1275 { 1276 ID: 1, 1277 TimeScale: 90000, 1278 Codec: &CodecLPCM{ 1279 BitDepth: 24, 1280 SampleRate: 48000, 1281 ChannelCount: 2, 1282 }, 1283 }, 1284 }, 1285 }, 1286 }, 1287 { 1288 "h264 + mpeg-4 audio", 1289 []byte{ 1290 0x00, 0x00, 0x00, 0x20, 1291 'f', 't', 'y', 'p', 1292 0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01, 1293 0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32, 1294 0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66, 1295 0x00, 0x00, 0x04, 0x64, 1296 'm', 'o', 'o', 'v', 1297 0x00, 0x00, 0x00, 0x6c, 1298 'm', 'v', 'h', 'd', 1299 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1300 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xe8, 1301 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1302 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1303 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1304 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1305 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1306 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1307 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 1308 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1309 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1310 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1311 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0xec, 1312 't', 'r', 'a', 'k', 1313 0x00, 0x00, 0x00, 0x5c, 1314 't', 'k', 'h', 'd', 1315 0x00, 0x00, 0x00, 0x03, 1316 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1317 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 1318 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1319 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1320 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1321 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1322 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1323 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1324 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 1325 0x07, 0x80, 0x00, 0x00, 0x04, 0x38, 0x00, 0x00, 1326 0x00, 0x00, 0x01, 0x88, 1327 'm', 'd', 'i', 'a', 1328 0x00, 0x00, 0x00, 0x20, 1329 'm', 'd', 'h', 'd', 1330 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1331 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5f, 0x90, 1332 0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00, 1333 0x00, 0x00, 0x00, 0x2d, 1334 'h', 'd', 'l', 'r', 1335 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1336 0x76, 0x69, 0x64, 0x65, 0x00, 0x00, 0x00, 0x00, 1337 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1338 0x56, 0x69, 0x64, 0x65, 0x6f, 0x48, 0x61, 0x6e, 1339 0x64, 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x01, 1340 0x33, 1341 'm', 'i', 'n', 'f', 1342 0x00, 0x00, 0x00, 0x14, 1343 'v', 'm', 'h', 'd', 1344 0x00, 0x00, 0x00, 1345 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1346 0x00, 0x00, 0x00, 0x00, 0x24, 0x64, 0x69, 0x6e, 1347 0x66, 0x00, 0x00, 0x00, 0x1c, 0x64, 0x72, 0x65, 1348 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1349 0x01, 0x00, 0x00, 0x00, 0x0c, 0x75, 0x72, 0x6c, 1350 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 1351 0xf3, 0x73, 0x74, 0x62, 0x6c, 0x00, 0x00, 0x00, 1352 0xa7, 0x73, 0x74, 0x73, 0x64, 0x00, 0x00, 0x00, 1353 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 1354 0x97, 0x61, 0x76, 0x63, 0x31, 0x00, 0x00, 0x00, 1355 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 1356 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1357 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x04, 1358 0x38, 0x00, 0x48, 0x00, 0x00, 0x00, 0x48, 0x00, 1359 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 1360 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1361 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1362 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1363 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1364 0x18, 0xff, 0xff, 0x00, 0x00, 0x00, 0x2d, 0x61, 1365 0x76, 0x63, 0x43, 0x01, 0x42, 0xc0, 0x28, 0x03, 1366 0x01, 0x00, 0x19, 0x67, 0x42, 0xc0, 0x28, 0xd9, 1367 0x00, 0x78, 0x02, 0x27, 0xe5, 0x84, 0x00, 0x00, 1368 0x03, 0x00, 0x04, 0x00, 0x00, 0x03, 0x00, 0xf0, 1369 0x3c, 0x60, 0xc9, 0x20, 0x01, 0x00, 0x01, 0x08, 1370 0x00, 0x00, 0x00, 0x14, 0x62, 0x74, 0x72, 0x74, 1371 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x42, 0x40, 1372 0x00, 0x0f, 0x42, 0x40, 0x00, 0x00, 0x00, 0x10, 1373 0x73, 0x74, 0x74, 0x73, 0x00, 0x00, 0x00, 0x00, 1374 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 1375 0x73, 0x74, 0x73, 0x63, 0x00, 0x00, 0x00, 0x00, 1376 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 1377 0x73, 0x74, 0x73, 0x7a, 0x00, 0x00, 0x00, 0x00, 1378 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1379 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x63, 0x6f, 1380 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1381 0x00, 0x00, 0x01, 0xbc, 1382 't', 'r', 'a', 'k', 1383 0x00, 0x00, 0x00, 0x5c, 1384 't', 'k', 'h', 'd', 1385 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 1386 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 1387 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1388 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1389 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 1390 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1391 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1392 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1393 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1394 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1395 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x58, 1396 'm', 'd', 'i', 'a', 1397 0x00, 0x00, 0x00, 0x20, 1398 'm', 'd', 'h', 'd', 1399 0x00, 0x00, 0x00, 0x00, 1400 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1401 0x00, 0x00, 0xac, 0x44, 0x00, 0x00, 0x00, 0x00, 1402 0x55, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2d, 1403 'h', 'd', 'l', 'r', 1404 0x00, 0x00, 0x00, 0x00, 1405 0x00, 0x00, 0x00, 0x00, 0x73, 0x6f, 0x75, 0x6e, 1406 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1407 0x00, 0x00, 0x00, 0x00, 0x53, 0x6f, 0x75, 0x6e, 1408 0x64, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 1409 0x00, 0x00, 0x00, 0x01, 0x03, 0x6d, 0x69, 0x6e, 1410 0x66, 0x00, 0x00, 0x00, 0x10, 1411 's', 'm', 'h', 'd', 1412 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1413 0x00, 0x00, 0x00, 0x00, 0x24, 0x64, 0x69, 0x6e, 1414 0x66, 0x00, 0x00, 0x00, 0x1c, 0x64, 0x72, 0x65, 1415 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1416 0x01, 0x00, 0x00, 0x00, 0x0c, 0x75, 0x72, 0x6c, 1417 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 1418 0xc7, 0x73, 0x74, 0x62, 0x6c, 0x00, 0x00, 0x00, 1419 0x7b, 0x73, 0x74, 0x73, 0x64, 0x00, 0x00, 0x00, 1420 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 1421 0x6b, 0x6d, 0x70, 0x34, 0x61, 0x00, 0x00, 0x00, 1422 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 1423 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 1424 0x10, 0x00, 0x00, 0x00, 0x00, 0xac, 0x44, 0x00, 1425 0x00, 0x00, 0x00, 0x00, 0x33, 0x65, 0x73, 0x64, 1426 0x73, 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x80, 1427 0x80, 0x22, 0x00, 0x02, 0x00, 0x04, 0x80, 0x80, 1428 0x80, 0x14, 0x40, 0x15, 0x00, 0x00, 0x00, 0x00, 1429 0x01, 0xf7, 0x39, 0x00, 0x01, 0xf7, 0x39, 0x05, 1430 0x80, 0x80, 0x80, 0x02, 0x12, 0x10, 0x06, 0x80, 1431 0x80, 0x80, 0x01, 0x02, 0x00, 0x00, 0x00, 0x14, 1432 0x62, 0x74, 0x72, 0x74, 0x00, 0x00, 0x00, 0x00, 1433 0x00, 0x01, 0xf7, 0x39, 0x00, 0x01, 0xf7, 0x39, 1434 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x74, 0x73, 1435 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1436 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x73, 0x63, 1437 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1438 0x00, 0x00, 0x00, 0x14, 0x73, 0x74, 0x73, 0x7a, 1439 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1440 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 1441 0x73, 0x74, 0x63, 0x6f, 0x00, 0x00, 0x00, 0x00, 1442 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 1443 0x6d, 0x76, 0x65, 0x78, 0x00, 0x00, 0x00, 0x20, 1444 0x74, 0x72, 0x65, 0x78, 0x00, 0x00, 0x00, 0x00, 1445 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 1446 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1447 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 1448 0x74, 0x72, 0x65, 0x78, 0x00, 0x00, 0x00, 0x00, 1449 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 1450 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1451 0x00, 0x00, 0x00, 0x00, 1452 }, 1453 Init{ 1454 Tracks: []*InitTrack{ 1455 { 1456 ID: 1, 1457 TimeScale: 90000, 1458 Codec: testVideoTrack, 1459 }, 1460 { 1461 ID: 2, 1462 TimeScale: uint32(testAudioTrack.SampleRate), 1463 Codec: testAudioTrack, 1464 }, 1465 }, 1466 }, 1467 }, 1468 } 1469 1470 func TestInitUnmarshal(t *testing.T) { 1471 for _, ca := range casesInit { 1472 t.Run(ca.name, func(t *testing.T) { 1473 var init Init 1474 err := init.Unmarshal(bytes.NewReader(ca.enc)) 1475 require.NoError(t, err) 1476 require.Equal(t, ca.dec, init) 1477 }) 1478 } 1479 } 1480 1481 func TestInitUnmarshalExternal(t *testing.T) { 1482 for _, ca := range []struct { 1483 name string 1484 byts []byte 1485 init Init 1486 }{ 1487 { 1488 "h264", 1489 []byte{ 1490 0x00, 0x00, 0x00, 0x1c, 1491 'f', 't', 'y', 'p', 1492 0x64, 0x61, 0x73, 0x68, 0x00, 0x00, 0x00, 0x01, 1493 0x69, 0x73, 0x6f, 0x6d, 0x61, 0x76, 0x63, 0x31, 1494 0x64, 0x61, 0x73, 0x68, 0x00, 0x00, 0x02, 0x92, 1495 'm', 'o', 'o', 'v', 1496 0x00, 0x00, 0x00, 0x6c, 1497 'm', 'v', 'h', 'd', 1498 0x00, 0x00, 0x00, 0x00, 1499 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1500 0x00, 0x98, 0x96, 0x80, 0x00, 0x00, 0x00, 0x00, 1501 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 1502 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1503 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1504 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1505 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1506 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1507 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1508 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1509 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1510 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 1511 0x00, 0x00, 0x01, 0xf6, 1512 't', 'r', 'a', 'k', 1513 0x00, 0x00, 0x00, 0x5c, 1514 't', 'k', 'h', 'd', 1515 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 1516 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 1517 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1518 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1519 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1520 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1521 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1522 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1523 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1524 0x40, 0x00, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 1525 0x02, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x01, 0x92, 1526 'm', 'd', 'i', 'a', 1527 0x00, 0x00, 0x00, 0x20, 1528 'm', 'd', 'h', 'd', 1529 0x00, 0x00, 0x00, 0x00, 1530 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1531 0x00, 0x98, 0x96, 0x80, 0x00, 0x00, 0x00, 0x00, 1532 0x55, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 1533 'h', 'd', 'l', 'r', 1534 0x00, 0x00, 0x00, 0x00, 1535 0x00, 0x00, 0x00, 0x00, 0x76, 0x69, 0x64, 0x65, 1536 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1537 0x00, 0x00, 0x00, 0x00, 0x42, 0x72, 0x6f, 0x61, 1538 0x64, 0x70, 0x65, 0x61, 0x6b, 0x20, 0x56, 0x69, 1539 0x64, 0x65, 0x6f, 0x20, 0x48, 0x61, 0x6e, 0x64, 1540 0x6c, 0x65, 0x72, 0x00, 0x00, 0x00, 0x01, 0x32, 1541 'm', 'i', 'n', 'f', 1542 0x00, 0x00, 0x00, 0x14, 1543 'v', 'm', 'h', 'd', 1544 0x00, 0x00, 0x00, 0x01, 1545 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1546 0x00, 0x00, 0x00, 0x24, 1547 'd', 'i', 'n', 'f', 1548 0x00, 0x00, 0x00, 0x1c, 0x64, 0x72, 0x65, 0x66, 1549 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 1550 0x00, 0x00, 0x00, 0x0c, 0x75, 0x72, 0x6c, 0x20, 1551 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xf2, 1552 0x73, 0x74, 0x62, 0x6c, 0x00, 0x00, 0x00, 0xa6, 1553 0x73, 0x74, 0x73, 0x64, 0x00, 0x00, 0x00, 0x00, 1554 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x96, 1555 0x61, 0x76, 0x63, 0x31, 0x00, 0x00, 0x00, 0x00, 1556 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 1557 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1558 0x00, 0x00, 0x00, 0x00, 0x03, 0xc0, 0x02, 0x1c, 1559 0x00, 0x48, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 1560 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04, 0x68, 1561 0x32, 0x36, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 1562 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1563 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1564 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 1565 0xff, 0xff, 0x00, 0x00, 0x00, 0x30, 0x61, 0x76, 1566 0x63, 0x43, 0x01, 0x42, 0xc0, 0x1f, 0xff, 0xe1, 1567 0x00, 0x19, 0x67, 0x42, 0xc0, 0x1f, 0xd9, 0x00, 1568 0xf0, 0x11, 0x7e, 0xf0, 0x11, 0x00, 0x00, 0x03, 1569 0x00, 0x01, 0x00, 0x00, 0x03, 0x00, 0x30, 0x8f, 1570 0x18, 0x32, 0x48, 0x01, 0x00, 0x04, 0x68, 0xcb, 1571 0x8c, 0xb2, 0x00, 0x00, 0x00, 0x10, 0x70, 0x61, 1572 0x73, 0x70, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1573 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 1574 0x74, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1575 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 1576 0x73, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1577 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x73, 0x74, 1578 0x73, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1579 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1580 0x00, 0x10, 0x73, 0x74, 0x63, 0x6f, 0x00, 0x00, 1581 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1582 0x00, 0x28, 0x6d, 0x76, 0x65, 0x78, 0x00, 0x00, 1583 0x00, 0x20, 0x74, 0x72, 0x65, 0x78, 0x00, 0x00, 1584 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 1585 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1586 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1587 }, 1588 Init{ 1589 Tracks: []*InitTrack{ 1590 { 1591 ID: 256, 1592 TimeScale: 10000000, 1593 Codec: &CodecH264{ 1594 SPS: []byte{ 1595 0x67, 0x42, 0xc0, 0x1f, 0xd9, 0x00, 0xf0, 0x11, 1596 0x7e, 0xf0, 0x11, 0x00, 0x00, 0x03, 0x00, 0x01, 1597 0x00, 0x00, 0x03, 0x00, 0x30, 0x8f, 0x18, 0x32, 1598 0x48, 1599 }, 1600 PPS: []byte{ 1601 0x68, 0xcb, 0x8c, 0xb2, 1602 }, 1603 }, 1604 }, 1605 }, 1606 }, 1607 }, 1608 { 1609 "h265 apple", 1610 []byte{ 1611 0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70, 1612 0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01, 1613 0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32, 1614 0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66, 1615 0x00, 0x00, 0x04, 0x96, 0x6d, 0x6f, 0x6f, 0x76, 1616 0x00, 0x00, 0x00, 0x6c, 0x6d, 0x76, 0x68, 0x64, 1617 0x00, 0x00, 0x00, 0x00, 0xd5, 0x5b, 0xc6, 0x84, 1618 0xd5, 0x5b, 0xc6, 0x84, 0x00, 0x00, 0x02, 0x58, 1619 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1620 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1621 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1622 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1623 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1624 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1625 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 1626 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1627 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1628 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1629 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x02, 0x70, 1630 0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c, 1631 0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x01, 1632 0xd5, 0x5b, 0xc6, 0x84, 0xd5, 0x5b, 0xc6, 0x84, 1633 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 1634 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1635 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1636 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1637 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1638 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1639 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1640 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 1641 0x03, 0xc0, 0x00, 0x00, 0x02, 0x1c, 0x00, 0x00, 1642 0x00, 0x00, 0x02, 0x0c, 0x6d, 0x64, 0x69, 0x61, 1643 0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64, 1644 0x00, 0x00, 0x00, 0x00, 0xd5, 0x5b, 0xc6, 0x84, 1645 0xd5, 0x5b, 0xc6, 0x84, 0x00, 0x00, 0x17, 0x70, 1646 0x00, 0x00, 0x00, 0x00, 0x15, 0xc7, 0x00, 0x00, 1647 0x00, 0x00, 0x00, 0x31, 0x68, 0x64, 0x6c, 0x72, 1648 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1649 0x76, 0x69, 0x64, 0x65, 0x00, 0x00, 0x00, 0x00, 1650 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1651 0x43, 0x6f, 0x72, 0x65, 0x20, 0x4d, 0x65, 0x64, 1652 0x69, 0x61, 0x20, 0x56, 0x69, 0x64, 0x65, 0x6f, 1653 0x00, 0x00, 0x00, 0x01, 0xb3, 0x6d, 0x69, 0x6e, 1654 0x66, 0x00, 0x00, 0x00, 0x14, 0x76, 0x6d, 0x68, 1655 0x64, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 1656 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1657 0x24, 0x64, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00, 1658 0x1c, 0x64, 0x72, 0x65, 0x66, 0x00, 0x00, 0x00, 1659 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 1660 0x0c, 0x75, 0x72, 0x6c, 0x20, 0x00, 0x00, 0x00, 1661 0x01, 0x00, 0x00, 0x01, 0x73, 0x73, 0x74, 0x62, 1662 0x6c, 0x00, 0x00, 0x01, 0x27, 0x73, 0x74, 0x73, 1663 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1664 0x01, 0x00, 0x00, 0x01, 0x17, 0x68, 0x76, 0x63, 1665 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1666 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1667 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1668 0x00, 0x03, 0xc0, 0x02, 0x1c, 0x00, 0x48, 0x00, 1669 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 1670 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 1671 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1672 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1673 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1674 0x00, 0x00, 0x00, 0x00, 0x18, 0xff, 0xff, 0x00, 1675 0x00, 0x00, 0x8a, 0x68, 0x76, 0x63, 0x43, 0x01, 1676 0x02, 0x00, 0x00, 0x00, 0x04, 0xb0, 0x00, 0x00, 1677 0x00, 0x00, 0x00, 0x7b, 0xf0, 0x00, 0xfc, 0xfd, 1678 0xfa, 0xfa, 0x00, 0x00, 0x0f, 0x03, 0xa0, 0x00, 1679 0x01, 0x00, 0x18, 0x40, 0x01, 0x0c, 0x01, 0xff, 1680 0xff, 0x02, 0x20, 0x00, 0x00, 0x03, 0x00, 0xb0, 1681 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 0x00, 0x7b, 1682 0x18, 0xb0, 0x24, 0xa1, 0x00, 0x01, 0x00, 0x3c, 1683 0x42, 0x01, 0x01, 0x02, 0x20, 0x00, 0x00, 0x03, 1684 0x00, 0xb0, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 1685 0x00, 0x7b, 0xa0, 0x07, 0x82, 0x00, 0x88, 0x7d, 1686 0xb6, 0x71, 0x8b, 0x92, 0x44, 0x80, 0x53, 0x88, 1687 0x88, 0x92, 0xcf, 0x24, 0xa6, 0x92, 0x72, 0xc9, 1688 0x12, 0x49, 0x22, 0xdc, 0x91, 0xaa, 0x48, 0xfc, 1689 0xa2, 0x23, 0xff, 0x00, 0x01, 0x00, 0x01, 0x6a, 1690 0x02, 0x02, 0x02, 0x01, 0xa2, 0x00, 0x01, 0x00, 1691 0x08, 0x44, 0x01, 0xc0, 0x25, 0x2f, 0x05, 0x32, 1692 0x40, 0x00, 0x00, 0x00, 0x13, 0x63, 0x6f, 0x6c, 1693 0x72, 0x6e, 0x63, 0x6c, 0x78, 0x00, 0x01, 0x00, 1694 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0a, 1695 0x66, 0x69, 0x65, 0x6c, 0x01, 0x00, 0x00, 0x00, 1696 0x00, 0x0a, 0x63, 0x68, 0x72, 0x6d, 0x00, 0x00, 1697 0x00, 0x00, 0x00, 0x10, 0x70, 0x61, 0x73, 0x70, 1698 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 1699 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x74, 0x73, 1700 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1701 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x73, 0x63, 1702 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1703 0x00, 0x00, 0x00, 0x14, 0x73, 0x74, 0x73, 0x7a, 1704 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1705 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 1706 0x73, 0x74, 0x63, 0x6f, 0x00, 0x00, 0x00, 0x00, 1707 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x6a, 1708 0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c, 1709 0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x01, 1710 0xd5, 0x5b, 0xc6, 0x84, 0xd5, 0x5b, 0xc6, 0x84, 1711 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 1712 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1713 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 1714 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1715 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1716 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1717 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1718 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 1719 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1720 0x00, 0x00, 0x01, 0x06, 0x6d, 0x64, 0x69, 0x61, 1721 0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64, 1722 0x00, 0x00, 0x00, 0x00, 0xd5, 0x5b, 0xc6, 0x84, 1723 0xd5, 0x5b, 0xc6, 0x84, 0x00, 0x00, 0x75, 0x30, 1724 0x00, 0x00, 0x00, 0x00, 0x15, 0xc7, 0x00, 0x00, 1725 0x00, 0x00, 0x00, 0x3a, 0x68, 0x64, 0x6c, 0x72, 1726 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1727 0x63, 0x6c, 0x63, 0x70, 0x00, 0x00, 0x00, 0x00, 1728 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1729 0x43, 0x6f, 0x72, 0x65, 0x20, 0x4d, 0x65, 0x64, 1730 0x69, 0x61, 0x20, 0x43, 0x6c, 0x6f, 0x73, 0x65, 1731 0x64, 0x20, 0x43, 0x61, 0x70, 0x74, 0x69, 0x6f, 1732 0x6e, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x6d, 0x69, 1733 0x6e, 0x66, 0x00, 0x00, 0x00, 0x0c, 0x6e, 0x6d, 1734 0x68, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1735 0x00, 0x24, 0x64, 0x69, 0x6e, 0x66, 0x00, 0x00, 1736 0x00, 0x1c, 0x64, 0x72, 0x65, 0x66, 0x00, 0x00, 1737 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1738 0x00, 0x0c, 0x75, 0x72, 0x6c, 0x20, 0x00, 0x00, 1739 0x00, 0x01, 0x00, 0x00, 0x00, 0x6c, 0x73, 0x74, 1740 0x62, 0x6c, 0x00, 0x00, 0x00, 0x20, 0x73, 0x74, 1741 0x73, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1742 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x63, 0x36, 1743 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1744 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 1745 0x74, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1746 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 1747 0x73, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1748 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x73, 0x74, 1749 0x73, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1750 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1751 0x00, 0x10, 0x73, 0x74, 0x63, 0x6f, 0x00, 0x00, 1752 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1753 0x00, 0x48, 0x6d, 0x76, 0x65, 0x78, 0x00, 0x00, 1754 0x00, 0x20, 0x74, 0x72, 0x65, 0x78, 0x00, 0x00, 1755 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1756 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1757 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 1758 0x00, 0x20, 0x74, 0x72, 0x65, 0x78, 0x00, 0x00, 1759 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 1760 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1761 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1762 }, 1763 Init{ 1764 Tracks: []*InitTrack{{ 1765 ID: 1, 1766 TimeScale: 6000, 1767 Codec: &CodecH265{ 1768 VPS: []byte{ 1769 0x40, 0x01, 0x0c, 0x01, 0xff, 0xff, 0x02, 0x20, 1770 0x00, 0x00, 0x03, 0x00, 0xb0, 0x00, 0x00, 0x03, 1771 0x00, 0x00, 0x03, 0x00, 0x7b, 0x18, 0xb0, 0x24, 1772 }, 1773 SPS: []byte{ 1774 0x42, 0x01, 0x01, 0x02, 0x20, 0x00, 0x00, 0x03, 1775 0x00, 0xb0, 0x00, 0x00, 0x03, 0x00, 0x00, 0x03, 1776 0x00, 0x7b, 0xa0, 0x07, 0x82, 0x00, 0x88, 0x7d, 1777 0xb6, 0x71, 0x8b, 0x92, 0x44, 0x80, 0x53, 0x88, 1778 0x88, 0x92, 0xcf, 0x24, 0xa6, 0x92, 0x72, 0xc9, 1779 0x12, 0x49, 0x22, 0xdc, 0x91, 0xaa, 0x48, 0xfc, 1780 0xa2, 0x23, 0xff, 0x00, 0x01, 0x00, 0x01, 0x6a, 1781 0x02, 0x02, 0x02, 0x01, 1782 }, 1783 PPS: []byte{ 1784 0x44, 0x01, 0xc0, 0x25, 0x2f, 0x05, 0x32, 0x40, 1785 }, 1786 }, 1787 }}, 1788 }, 1789 }, 1790 { 1791 "mpeg-4 audio", 1792 []byte{ 1793 0x00, 0x00, 0x00, 0x18, 1794 'f', 't', 'y', 'p', 1795 0x69, 0x73, 0x6f, 0x35, 0x00, 0x00, 0x00, 0x01, 1796 0x69, 0x73, 0x6f, 0x35, 0x64, 0x61, 0x73, 0x68, 1797 0x00, 0x00, 0x02, 0x43, 1798 'm', 'o', 'o', 'v', 1799 0x00, 0x00, 0x00, 0x6c, 1800 'm', 'v', 'h', 'd', 1801 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1802 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x96, 0x80, 1803 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1804 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1805 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1806 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1807 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1808 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1809 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 1810 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1811 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1812 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1813 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0xa7, 1814 't', 'r', 'a', 'k', 1815 0x00, 0x00, 0x00, 0x5c, 1816 't', 'k', 'h', 'd', 1817 0x00, 0x00, 0x00, 0x07, 1818 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1819 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 1820 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1821 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1822 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1823 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1824 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1825 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1826 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 1827 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1828 0x00, 0x00, 0x01, 0x43, 1829 'm', 'd', 'i', 'a', 1830 0x00, 0x00, 0x00, 0x20, 1831 'm', 'd', 'h', 'd', 1832 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1833 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x96, 0x80, 1834 0x00, 0x00, 0x00, 0x00, 0x55, 0xc4, 0x00, 0x00, 1835 0x00, 0x00, 0x00, 0x38, 1836 'h', 'd', 'l', 'r', 1837 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1838 0x73, 0x6f, 0x75, 0x6e, 0x00, 0x00, 0x00, 0x00, 1839 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1840 0x42, 0x72, 0x6f, 0x61, 0x64, 0x70, 0x65, 0x61, 1841 0x6b, 0x20, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x20, 1842 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x00, 1843 0x00, 0x00, 0x00, 0xe3, 1844 'm', 'i', 'n', 'f', 1845 0x00, 0x00, 0x00, 0x10, 1846 's', 'm', 'h', 'd', 1847 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1848 0x00, 0x00, 0x00, 0x24, 1849 'd', 'i', 'n', 'f', 1850 0x00, 0x00, 0x00, 0x1c, 0x64, 0x72, 0x65, 0x66, 1851 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 1852 0x00, 0x00, 0x00, 0x0c, 0x75, 0x72, 0x6c, 0x20, 1853 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xa7, 1854 0x73, 0x74, 0x62, 0x6c, 0x00, 0x00, 0x00, 0x5b, 1855 0x73, 0x74, 0x73, 0x64, 0x00, 0x00, 0x00, 0x00, 1856 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4b, 1857 0x6d, 0x70, 0x34, 0x61, 0x00, 0x00, 0x00, 0x00, 1858 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 1859 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x10, 1860 0x00, 0x00, 0x00, 0x00, 0xbb, 0x80, 0x00, 0x00, 1861 0x00, 0x00, 0x00, 0x27, 0x65, 0x73, 0x64, 0x73, 1862 0x00, 0x00, 0x00, 0x00, 0x03, 0x19, 0x00, 0x00, 1863 0x00, 0x04, 0x11, 0x40, 0x15, 0x00, 0x30, 0x00, 1864 0x00, 0x11, 0x94, 0x00, 0x00, 0x11, 0x94, 0x00, 1865 0x05, 0x02, 0x11, 0x90, 0x06, 0x01, 0x02, 0x00, 1866 0x00, 0x00, 0x10, 0x73, 0x74, 0x74, 0x73, 0x00, 1867 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1868 0x00, 0x00, 0x10, 0x73, 0x74, 0x73, 0x63, 0x00, 1869 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1870 0x00, 0x00, 0x14, 0x73, 0x74, 0x73, 0x7a, 0x00, 1871 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1872 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x73, 1873 0x74, 0x63, 0x6f, 0x00, 0x00, 0x00, 0x00, 0x00, 1874 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x6d, 1875 0x76, 0x65, 0x78, 0x00, 0x00, 0x00, 0x20, 0x74, 1876 0x72, 0x65, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 1877 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 1878 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1879 0x00, 0x00, 0x00, 1880 }, 1881 Init{ 1882 Tracks: []*InitTrack{ 1883 { 1884 ID: 257, 1885 TimeScale: 10000000, 1886 Codec: &CodecMPEG4Audio{ 1887 Config: mpeg4audio.Config{ 1888 Type: mpeg4audio.ObjectTypeAACLC, 1889 SampleRate: 48000, 1890 ChannelCount: 2, 1891 }, 1892 }, 1893 }, 1894 }, 1895 }, 1896 }, 1897 { 1898 "ignored closed captions", 1899 []byte{ 1900 0x00, 0x00, 0x00, 0x20, 0x66, 0x74, 0x79, 0x70, 1901 0x6d, 0x70, 0x34, 0x32, 0x00, 0x00, 0x00, 0x01, 1902 0x6d, 0x70, 0x34, 0x31, 0x6d, 0x70, 0x34, 0x32, 1903 0x69, 0x73, 0x6f, 0x6d, 0x68, 0x6c, 0x73, 0x66, 1904 0x00, 0x00, 0x04, 0x3f, 0x6d, 0x6f, 0x6f, 0x76, 1905 0x00, 0x00, 0x00, 0x6c, 0x6d, 0x76, 0x68, 0x64, 1906 0x00, 0x00, 0x00, 0x00, 0xd5, 0x5b, 0xc6, 0x62, 1907 0xd5, 0x5b, 0xc6, 0x62, 0x00, 0x00, 0x02, 0x58, 1908 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1909 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1910 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1911 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1912 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1913 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1914 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 1915 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1916 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1917 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1918 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x02, 0x19, 1919 0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 0x5c, 1920 0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 0x01, 1921 0xd5, 0x5b, 0xc6, 0x62, 0xd5, 0x5b, 0xc6, 0x62, 1922 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 1923 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1924 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1925 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1926 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1927 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 1928 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1929 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 1930 0x07, 0x80, 0x00, 0x00, 0x04, 0x38, 0x00, 0x00, 1931 0x00, 0x00, 0x01, 0xb5, 0x6d, 0x64, 0x69, 0x61, 1932 0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 0x64, 1933 0x00, 0x00, 0x00, 0x00, 0xd5, 0x5b, 0xc6, 0x62, 1934 0xd5, 0x5b, 0xc6, 0x62, 0x00, 0x00, 0x17, 0x70, 1935 0x00, 0x00, 0x00, 0x00, 0x15, 0xc7, 0x00, 0x00, 1936 0x00, 0x00, 0x00, 0x31, 0x68, 0x64, 0x6c, 0x72, 1937 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1938 0x76, 0x69, 0x64, 0x65, 0x00, 0x00, 0x00, 0x00, 1939 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1940 0x43, 0x6f, 0x72, 0x65, 0x20, 0x4d, 0x65, 0x64, 1941 0x69, 0x61, 0x20, 0x56, 0x69, 0x64, 0x65, 0x6f, 1942 0x00, 0x00, 0x00, 0x01, 0x5c, 0x6d, 0x69, 0x6e, 1943 0x66, 0x00, 0x00, 0x00, 0x14, 0x76, 0x6d, 0x68, 1944 0x64, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 1945 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1946 0x24, 0x64, 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00, 1947 0x1c, 0x64, 0x72, 0x65, 0x66, 0x00, 0x00, 0x00, 1948 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 1949 0x0c, 0x75, 0x72, 0x6c, 0x20, 0x00, 0x00, 0x00, 1950 0x01, 0x00, 0x00, 0x01, 0x1c, 0x73, 0x74, 0x62, 1951 0x6c, 0x00, 0x00, 0x00, 0xd0, 0x73, 0x74, 0x73, 1952 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1953 0x01, 0x00, 0x00, 0x00, 0xc0, 0x61, 0x76, 0x63, 1954 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1955 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1956 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1957 0x00, 0x07, 0x80, 0x04, 0x38, 0x00, 0x48, 0x00, 1958 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 1959 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 1960 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1961 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1962 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1963 0x00, 0x00, 0x00, 0x00, 0x18, 0xff, 0xff, 0x00, 1964 0x00, 0x00, 0x33, 0x61, 0x76, 0x63, 0x43, 0x01, 1965 0x64, 0x00, 0x2a, 0xff, 0xe1, 0x00, 0x1b, 0x27, 1966 0x64, 0x00, 0x2a, 0xac, 0x52, 0x14, 0x07, 0x80, 1967 0x22, 0x7e, 0x5f, 0xfc, 0x00, 0x04, 0x00, 0x05, 1968 0xa8, 0x08, 0x08, 0x0d, 0xb6, 0x15, 0xaf, 0x7b, 1969 0xe0, 0x20, 0x01, 0x00, 0x05, 0x28, 0xf9, 0x09, 1970 0x09, 0xcb, 0x00, 0x00, 0x00, 0x13, 0x63, 0x6f, 1971 0x6c, 0x72, 0x6e, 0x63, 0x6c, 0x78, 0x00, 0x01, 1972 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 1973 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x01, 0x00, 0x00, 1974 0x00, 0x00, 0x0a, 0x63, 0x68, 0x72, 0x6d, 0x01, 1975 0x01, 0x00, 0x00, 0x00, 0x10, 0x70, 0x61, 0x73, 1976 0x70, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 1977 0x01, 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x74, 1978 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1979 0x00, 0x00, 0x00, 0x00, 0x10, 0x73, 0x74, 0x73, 1980 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1981 0x00, 0x00, 0x00, 0x00, 0x14, 0x73, 0x74, 0x73, 1982 0x7a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1983 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1984 0x10, 0x73, 0x74, 0x63, 0x6f, 0x00, 0x00, 0x00, 1985 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 1986 0x6a, 0x74, 0x72, 0x61, 0x6b, 0x00, 0x00, 0x00, 1987 0x5c, 0x74, 0x6b, 0x68, 0x64, 0x00, 0x00, 0x00, 1988 0x01, 0xd5, 0x5b, 0xc6, 0x62, 0xd5, 0x5b, 0xc6, 1989 0x62, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 1990 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1991 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 1992 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 1993 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1994 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 1995 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1996 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 1997 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1998 0x00, 0x00, 0x00, 0x01, 0x06, 0x6d, 0x64, 0x69, 1999 0x61, 0x00, 0x00, 0x00, 0x20, 0x6d, 0x64, 0x68, 2000 0x64, 0x00, 0x00, 0x00, 0x00, 0xd5, 0x5b, 0xc6, 2001 0x62, 0xd5, 0x5b, 0xc6, 0x62, 0x00, 0x00, 0x75, 2002 0x30, 0x00, 0x00, 0x00, 0x00, 0x15, 0xc7, 0x00, 2003 0x00, 0x00, 0x00, 0x00, 0x3a, 0x68, 0x64, 0x6c, 2004 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2005 0x00, 0x63, 0x6c, 0x63, 0x70, 0x00, 0x00, 0x00, 2006 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2007 0x00, 0x43, 0x6f, 0x72, 0x65, 0x20, 0x4d, 0x65, 2008 0x64, 0x69, 0x61, 0x20, 0x43, 0x6c, 0x6f, 0x73, 2009 0x65, 0x64, 0x20, 0x43, 0x61, 0x70, 0x74, 0x69, 2010 0x6f, 0x6e, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x6d, 2011 0x69, 0x6e, 0x66, 0x00, 0x00, 0x00, 0x0c, 0x6e, 2012 0x6d, 0x68, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 2013 0x00, 0x00, 0x24, 0x64, 0x69, 0x6e, 0x66, 0x00, 2014 0x00, 0x00, 0x1c, 0x64, 0x72, 0x65, 0x66, 0x00, 2015 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 2016 0x00, 0x00, 0x0c, 0x75, 0x72, 0x6c, 0x20, 0x00, 2017 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x6c, 0x73, 2018 0x74, 0x62, 0x6c, 0x00, 0x00, 0x00, 0x20, 0x73, 2019 0x74, 0x73, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 2020 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x63, 2021 0x36, 0x30, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 2022 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x10, 0x73, 2023 0x74, 0x74, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 2024 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x73, 2025 0x74, 0x73, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 2026 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x73, 2027 0x74, 0x73, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x00, 2028 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2029 0x00, 0x00, 0x10, 0x73, 0x74, 0x63, 0x6f, 0x00, 2030 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2031 0x00, 0x00, 0x48, 0x6d, 0x76, 0x65, 0x78, 0x00, 2032 0x00, 0x00, 0x20, 0x74, 0x72, 0x65, 0x78, 0x00, 2033 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 2034 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 2035 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 2036 0x00, 0x00, 0x20, 0x74, 0x72, 0x65, 0x78, 0x00, 2037 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 2038 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 2039 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2040 }, 2041 Init{ 2042 Tracks: []*InitTrack{{ 2043 ID: 1, 2044 TimeScale: 6000, 2045 Codec: &CodecH264{ 2046 SPS: []byte{ 2047 0x27, 0x64, 0x00, 0x2a, 0xac, 0x52, 0x14, 0x07, 2048 0x80, 0x22, 0x7e, 0x5f, 0xfc, 0x00, 0x04, 0x00, 2049 0x05, 0xa8, 0x08, 0x08, 0x0d, 0xb6, 0x15, 0xaf, 2050 0x7b, 0xe0, 0x20, 2051 }, 2052 PPS: []byte{ 2053 0x28, 0xf9, 0x09, 0x09, 0xcb, 2054 }, 2055 }, 2056 }}, 2057 }, 2058 }, 2059 } { 2060 t.Run(ca.name, func(t *testing.T) { 2061 var init Init 2062 err := init.Unmarshal(bytes.NewReader(ca.byts)) 2063 require.NoError(t, err) 2064 require.Equal(t, ca.init, init) 2065 }) 2066 } 2067 } 2068 2069 func TestInitMarshal(t *testing.T) { 2070 for _, ca := range casesInit { 2071 t.Run(ca.name, func(t *testing.T) { 2072 var buf seekablebuffer.Buffer 2073 err := ca.dec.Marshal(&buf) 2074 require.NoError(t, err) 2075 require.Equal(t, ca.enc, buf.Bytes()) 2076 }) 2077 } 2078 } 2079 2080 func TestInitMarshalEmptyParameters(t *testing.T) { 2081 for _, ca := range []struct { 2082 name string 2083 codec Codec 2084 }{ 2085 { 2086 "av1", 2087 &CodecAV1{}, 2088 }, 2089 { 2090 "vp9", 2091 &CodecVP9{}, 2092 }, 2093 { 2094 "h265", 2095 &CodecH265{}, 2096 }, 2097 { 2098 "h264", 2099 &CodecH264{}, 2100 }, 2101 { 2102 "mpeg-4 video", 2103 &CodecMPEG4Video{}, 2104 }, 2105 { 2106 "mpeg-1 video", 2107 &CodecMPEG1Video{}, 2108 }, 2109 { 2110 "mjpeg", 2111 &CodecMJPEG{}, 2112 }, 2113 } { 2114 t.Run(ca.name, func(t *testing.T) { 2115 i := Init{ 2116 Tracks: []*InitTrack{{ 2117 ID: 1, 2118 TimeScale: 90000, 2119 Codec: ca.codec, 2120 }}, 2121 } 2122 2123 var buf seekablebuffer.Buffer 2124 err := i.Marshal(&buf) 2125 require.Error(t, err) 2126 }) 2127 } 2128 } 2129 2130 func FuzzInitUnmarshal(f *testing.F) { 2131 for _, ca := range casesInit { 2132 f.Add(ca.enc) 2133 } 2134 2135 f.Fuzz(func(_ *testing.T, b []byte) { 2136 var init Init 2137 init.Unmarshal(bytes.NewReader(b)) //nolint:errcheck 2138 }) 2139 } 2140 2141 func BenchmarkInitUnmarshal(b *testing.B) { 2142 for i := 0; i < b.N; i++ { 2143 for _, ca := range casesInit { 2144 var init Init 2145 init.Unmarshal(bytes.NewReader(ca.enc)) //nolint:errcheck 2146 } 2147 } 2148 }