Source: webWorker/decoders/decoderAbstract.js

  1. export default class Decoder {
  2. constructor () {
  3. this.codec = undefined
  4. this.decoder = undefined
  5. }
  6. _initialize () {
  7. return Promise.resolve()
  8. }
  9. /** Decode image.
  10. *
  11. * @param {Uint8Array} byteArray - Image array
  12. *
  13. * @returns {Promise<object>} decoded array and frame information
  14. */
  15. async decode (byteArray) {
  16. if (!this.codec) {
  17. await this._initialize()
  18. }
  19. const encodedBuffer = this.decoder.getEncodedBuffer(byteArray.length)
  20. encodedBuffer.set(byteArray)
  21. this.decoder.decode()
  22. return {
  23. frameBuffer: this.decoder.getDecodedBuffer(),
  24. frameInfo: this.decoder.getFrameInfo()
  25. }
  26. }
  27. }