Packageflash.display3D.textures
Classpublic final class VideoTexture
InheritanceVideoTexture Inheritance TextureBase Inheritance EventDispatcher Inheritance Object

Prior to Flash Player 21, the use of video in Stage3D required the use of the Video object (which is not hardware accelerated), copying of video frame to a BitmapData object, and loading of the data onto the GPU which is CPU intensive. Thus, Video texture object was introduced. It allows hardware decoded video to be used in Stage 3D content.

For Flash Player 22, video texture objects were added to support NetStream and Cameras in a manner consistent/ similar to StageVideo. Such textures can be used as source textures in the stage3D rendering pipeline. The textures can be used as rectangular, RGB, no mipmap textures in the rendering of a scene. They are treated as ARGB texture by the shaders (that is, the AGAL shaders do not have to bother about YUV->RGB conversion) and so the standard shaders with static images can be used without change. The image used by the rendering pipeline is the latest up-to-date frame at the time the rendering occurs using this texture. There is no tearing in a video frame, however if the same texture is used several times, some of the instances may be from different timestamps.



Public Properties
 PropertyDefined by
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
  videoHeight : int
[read-only] An integer specifying the height of the video stream, in pixels.
VideoTexture
  videoWidth : int
[read-only] An integer specifying the width of the video stream, in pixels.
VideoTexture
Public Methods
 MethodDefined by
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event.
EventDispatcher
  
attachCamera(theCamera:Camera):void
Specifies a video stream from a camera to be rendered within the texture of the VideoTexture object.
VideoTexture
  
Specifies a video stream to be rendered within the texture of the VideoTexture object.
VideoTexture
 Inherited
Dispatches an event into the event flow.
EventDispatcher
 Inherited
Frees all GPU resources associated with this texture.
TextureBase
 Inherited
Checks whether the EventDispatcher object has any listeners registered for a specific type of event.
EventDispatcher
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Removes a listener from the EventDispatcher object.
EventDispatcher
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
Returns the primitive value of the specified object.
Object
 Inherited
Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type.
EventDispatcher
Events
 EventSummaryDefined by
 Inherited [broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active.EventDispatcher
 Inherited [broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive.EventDispatcher
   Dispatched by the VideoTexture object when the render state of the VideoTexture object changes.VideoTexture
   Dispatched by the VideoTexture object every time the texture is updated with a new frame.VideoTexture
Property detail
videoHeightproperty
videoHeight:int  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 17.0

An integer specifying the height of the video stream, in pixels.

For a live stream, this value is the same as the Camera.height property of the Camera object that is capturing the video stream. For a recorded video file, this value is the height of the video. The NetStream.Video.DimensionChange event is dispatched in the case of recorded videos when this value changes.

Implementation
    public function get videoHeight():int
videoWidthproperty 
videoWidth:int  [read-only]

Language version: ActionScript 3.0
Runtime version: AIR 17.0

An integer specifying the width of the video stream, in pixels.

For a live stream, this value is the same as the Camera.width property of the Camera object that is capturing the video stream. For a recorded video file, this value is the width of the video. The NetStream.Video.DimensionChange event is dispatched in the case of recorded videos when this value changes.

Implementation
    public function get videoWidth():int
Method detail
attachCamera()method
public function attachCamera(theCamera:Camera):void

Language version: ActionScript 3.0
Runtime version: AIR 17.0

Specifies a video stream from a camera to be rendered within the texture of the VideoTexture object.

Use this method to attach live video captured by the user to the VideoTexture object. To drop the connection to the VideoTexture object, set the value of the theCamera parameter to null.

Note that only one VideoTexture object can be linked with a Camera object at once. If you call this method with a Camera object that is already attached to a different VideoTexture instance, it will be detached from that instance prior to being attached to this instance. This applies to all video consumers i.e. if the Camera object is attached to a StageVideo or Video object, calling this method with the same Camera object will detach that connection.

Parameters
theCamera:Camera
attachNetStream()method 
public function attachNetStream(netStream:NetStream):void

Language version: ActionScript 3.0
Runtime version: AIR 17.0

Specifies a video stream to be rendered within the texture of the VideoTexture object.

A video file can be stored on the local file system or on Flash Media Server. If the value of the netStream argument is null, the video is no longer played in the VideoTexture object.

Note that only one VideoTexture object can be linked with a NetStream object at once. If you call this method with a NetStream object that is already attached to a different VideoTexture instance, it will be detached from that instance prior to being attached to this instance. This applies to all video consumers i.e. if the NetStream object is attached to a StageVideo or Video object, calling this method with the same NetStream object will detach that connection.

Parameters
netStream:NetStream
Event detail
renderStateevent 
Event object type: flash.events.VideoTextureEvent
VideoTextureEvent.type property = flash.events.VideoTextureEvent.RENDER_STATE

Language version: ActionScript 3.0
Runtime version: AIR 17.0

Dispatched by the VideoTexture object when the render state of the VideoTexture object changes.

The VideoTextureEvent.RENDER_STATE constant defines the value of the type property of a renderState event object.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
colorSpaceThe available color spaces for displaying the video.
currentTargetThe object that is actively processing the VideoTextureEvent object with an event listener.
statusIndicates whether the video is being rendered (decoded and displayed) by hardware or software, or not at all.
targetThe VideoTexture object that changed state.
textureReadyevent  
Event object type: flash.events.Event
Event.type property = flash.events.Event.TEXTURE_READY

Language version: ActionScript 3.0
Runtime version: AIR 17.0

Dispatched by the VideoTexture object every time the texture is updated with a new frame.

The Event.TEXTURE_READY constant defines the value of the type property of a textureReady event object.

This event is dispatched by Texture, RectangleTexture and CubeTexture objects to signal the completion of an asynchronous upload. Request an asynchronous upload by using the uploadCompressedTextureFromByteArray() method with a true value for the async argument, or using a method such as uploadFromBitmapDataAsync or uploadFromByteArrayAsync.

This event is also dispatched by VideoTexture objects when a new frame has been uploaded into the texture.

This event neither bubbles nor is cancelable.

This event has the following properties:

PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
targetThe texture object that dispatched this event.