parse-tfdt.js 505 B

12345678910111213141516171819202122
  1. "use strict";
  2. var toUnsigned = require('../utils/bin').toUnsigned;
  3. var getUint64 = require('../utils/numbers.js').getUint64;
  4. var tfdt = function tfdt(data) {
  5. var result = {
  6. version: data[0],
  7. flags: new Uint8Array(data.subarray(1, 4))
  8. };
  9. if (result.version === 1) {
  10. result.baseMediaDecodeTime = getUint64(data.subarray(4));
  11. } else {
  12. result.baseMediaDecodeTime = toUnsigned(data[4] << 24 | data[5] << 16 | data[6] << 8 | data[7]);
  13. }
  14. return result;
  15. };
  16. module.exports = tfdt;