code: function VideoBuffer(video) {
  		
  	// private properties:
  		/**
  		 * Used by Bitmap to determine when the video buffer is ready to be drawn. Not intended for general use.
  		 * @property readyState
  		 * @protected
  		 * @type {Number}
  		 * @default 0
  		 **/
  		this.readyState = video.readyState;
  		
  		/**
  		 * @property _video
  		 * @protected
  		 * @type {HTMLVideoElement}
  		 * @default 0
  		 **/
  		this._video = video;
  		
  		/**
  		 * @property _canvas
  		 * @protected
  		 * @type {HTMLCanvasElement}
  		 * @default 0
  		 **/
  		this._canvas = null;
  		
  		/**
  		 * @property _lastTime
  		 * @protected
  		 * @type {Number}
  		 * @default -1
  		 **/
  		this._lastTime = -1;
  		
  		if (this.readyState < 2) { video.addEventListener("canplaythrough", this._videoReady.bind(this)); } //once:true isn't supported everywhere, but its a non-critical optimization here.
  	}
docs: constructor: 
  When an HTML video seeks, including when looping, there is an indeterminate period before a new frame is available.
  This can result in the video blinking or flashing when it is drawn to a canvas. The VideoBuffer class resolves
  this issue by drawing each frame to an off-screen canvas and preserving the prior frame during a seek.
  
  var myBuffer = new createjs.VideoBuffer(myVideo);
  var myBitmap = new Bitmap(myBuffer);
  
  @class VideoBuffer
  @param {HTMLVideoElement} video The HTML video element to buffer.
  @constructor