function VideoTexture(video, mapping, wrapS, wrapT, type, anisotropy)
{
	Texture.call(this, document.createElement("video"), mapping, wrapS, wrapT, LinearFilter, LinearFilter, RGBFormat, type, anisotropy);

	this.disposed = false;
	this.generateMipmaps = false;

	this.name = "video";
	this.category = "Video";

	/**
	 * If true the video starts playing automatically.
	 *
	 * @property autoplay
	 * @default true
	 * @type {boolean}
	 */
	this.autoplay = true;

	/**
	 * If true the video plays in loop.
	 *
	 * @property loop
	 * @default true
	 * @type {boolean}
	 */
	this.loop = true;

	/**
	 * Start time in seconds.
	 *
	 * @property playbackRate
	 * @default 1.0
	 * @type {number}
	 */
	this.playbackRate = 1.0;

	/**
	 * Video audio volume, its a values between 1.0 and 0.0.
	 *
	 * @property volume
	 * @default 1.0
	 * @type {number}
	 */
	this.volume = 1.0;

	/**
	 * Image is used to store a DOM video element.
	 *
	 * @property image
	 * @type {Element}
	 */
	this.image.crossOrigin = "anonymous";
	this.image.autoplay = this.autoplay;
	this.image.playbackRate = this.playbackRate;
	this.image.loop = this.loop;
	this.image.volume = this.volume;

	/**
	 * Video source resource.
	 *
	 * @property video
	 * @type {Video}
	 */
	this.video = null;
	this.setVideo(video);

	// Video update loop
	var self = this;
	function update()
	{
		if (!self.disposed)
		{
			if (self.image.readyState >= self.image.HAVE_CURRENT_DATA)
			{
				self.needsUpdate = true;
			}

			requestAnimationFrame(update);
		}
	};
	update();
}
Video texture, uses a video DOM element instead of a img element.

VideoTexture also provides methods for playback control.

@class VideoTexture
@extends {Texture}
@module Textures
@param {Video} video
@param {number} mapping
@param {number} wrapS
@param {number} wrapT
@param {number} type
@param {number} anisotropy