1234567891011121314151617181920212223242526272829303132333435363738394041 |
- 'use strict'
- /*!
- * Canvas - JPEGStream
- * Copyright (c) 2010 LearnBoost <tj@learnboost.com>
- * MIT Licensed
- */
- const { Readable } = require('stream')
- function noop () {}
- class JPEGStream extends Readable {
- constructor (canvas, options) {
- super()
- if (canvas.streamJPEGSync === undefined) {
- throw new Error('node-canvas was built without JPEG support.')
- }
- this.options = options
- this.canvas = canvas
- }
- _read () {
- // For now we're not controlling the c++ code's data emission, so we only
- // call canvas.streamJPEGSync once and let it emit data at will.
- this._read = noop
- this.canvas.streamJPEGSync(this.options, (err, chunk) => {
- if (err) {
- this.emit('error', err)
- } else if (chunk) {
- this.push(chunk)
- } else {
- this.push(null)
- }
- })
- }
- };
- module.exports = JPEGStream
|