Source: externs/shaka/mp4_parser.js

  1. /*! @license
  2. * Shaka Player
  3. * Copyright 2016 Google LLC
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. /**
  7. * @externs
  8. */
  9. /**
  10. * @typedef {{
  11. * name: string,
  12. * parser: !shaka.util.Mp4Parser,
  13. * partialOkay: boolean,
  14. * start: number,
  15. * size: number,
  16. * version: ?number,
  17. * flags: ?number,
  18. * reader: !shaka.util.DataViewReader,
  19. * has64BitSize: boolean
  20. * }}
  21. *
  22. * @property {string} name
  23. * The box name, a 4-character string (fourcc).
  24. * @property {!shaka.util.Mp4Parser} parser
  25. * The parser that parsed this box. The parser can be used to parse child
  26. * boxes where the configuration of the current parser is needed to parsed
  27. * other boxes.
  28. * @property {boolean} partialOkay
  29. * If true, allows reading partial payloads from some boxes. If the goal is a
  30. * child box, we can sometimes find it without enough data to find all child
  31. * boxes. This property allows the partialOkay flag from parse() to be
  32. * propagated through methods like children().
  33. * @property {number} start
  34. * The start of this box (before the header) in the original buffer. This
  35. * start position is the absolute position.
  36. * @property {number} size
  37. * The size of this box (including the header).
  38. * @property {?number} version
  39. * The version for a full box, null for basic boxes.
  40. * @property {?number} flags
  41. * The flags for a full box, null for basic boxes.
  42. * @property {!shaka.util.DataViewReader} reader
  43. * The reader for this box is only for this box. Reading or not reading to
  44. * the end will have no affect on the parser reading other sibling boxes.
  45. * @property {boolean} has64BitSize
  46. * If true, the box header had a 64-bit size field. This affects the offsets
  47. * of other fields.
  48. * @exportDoc
  49. */
  50. shaka.extern.ParsedBox;