@remotion/media-parser 4.0.201 → 4.0.204

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/dist/av1-codec-string.d.ts +0 -5
  2. package/dist/av1-codec-string.js +1 -18
  3. package/dist/boxes/iso-base-media/ftype.d.ts +9 -0
  4. package/dist/boxes/iso-base-media/ftype.js +31 -0
  5. package/dist/boxes/iso-base-media/get-sample-positions-from-track.d.ts +4 -0
  6. package/dist/boxes/iso-base-media/get-sample-positions-from-track.js +48 -0
  7. package/dist/boxes/iso-base-media/mvhd.js +2 -2
  8. package/dist/boxes/iso-base-media/stsd/keys.js +1 -1
  9. package/dist/boxes/iso-base-media/tfdt.d.ts +12 -0
  10. package/dist/boxes/iso-base-media/tfdt.js +20 -0
  11. package/dist/boxes/iso-base-media/tfhd.d.ts +16 -0
  12. package/dist/boxes/iso-base-media/tfhd.js +41 -0
  13. package/dist/boxes/iso-base-media/trun.d.ts +21 -0
  14. package/dist/boxes/iso-base-media/trun.js +44 -0
  15. package/dist/boxes/webm/av1-codec-private.js +1 -1
  16. package/dist/boxes/webm/bitstream/av1.js +1 -10
  17. package/dist/boxes/webm/description.d.ts +2 -2
  18. package/dist/boxes/webm/description.js +2 -2
  19. package/dist/boxes/webm/ebml.d.ts +2 -2
  20. package/dist/boxes/webm/ebml.js +23 -1
  21. package/dist/boxes/webm/get-ready-tracks.d.ts +1 -1
  22. package/dist/boxes/webm/get-ready-tracks.js +3 -3
  23. package/dist/boxes/webm/get-sample-from-block.d.ts +17 -0
  24. package/dist/boxes/webm/get-sample-from-block.js +78 -0
  25. package/dist/boxes/webm/get-track.d.ts +2 -2
  26. package/dist/boxes/webm/get-track.js +26 -25
  27. package/dist/boxes/webm/make-header.d.ts +3 -8
  28. package/dist/boxes/webm/make-header.js +43 -20
  29. package/dist/boxes/webm/parse-ebml.d.ts +9 -4
  30. package/dist/boxes/webm/parse-ebml.js +122 -13
  31. package/dist/boxes/webm/segments/all-segments.d.ts +421 -107
  32. package/dist/boxes/webm/segments/all-segments.js +260 -33
  33. package/dist/boxes/webm/segments/track-entry.d.ts +3 -191
  34. package/dist/boxes/webm/segments/track-entry.js +2 -456
  35. package/dist/boxes/webm/segments.d.ts +3 -16
  36. package/dist/boxes/webm/segments.js +12 -196
  37. package/dist/boxes/webm/tracks.d.ts +8 -0
  38. package/dist/boxes/webm/tracks.js +21 -0
  39. package/dist/boxes/webm/traversal.d.ts +5 -6
  40. package/dist/boxes/webm/traversal.js +6 -6
  41. package/dist/buffer-iterator.d.ts +1 -1
  42. package/dist/buffer-iterator.js +3 -3
  43. package/dist/from-web.js +6 -15
  44. package/dist/get-audio-codec.d.ts +1 -1
  45. package/dist/get-audio-codec.js +13 -13
  46. package/dist/get-duration.js +12 -14
  47. package/dist/get-tracks.js +2 -2
  48. package/dist/get-video-codec.js +13 -13
  49. package/dist/get-video-metadata.d.ts +2 -0
  50. package/dist/get-video-metadata.js +44 -0
  51. package/dist/parse-media.js +4 -1
  52. package/dist/parser-context.d.ts +1 -0
  53. package/dist/parser-state.js +3 -2
  54. package/dist/read-and-increment-offset.d.ts +28 -0
  55. package/dist/read-and-increment-offset.js +177 -0
  56. package/dist/samples-from-moof.d.ts +6 -0
  57. package/dist/samples-from-moof.js +74 -0
  58. package/dist/traversal.d.ts +19 -17
  59. package/dist/traversal.js +38 -39
  60. package/dist/understand-vorbis.d.ts +1 -0
  61. package/dist/understand-vorbis.js +12 -0
  62. package/input.webm +0 -0
  63. package/package.json +2 -2
  64. package/src/boxes/iso-base-media/get-sample-positions-from-track.ts +69 -0
  65. package/src/boxes/iso-base-media/make-track.ts +4 -45
  66. package/src/boxes/iso-base-media/mdat/mdat.ts +33 -24
  67. package/src/boxes/iso-base-media/mdhd.ts +10 -7
  68. package/src/boxes/iso-base-media/mvhd.ts +17 -16
  69. package/src/boxes/iso-base-media/process-box.ts +42 -0
  70. package/src/boxes/iso-base-media/stsd/keys.ts +1 -1
  71. package/src/boxes/iso-base-media/tfdt.ts +37 -0
  72. package/src/boxes/iso-base-media/tfhd.ts +66 -0
  73. package/src/boxes/iso-base-media/tkhd.ts +11 -13
  74. package/src/boxes/iso-base-media/trun.ts +74 -0
  75. package/src/boxes/webm/av1-codec-private.ts +1 -1
  76. package/src/boxes/webm/description.ts +7 -4
  77. package/src/boxes/webm/ebml.ts +24 -4
  78. package/src/boxes/webm/get-ready-tracks.ts +4 -4
  79. package/src/boxes/webm/get-sample-from-block.ts +125 -0
  80. package/src/boxes/webm/get-track.ts +40 -33
  81. package/src/boxes/webm/make-header.ts +58 -51
  82. package/src/boxes/webm/parse-ebml.ts +170 -16
  83. package/src/boxes/webm/segments/all-segments.ts +379 -62
  84. package/src/boxes/webm/segments/track-entry.ts +3 -846
  85. package/src/boxes/webm/segments.ts +18 -410
  86. package/src/boxes/webm/traversal.ts +17 -17
  87. package/src/buffer-iterator.ts +8 -6
  88. package/src/get-audio-codec.ts +14 -16
  89. package/src/get-duration.ts +55 -21
  90. package/src/get-tracks.ts +6 -6
  91. package/src/get-video-codec.ts +13 -15
  92. package/src/has-all-info.ts +1 -1
  93. package/src/parse-media.ts +7 -2
  94. package/src/parse-result.ts +7 -1
  95. package/src/parser-context.ts +1 -0
  96. package/src/parser-state.ts +2 -2
  97. package/src/samples-from-moof.ts +101 -0
  98. package/src/test/create-matroska.test.ts +237 -23
  99. package/src/test/matroska.test.ts +283 -348
  100. package/src/test/mvhd.test.ts +1 -1
  101. package/src/test/parse-esds.test.ts +2 -2
  102. package/src/test/parse-stco.test.ts +2 -2
  103. package/src/test/parse-stsc.test.ts +2 -2
  104. package/src/test/parse-stsz.test.ts +2 -2
  105. package/src/test/parse-stts.test.ts +1 -1
  106. package/src/test/samples-from-moof.test.ts +2496 -0
  107. package/src/test/stream-local.test.ts +28 -30
  108. package/src/test/stream-samples.test.ts +153 -231
  109. package/src/test/stsd.test.ts +4 -2
  110. package/src/test/tkhd.test.ts +1 -1
  111. package/src/traversal.ts +118 -86
  112. package/tsconfig.tsbuildinfo +1 -1
  113. package/dist/bitstream/av1.d.ts +0 -2
  114. package/dist/bitstream/av1.js +0 -12
  115. package/dist/boxes/iso-base-media/avcc-hvcc.d.ts +0 -20
  116. package/dist/boxes/iso-base-media/avcc-hvcc.js +0 -73
  117. package/dist/boxes/iso-base-media/avcc.d.ts +0 -18
  118. package/dist/boxes/iso-base-media/avcc.js +0 -27
  119. package/dist/boxes/iso-base-media/esds-descriptors.d.ts +0 -21
  120. package/dist/boxes/iso-base-media/esds-descriptors.js +0 -62
  121. package/dist/boxes/iso-base-media/esds.d.ts +0 -15
  122. package/dist/boxes/iso-base-media/esds.js +0 -27
  123. package/dist/from-input-type-file.d.ts +0 -2
  124. package/dist/from-input-type-file.js +0 -37
  125. package/dist/get-codec.d.ts +0 -4
  126. package/dist/get-codec.js +0 -22
  127. package/dist/web-file.d.ts +0 -2
  128. package/dist/web-file.js +0 -37
  129. package/src/boxes/webm/segments/duration.ts +0 -29
  130. package/src/boxes/webm/segments/info.ts +0 -34
  131. package/src/boxes/webm/segments/main.ts +0 -6
  132. package/src/boxes/webm/segments/muxing.ts +0 -18
  133. package/src/boxes/webm/segments/seek-head.ts +0 -34
  134. package/src/boxes/webm/segments/seek-position.ts +0 -18
  135. package/src/boxes/webm/segments/seek.ts +0 -55
  136. package/src/boxes/webm/segments/timestamp-scale.ts +0 -17
  137. package/src/boxes/webm/segments/tracks.ts +0 -32
  138. package/src/boxes/webm/segments/void.ts +0 -18
  139. package/src/boxes/webm/segments/writing.ts +0 -18
  140. package/src/combine-uint8array.ts +0 -13
  141. /package/dist/{get-samples.d.ts → boxes/webm/bitstream/av1/frame.d.ts} +0 -0
  142. /package/dist/{get-samples.js → boxes/webm/bitstream/av1/frame.js} +0 -0
  143. /package/dist/{sample-aspect-ratio.d.ts → boxes/webm/bitstream/h264/get-h264-descriptor.d.ts} +0 -0
  144. /package/dist/{sample-aspect-ratio.js → boxes/webm/bitstream/h264/get-h264-descriptor.js} +0 -0
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ebmlMap = exports.voidHeader = exports.seek = exports.seekPosition = exports.seekId = exports.matroskaHeader = exports.matroskaHeaderStructure = exports.voidEbml = exports.docTypeReadVersion = exports.docTypeVersion = exports.docType = exports.ebmlMaxSizeLength = exports.ebmlMaxIdLength = exports.ebmlReadVersion = exports.ebmlVersion = exports.getIdForName = exports.getSegmentName = exports.knownIdsWithThreeLength = exports.knownIdsWithTwoLength = exports.knownIdsWithOneLength = exports.matroskaElements = void 0;
3
+ exports.flagDefault = exports.videoSegment = exports.audioSegment = exports.maxBlockAdditionIdSegment = exports.blockAdditionsSegment = exports.codecPrivate = exports.defaultDuration = exports.language = exports.color = exports.trackUID = exports.trackNumber = exports.tags = exports.tagSegment = exports.flagLacing = exports.displayHeight = exports.displayWidth = exports.bitDepth = exports.interlaced = exports.alphaMode = exports.channels = exports.samplingFrequency = exports.titleType = exports.infoType = exports.writingApp = exports.timestampScale = exports.duration = exports.muxingApp = exports.heightType = exports.widthType = exports.trackType = exports.codecID = exports.voidHeader = exports.seekHead = exports.seek = exports.seekPosition = exports.seekId = exports.matroskaHeader = exports.docTypeReadVersion = exports.docTypeVersion = exports.docType = exports.ebmlMaxSizeLength = exports.ebmlMaxIdLength = exports.ebmlReadVersion = exports.ebmlVersion = exports.getIdForName = exports.getSegmentName = exports.knownIdsWithThreeLength = exports.knownIdsWithTwoLength = exports.knownIdsWithOneLength = exports.matroskaElements = void 0;
4
+ exports.ebmlMap = exports.cluster = exports.segment = exports.blockGroup = exports.simpleBlock = exports.block = exports.timestampEntry = exports.tracks = exports.trackEntry = exports.trackTimestampScale = exports.codecName = exports.blockElement = exports.referenceBlock = void 0;
4
5
  exports.matroskaElements = {
5
6
  Header: '0x1a45dfa3',
6
7
  EBMLMaxIDLength: '0x42f2',
@@ -318,23 +319,13 @@ exports.docTypeReadVersion = {
318
319
  name: 'DocTypeReadVersion',
319
320
  type: 'uint',
320
321
  };
321
- exports.voidEbml = {
322
+ const voidEbml = {
322
323
  name: 'Void',
323
- type: 'void',
324
- };
325
- exports.matroskaHeaderStructure = [
326
- exports.ebmlVersion,
327
- exports.ebmlReadVersion,
328
- exports.ebmlMaxIdLength,
329
- exports.ebmlMaxSizeLength,
330
- exports.docType,
331
- exports.docTypeVersion,
332
- exports.docTypeReadVersion,
333
- ];
324
+ type: 'uint8array',
325
+ };
334
326
  exports.matroskaHeader = {
335
327
  name: 'Header',
336
328
  type: 'children',
337
- children: exports.matroskaHeaderStructure,
338
329
  };
339
330
  exports.seekId = {
340
331
  name: 'SeekID',
@@ -347,11 +338,186 @@ exports.seekPosition = {
347
338
  exports.seek = {
348
339
  name: 'Seek',
349
340
  type: 'children',
350
- children: [exports.seekId, exports.seekPosition],
341
+ };
342
+ exports.seekHead = {
343
+ name: 'SeekHead',
344
+ type: 'children',
351
345
  };
352
346
  exports.voidHeader = {
353
347
  name: 'Void',
354
- type: 'void',
348
+ type: 'uint8array',
349
+ };
350
+ exports.codecID = {
351
+ name: 'CodecID',
352
+ type: 'string',
353
+ };
354
+ exports.trackType = {
355
+ name: 'TrackType',
356
+ type: 'uint',
357
+ };
358
+ exports.widthType = {
359
+ name: 'PixelWidth',
360
+ type: 'uint',
361
+ };
362
+ exports.heightType = {
363
+ name: 'PixelHeight',
364
+ type: 'uint',
365
+ };
366
+ exports.muxingApp = {
367
+ name: 'MuxingApp',
368
+ type: 'string',
369
+ };
370
+ exports.duration = {
371
+ name: 'Duration',
372
+ type: 'float',
373
+ };
374
+ exports.timestampScale = {
375
+ name: 'TimestampScale',
376
+ type: 'uint',
377
+ };
378
+ exports.writingApp = {
379
+ name: 'WritingApp',
380
+ type: 'string',
381
+ };
382
+ exports.infoType = {
383
+ name: 'Info',
384
+ type: 'children',
385
+ };
386
+ exports.titleType = {
387
+ name: 'Title',
388
+ type: 'string',
389
+ };
390
+ exports.samplingFrequency = {
391
+ name: 'SamplingFrequency',
392
+ type: 'float',
393
+ };
394
+ exports.channels = {
395
+ name: 'Channels',
396
+ type: 'uint',
397
+ };
398
+ exports.alphaMode = {
399
+ name: 'AlphaMode',
400
+ type: 'uint',
401
+ };
402
+ exports.interlaced = {
403
+ name: 'FlagInterlaced',
404
+ type: 'uint',
405
+ };
406
+ exports.bitDepth = {
407
+ name: 'BitDepth',
408
+ type: 'uint',
409
+ };
410
+ exports.displayWidth = {
411
+ name: 'DisplayWidth',
412
+ type: 'uint',
413
+ };
414
+ exports.displayHeight = {
415
+ name: 'DisplayHeight',
416
+ type: 'uint',
417
+ };
418
+ exports.flagLacing = {
419
+ name: 'FlagLacing',
420
+ type: 'uint',
421
+ };
422
+ exports.tagSegment = {
423
+ name: 'Tag',
424
+ type: 'uint8array',
425
+ };
426
+ exports.tags = {
427
+ name: 'Tags',
428
+ type: 'children',
429
+ };
430
+ exports.trackNumber = {
431
+ name: 'TrackNumber',
432
+ type: 'uint',
433
+ };
434
+ exports.trackUID = {
435
+ name: 'TrackUID',
436
+ type: 'hex-string',
437
+ };
438
+ exports.color = {
439
+ name: 'Colour',
440
+ type: 'uint8array',
441
+ };
442
+ exports.language = {
443
+ name: 'Language',
444
+ type: 'string',
445
+ };
446
+ exports.defaultDuration = {
447
+ name: 'DefaultDuration',
448
+ type: 'uint',
449
+ };
450
+ exports.codecPrivate = {
451
+ name: 'CodecPrivate',
452
+ type: 'uint8array',
453
+ };
454
+ exports.blockAdditionsSegment = {
455
+ name: 'BlockAdditions',
456
+ type: 'uint8array',
457
+ };
458
+ exports.maxBlockAdditionIdSegment = {
459
+ name: 'MaxBlockAdditionID',
460
+ type: 'uint',
461
+ };
462
+ exports.audioSegment = {
463
+ name: 'Audio',
464
+ type: 'children',
465
+ };
466
+ exports.videoSegment = {
467
+ name: 'Video',
468
+ type: 'children',
469
+ };
470
+ exports.flagDefault = {
471
+ name: 'FlagDefault',
472
+ type: 'uint8array',
473
+ };
474
+ exports.referenceBlock = {
475
+ name: 'ReferenceBlock',
476
+ type: 'uint',
477
+ };
478
+ exports.blockElement = {
479
+ name: 'Block',
480
+ type: 'uint8array',
481
+ };
482
+ exports.codecName = {
483
+ name: 'CodecName',
484
+ type: 'string',
485
+ };
486
+ exports.trackTimestampScale = {
487
+ name: 'TrackTimestampScale',
488
+ type: 'float',
489
+ };
490
+ exports.trackEntry = {
491
+ name: 'TrackEntry',
492
+ type: 'children',
493
+ };
494
+ exports.tracks = {
495
+ name: 'Tracks',
496
+ type: 'children',
497
+ };
498
+ exports.timestampEntry = {
499
+ name: 'Timestamp',
500
+ type: 'uint',
501
+ };
502
+ exports.block = {
503
+ name: 'Block',
504
+ type: 'uint8array',
505
+ };
506
+ exports.simpleBlock = {
507
+ name: 'SimpleBlock',
508
+ type: 'uint8array',
509
+ };
510
+ exports.blockGroup = {
511
+ name: 'BlockGroup',
512
+ type: 'children',
513
+ };
514
+ exports.segment = {
515
+ name: 'Segment',
516
+ type: 'children',
517
+ };
518
+ exports.cluster = {
519
+ name: 'Cluster',
520
+ type: 'children',
355
521
  };
356
522
  exports.ebmlMap = {
357
523
  [exports.matroskaElements.Header]: exports.matroskaHeader,
@@ -362,45 +528,106 @@ exports.ebmlMap = {
362
528
  [exports.matroskaElements.EBMLReadVersion]: exports.ebmlReadVersion,
363
529
  [exports.matroskaElements.EBMLMaxIDLength]: exports.ebmlMaxIdLength,
364
530
  [exports.matroskaElements.EBMLMaxSizeLength]: exports.ebmlMaxSizeLength,
365
- [exports.matroskaElements.Void]: exports.voidEbml,
531
+ [exports.matroskaElements.Void]: voidEbml,
366
532
  [exports.matroskaElements.Cues]: {
367
533
  name: 'Cues',
368
- type: 'void',
534
+ type: 'uint8array',
369
535
  },
370
536
  [exports.matroskaElements.DateUTC]: {
371
537
  name: 'DateUTC',
372
- type: 'void',
373
- },
374
- [exports.matroskaElements.TrackTimestampScale]: {
375
- name: 'TrackTimestampScale',
376
- type: 'float',
538
+ type: 'uint8array',
377
539
  },
540
+ [exports.matroskaElements.TrackTimestampScale]: exports.trackTimestampScale,
378
541
  [exports.matroskaElements.CodecDelay]: {
379
542
  name: 'CodecDelay',
380
- type: 'void',
543
+ type: 'uint8array',
381
544
  },
382
545
  [exports.matroskaElements.SeekPreRoll]: {
383
546
  name: 'SeekPreRoll',
384
- type: 'void',
547
+ type: 'uint8array',
385
548
  },
386
549
  [exports.matroskaElements.DiscardPadding]: {
387
550
  name: 'DiscardPadding',
388
- type: 'void',
551
+ type: 'uint8array',
389
552
  },
390
553
  [exports.matroskaElements.OutputSamplingFrequency]: {
391
554
  name: 'OutputSamplingFrequency',
392
- type: 'void',
393
- },
394
- [exports.matroskaElements.CodecName]: {
395
- name: 'CodecName',
396
- type: 'void',
555
+ type: 'uint8array',
397
556
  },
557
+ [exports.matroskaElements.CodecName]: exports.codecName,
398
558
  [exports.matroskaElements.Position]: {
399
559
  name: 'Position',
400
- type: 'void',
560
+ type: 'uint8array',
401
561
  },
402
562
  [exports.matroskaElements.SliceDuration]: {
403
563
  name: 'SliceDuration',
404
- type: 'void',
564
+ type: 'uint8array',
565
+ },
566
+ [exports.matroskaElements.SeekHead]: exports.seekHead,
567
+ [exports.matroskaElements.Seek]: exports.seek,
568
+ [exports.matroskaElements.SeekID]: exports.seekId,
569
+ [exports.matroskaElements.SeekPosition]: exports.seekPosition,
570
+ [exports.matroskaElements.Crc32]: {
571
+ name: 'Crc32',
572
+ type: 'uint8array',
573
+ },
574
+ [exports.matroskaElements.MuxingApp]: exports.muxingApp,
575
+ [exports.matroskaElements.WritingApp]: {
576
+ name: 'WritingApp',
577
+ type: 'string',
578
+ },
579
+ [exports.matroskaElements.SegmentUUID]: {
580
+ name: 'SegmentUUID',
581
+ type: 'string',
582
+ },
583
+ [exports.matroskaElements.Duration]: exports.duration,
584
+ [exports.matroskaElements.CodecID]: {
585
+ name: 'CodecID',
586
+ type: 'string',
587
+ },
588
+ [exports.matroskaElements.TrackType]: exports.trackType,
589
+ [exports.matroskaElements.PixelWidth]: exports.widthType,
590
+ [exports.matroskaElements.PixelHeight]: exports.heightType,
591
+ [exports.matroskaElements.TimestampScale]: exports.timestampScale,
592
+ [exports.matroskaElements.Info]: exports.infoType,
593
+ [exports.matroskaElements.Title]: exports.titleType,
594
+ [exports.matroskaElements.SamplingFrequency]: exports.samplingFrequency,
595
+ [exports.matroskaElements.Channels]: exports.channels,
596
+ [exports.matroskaElements.AlphaMode]: exports.alphaMode,
597
+ [exports.matroskaElements.FlagInterlaced]: exports.interlaced,
598
+ [exports.matroskaElements.BitDepth]: exports.bitDepth,
599
+ [exports.matroskaElements.DisplayHeight]: exports.displayHeight,
600
+ [exports.matroskaElements.DisplayWidth]: exports.displayWidth,
601
+ [exports.matroskaElements.FlagLacing]: exports.flagLacing,
602
+ [exports.matroskaElements.Tags]: exports.tags,
603
+ [exports.matroskaElements.Tag]: exports.tagSegment,
604
+ [exports.matroskaElements.TrackNumber]: exports.trackNumber,
605
+ [exports.matroskaElements.TrackUID]: exports.trackUID,
606
+ [exports.matroskaElements.Colour]: exports.color,
607
+ [exports.matroskaElements.Language]: exports.language,
608
+ [exports.matroskaElements.DefaultDuration]: exports.defaultDuration,
609
+ [exports.matroskaElements.CodecPrivate]: exports.codecPrivate,
610
+ [exports.matroskaElements.BlockAdditions]: exports.blockAdditionsSegment,
611
+ [exports.matroskaElements.MaxBlockAdditionID]: exports.maxBlockAdditionIdSegment,
612
+ [exports.matroskaElements.Audio]: exports.audioSegment,
613
+ [exports.matroskaElements.Video]: exports.videoSegment,
614
+ [exports.matroskaElements.FlagDefault]: exports.flagDefault,
615
+ [exports.matroskaElements.ReferenceBlock]: exports.referenceBlock,
616
+ [exports.matroskaElements.TrackEntry]: exports.trackEntry,
617
+ [exports.matroskaElements.Timestamp]: {
618
+ name: 'Timestamp',
619
+ type: 'uint',
620
+ },
621
+ [exports.matroskaElements.Tracks]: exports.tracks,
622
+ [exports.matroskaElements.Block]: exports.block,
623
+ [exports.matroskaElements.SimpleBlock]: exports.simpleBlock,
624
+ [exports.matroskaElements.BlockGroup]: exports.blockGroup,
625
+ [exports.matroskaElements.Segment]: {
626
+ name: 'Segment',
627
+ type: 'children',
628
+ },
629
+ [exports.matroskaElements.Cluster]: {
630
+ name: 'Cluster',
631
+ type: 'children',
405
632
  },
406
633
  };
@@ -1,197 +1,9 @@
1
- import type { BufferIterator } from '../../../buffer-iterator';
2
- import type { ParserContext } from '../../../parser-context';
3
- import type { VideoSample } from '../../../webcodec-sample-types';
4
- import type { MatroskaSegment } from '../segments';
5
- import type { matroskaElements } from './all-segments';
6
- export type TrackEntrySegment = {
7
- type: 'track-entry-segment';
8
- children: MatroskaSegment[];
9
- };
10
- export declare const parseTrackEntry: (iterator: BufferIterator, length: number, parserContext: ParserContext) => Promise<TrackEntrySegment>;
11
- export type TrackNumberSegment = {
12
- type: 'track-number-segment';
13
- trackNumber: number;
14
- };
15
- export type TrackUIDSegment = {
16
- type: 'track-uid-segment';
17
- trackUid: string;
18
- };
19
- export declare const parseTrackUID: (iterator: BufferIterator, length: number) => TrackUIDSegment;
20
- export type FlagLacingSegment = {
21
- type: 'flag-lacing-segment';
22
- lacing: boolean;
23
- };
24
- export declare const parseFlagLacing: (iterator: BufferIterator, length: number) => FlagLacingSegment;
25
- export type LanguageSegment = {
26
- type: 'language-segment';
27
- language: string;
28
- };
29
- export declare const parseLanguageSegment: (iterator: BufferIterator, length: number) => LanguageSegment;
30
- export type CodecSegment = {
31
- type: 'codec-segment';
32
- codec: string;
33
- };
1
+ import type { TrackEntry } from './all-segments';
34
2
  export type TrackInfo = {
35
3
  codec: string;
36
4
  trackTimescale: number | null;
37
5
  };
38
- export declare const parseCodecSegment: (iterator: BufferIterator, length: number) => CodecSegment;
39
6
  type TrackType = 'video' | 'audio' | 'complex' | 'subtitle' | 'button' | 'control' | 'metadata';
40
- export type TrackTypeSegment = {
41
- type: 'track-type-segment';
42
- trackType: TrackType;
43
- };
44
- export declare const parseTrackTypeSegment: (iterator: BufferIterator, length: number) => TrackTypeSegment;
45
- export type DefaultDurationSegment = {
46
- type: 'default-duration-segment';
47
- defaultDuration: number;
48
- };
49
- export declare const parseDefaultDurationSegment: (iterator: BufferIterator, length: number) => DefaultDurationSegment;
50
- export type VideoSegment = {
51
- type: 'video-segment';
52
- children: MatroskaSegment[];
53
- };
54
- export declare const parseVideoSegment: (iterator: BufferIterator, length: number, parserContext: ParserContext) => Promise<VideoSegment>;
55
- export type AudioSegment = {
56
- type: 'audio-segment';
57
- children: MatroskaSegment[];
58
- };
59
- export declare const parseAudioSegment: (iterator: BufferIterator, length: number, parserContext: ParserContext) => Promise<AudioSegment>;
60
- export type WidthSegment = {
61
- type: 'width-segment';
62
- width: number;
63
- };
64
- export declare const parseWidthSegment: (iterator: BufferIterator, length: number) => WidthSegment;
65
- export type HeightSegment = {
66
- type: 'height-segment';
67
- height: number;
68
- };
69
- export declare const parseHeightSegment: (iterator: BufferIterator, length: number) => HeightSegment;
70
- export type DisplayWidthSegment = {
71
- type: 'display-width-segment';
72
- displayWidth: number;
73
- };
74
- export declare const parseDisplayWidthSegment: (iterator: BufferIterator, length: number) => DisplayWidthSegment;
75
- export type DisplayHeightSegment = {
76
- type: 'display-height-segment';
77
- displayHeight: number;
78
- };
79
- export declare const parseDisplayHeightSegment: (iterator: BufferIterator, length: number) => DisplayHeightSegment;
80
- export type AlphaModeSegment = {
81
- type: 'alpha-mode-segment';
82
- alphaMode: number;
83
- };
84
- export declare const parseAlphaModeSegment: (iterator: BufferIterator, length: number) => AlphaModeSegment;
85
- export type MaxBlockAdditionId = {
86
- type: 'max-block-addition-id-segment';
87
- maxBlockAdditionId: number;
88
- };
89
- export declare const parseMaxBlockAdditionId: (iterator: BufferIterator, length: number) => MaxBlockAdditionId;
90
- export type ColorSegment = {
91
- type: 'color-segment';
92
- length: number;
93
- };
94
- export declare const parseColorSegment: (iterator: BufferIterator, length: number) => ColorSegment;
95
- export type TitleSegment = {
96
- type: 'title-segment';
97
- title: string;
98
- };
99
- export declare const parseTitleSegment: (iterator: BufferIterator, length: number) => TitleSegment;
100
- export type InterlacedSegment = {
101
- type: 'interlaced-segment';
102
- interlaced: boolean;
103
- };
104
- export declare const parseInterlacedSegment: (iterator: BufferIterator, length: number) => InterlacedSegment;
105
- export type CodecPrivateSegment = {
106
- type: 'codec-private-segment';
107
- codecPrivateData: Uint8Array;
108
- };
109
- export declare const parseCodecPrivateSegment: (iterator: BufferIterator, length: number) => CodecPrivateSegment;
110
- export type Crc32Segment = {
111
- type: 'crc32-segment';
112
- crc32: number[];
113
- };
114
- export declare const parseCrc32Segment: (iterator: BufferIterator, length: number) => Crc32Segment;
115
- export type SegmentUUIDSegment = {
116
- type: 'segment-uuid-segment';
117
- segmentUUID: string;
118
- };
119
- export declare const parseSegmentUUIDSegment: (iterator: BufferIterator, length: number) => SegmentUUIDSegment;
120
- export type DefaultFlagSegment = {
121
- type: 'default-flag-segment';
122
- defaultFlag: boolean;
123
- };
124
- export declare const parseDefaultFlagSegment: (iterator: BufferIterator, length: number) => DefaultFlagSegment;
125
- export type TagsSegment = {
126
- type: 'tags-segment';
127
- children: MatroskaSegment[];
128
- };
129
- export declare const parseTagsSegment: (iterator: BufferIterator, length: number, parserContext: ParserContext) => Promise<TagsSegment>;
130
- export type TagSegment = {
131
- type: 'tag-segment';
132
- length: number;
133
- };
134
- export declare const parseTagSegment: (iterator: BufferIterator, length: number) => TagSegment;
135
- export type ClusterSegment = {
136
- type: 'cluster-segment';
137
- children: MatroskaSegment[];
138
- };
139
- export type TimestampSegment = {
140
- type: 'timestamp-segment';
141
- timestamp: number;
142
- };
143
- export declare const parseTimestampSegment: (iterator: BufferIterator, length: number) => TimestampSegment;
144
- export type SimpleBlockOrBlockSegment = {
145
- type: 'simple-block-or-block-segment';
146
- length: number;
147
- trackNumber: number;
148
- timecodeInMicroseconds: number;
149
- keyframe: boolean | null;
150
- lacing: number;
151
- invisible: boolean;
152
- videoSample: Omit<VideoSample, 'type'> | null;
153
- };
154
- export type GetTracks = () => TrackEntrySegment[];
155
- export declare const parseSimpleBlockOrBlockSegment: ({ iterator, length, parserContext, type, }: {
156
- iterator: BufferIterator;
157
- length: number;
158
- parserContext: ParserContext;
159
- type: (typeof matroskaElements)['Block'] | (typeof matroskaElements)['SimpleBlock'];
160
- }) => Promise<SimpleBlockOrBlockSegment>;
161
- export declare const parseTrackNumber: (iterator: BufferIterator, length: number) => TrackNumberSegment;
162
- export type BlockGroupSegment = {
163
- type: 'block-group-segment';
164
- children: MatroskaSegment[];
165
- };
166
- export declare const parseBlockGroupSegment: (iterator: BufferIterator, length: number, parserContext: ParserContext) => Promise<BlockGroupSegment>;
167
- export type ReferenceBlockSegment = {
168
- type: 'reference-block-segment';
169
- referenceBlock: number;
170
- };
171
- export declare const parseReferenceBlockSegment: (iterator: BufferIterator, length: number) => ReferenceBlockSegment;
172
- export type BlockAdditionsSegment = {
173
- type: 'block-additions-segment';
174
- blockAdditions: Uint8Array;
175
- };
176
- export declare const parseBlockAdditionsSegment: (iterator: BufferIterator, length: number) => BlockAdditionsSegment;
177
- export type BlockElement = {
178
- type: 'block-element-segment';
179
- length: number;
180
- };
181
- export declare const parseBlockElementSegment: (iterator: BufferIterator, length: number) => BlockElement;
182
- export type SamplingFrequencySegment = {
183
- type: 'sampling-frequency-segment';
184
- samplingFrequency: number;
185
- };
186
- export declare const parseSamplingFrequencySegment: (iterator: BufferIterator, length: number) => SamplingFrequencySegment;
187
- export type ChannelsSegment = {
188
- type: 'channels-segment';
189
- channels: number;
190
- };
191
- export declare const parseChannelsSegment: (iterator: BufferIterator, length: number) => ChannelsSegment;
192
- export type BitDepthSegment = {
193
- type: 'bit-depth-segment';
194
- bitDepth: number;
195
- };
196
- export declare const parseBitDepthSegment: (iterator: BufferIterator, length: number) => BitDepthSegment;
7
+ export declare const trackTypeToString: (trackType: number) => TrackType;
8
+ export type GetTracks = () => TrackEntry[];
197
9
  export {};