Browse Source

flash 11.8 api sync

Nicolas Cannasse 11 years ago
parent
commit
a469385291

+ 3 - 0
.gitignore

@@ -7,6 +7,9 @@
 *.exe
 *.exe
 .*.swp
 .*.swp
 
 
+/doc/hxclasses
+/doc/*.swf
+/doc/*.swc
 
 
 /version.ml
 /version.ml
 /haxe
 /haxe

+ 27 - 1
common.ml

@@ -732,7 +732,33 @@ let flash_versions = List.map (fun v ->
 	let maj = int_of_float v in
 	let maj = int_of_float v in
 	let min = int_of_float (mod_float (v *. 10.) 10.) in
 	let min = int_of_float (mod_float (v *. 10.) 10.) in
 	v, string_of_int maj ^ (if min = 0 then "" else "_" ^ string_of_int min)
 	v, string_of_int maj ^ (if min = 0 then "" else "_" ^ string_of_int min)
-) [9.;10.;10.1;10.2;10.3;11.;11.1;11.2;11.3;11.4;11.5;11.6;11.7;11.8]
+) [9.;10.;10.1;10.2;10.3;11.;11.1;11.2;11.3;11.4;11.5;11.6;11.7;11.8;11.9;12.0;12.1;12.2;12.3;12.4;12.5]
+
+let flash_version_tag = function
+	| 6. -> 6
+	| 7. -> 7
+	| 8. -> 8
+	| 9. -> 9
+	| 10. | 10.1 -> 10
+	| 10.2 -> 11
+	| 10.3 -> 12
+	| 11. -> 13
+	| 11.1 -> 14
+	| 11.2 -> 15
+	| 11.3 -> 16
+	| 11.4 -> 17
+	| 11.5 -> 18
+	| 11.6 -> 19
+	| 11.7 -> 20
+	| 11.8 -> 21
+	| 11.9 -> 22
+	| 12.0 -> 23
+	| 12.1 -> 24
+	| 12.2 -> 25
+	| 12.3 -> 26
+	| 12.4 -> 27
+	| 12.5 -> 28
+	| v -> failwith ("Invalid SWF version " ^ string_of_float v)
 
 
 let raw_defined ctx v =
 let raw_defined ctx v =
 	PMap.mem v ctx.defines
 	PMap.mem v ctx.defines

+ 1 - 1
doc/extract.hxml

@@ -1,6 +1,6 @@
 -debug
 -debug
 -swf-lib library.swf
 -swf-lib library.swf
 -swf test.swf
 -swf test.swf
--swf-version 11.7
+-swf-version 11.8
 --macro patchTypes("../doc/extract.patch")
 --macro patchTypes("../doc/extract.patch")
 --gen-hx-classes
 --gen-hx-classes

+ 4 - 2
doc/extract.patch

@@ -879,7 +879,7 @@ flash.globalization.StringTools.lastOperationStatus : LastOperationStatus;
 @:require(flash10_2) flash.media.Microphone.enhancedOptions;
 @:require(flash10_2) flash.media.Microphone.enhancedOptions;
 @:require(flash10_2) static flash.media.Microphone.getEnhancedMicrophone;
 @:require(flash10_2) static flash.media.Microphone.getEnhancedMicrophone;
 
 
-@:require(flash10_2) static flash.system.Capabilities.allowsFullScreen;
+@:require(flash11) static flash.system.Capabilities.allowsFullScreen;
 
 
 @:require(flash10_2) static flash.ui.Keyboard.AUDIO;
 @:require(flash10_2) static flash.ui.Keyboard.AUDIO;
 @:require(flash10_2) static flash.ui.Keyboard.BACK;
 @:require(flash10_2) static flash.ui.Keyboard.BACK;
@@ -1149,7 +1149,6 @@ flash.display.JPEGXREncoderOptions.colorSpace : BitmapEncodingColorSpace;
 
 
 // 11.4
 // 11.4
 
 
-@:require(flash11_4) flash.display3D.Context3D.createRectangleTexture
 @:require(flash11_4) flash.display.BitmapData.copyPixelsToByteArray;
 @:require(flash11_4) flash.display.BitmapData.copyPixelsToByteArray;
 
 
 @:require(flash11_4) flash.concurrent.Mutex;
 @:require(flash11_4) flash.concurrent.Mutex;
@@ -1222,3 +1221,6 @@ flash.display3D.Context3D.$mipfilter : Context3DMipFilter;
 @:require(flash11_7) flash.system.AuthorizedFeaturesLoader.loadAuthorizedFeaturesFromData;
 @:require(flash11_7) flash.system.AuthorizedFeaturesLoader.loadAuthorizedFeaturesFromData;
 
 
 
 
+@:require(flash11_8) flash.display.DisplayObjectContainer.stopAllMovieClips
+@:require(flash11_8) flash.display3D.Context3D.createRectangleTexture
+

+ 2 - 22
genswf.ml

@@ -525,26 +525,6 @@ let tag ?(ext=false) d = {
 	tdata = d;
 	tdata = d;
 }
 }
 
 
-let swf_ver = function
-	| 6. -> 6
-	| 7. -> 7
-	| 8. -> 8
-	| 9. -> 9
-	| 10. | 10.1 -> 10
-	| 10.2 -> 11
-	| 10.3 -> 12
-	| 11. -> 13
-	| 11.1 -> 14
-	| 11.2 -> 15
-	| 11.3 -> 16
-	| 11.4 -> 17
-	| 11.5 -> 18
-	| 11.6 -> 19
-	| 11.7 -> 20
-	| 11.8 -> 21
-	| 11.9 -> 22
-	| v -> failwith ("Invalid SWF version " ^ float_repres v)
-
 let convert_header com (w,h,fps,bg) =
 let convert_header com (w,h,fps,bg) =
 	let high = (max w h) * 20 in
 	let high = (max w h) * 20 in
 	let rec loop b =
 	let rec loop b =
@@ -552,7 +532,7 @@ let convert_header com (w,h,fps,bg) =
 	in
 	in
 	let bits = loop 0 in
 	let bits = loop 0 in
 	{
 	{
-		h_version = swf_ver com.flash_version;
+		h_version = Common.flash_version_tag com.flash_version;
 		h_size = {
 		h_size = {
 			rect_nbits = bits + 1;
 			rect_nbits = bits + 1;
 			left = 0;
 			left = 0;
@@ -1031,7 +1011,7 @@ let build_swf9 com file swc =
 
 
 let merge com file priority (h1,tags1) (h2,tags2) =
 let merge com file priority (h1,tags1) (h2,tags2) =
   (* prioritize header+bgcolor for first swf *)
   (* prioritize header+bgcolor for first swf *)
-	let header = if priority then { h2 with h_version = max h2.h_version (swf_ver com.flash_version) } else h1 in
+	let header = if priority then { h2 with h_version = max h2.h_version (Common.flash_version_tag com.flash_version) } else h1 in
 	let tags1 = if priority then List.filter (function { tdata = TSetBgColor _ } -> false | _ -> true) tags1 else tags1 in
 	let tags1 = if priority then List.filter (function { tdata = TSetBgColor _ } -> false | _ -> true) tags1 else tags1 in
   (* remove unused tags *)
   (* remove unused tags *)
 	let use_stage = priority && Common.defined com Define.FlashUseStage in
 	let use_stage = priority && Common.defined com Define.FlashUseStage in

+ 1 - 0
std/flash/display/DisplayObjectContainer.hx

@@ -18,6 +18,7 @@ extern class DisplayObjectContainer extends InteractiveObject {
 	function removeChildAt(index : Int) : DisplayObject;
 	function removeChildAt(index : Int) : DisplayObject;
 	@:require(flash11) function removeChildren(beginIndex : Int = 0, endIndex : Int = 2147483647) : Void;
 	@:require(flash11) function removeChildren(beginIndex : Int = 0, endIndex : Int = 2147483647) : Void;
 	function setChildIndex(child : DisplayObject, index : Int) : Void;
 	function setChildIndex(child : DisplayObject, index : Int) : Void;
+	@:require(flash11_8) function stopAllMovieClips() : Void;
 	function swapChildren(child1 : DisplayObject, child2 : DisplayObject) : Void;
 	function swapChildren(child1 : DisplayObject, child2 : DisplayObject) : Void;
 	function swapChildrenAt(index1 : Int, index2 : Int) : Void;
 	function swapChildrenAt(index1 : Int, index2 : Int) : Void;
 }
 }

+ 1 - 0
std/flash/display3D/Context3D.hx

@@ -8,6 +8,7 @@ package flash.display3D;
 	function createCubeTexture(size : Int, format : Context3DTextureFormat, optimizeForRenderToTexture : Bool, streamingLevels : Int = 0) : flash.display3D.textures.CubeTexture;
 	function createCubeTexture(size : Int, format : Context3DTextureFormat, optimizeForRenderToTexture : Bool, streamingLevels : Int = 0) : flash.display3D.textures.CubeTexture;
 	function createIndexBuffer(numIndices : Int) : IndexBuffer3D;
 	function createIndexBuffer(numIndices : Int) : IndexBuffer3D;
 	function createProgram() : Program3D;
 	function createProgram() : Program3D;
+	@:require(flash11_8) function createRectangleTexture(width : Int, height : Int, format : Context3DTextureFormat, optimizeForRenderToTexture : Bool) : flash.display3D.textures.RectangleTexture;
 	function createTexture(width : Int, height : Int, format : Context3DTextureFormat, optimizeForRenderToTexture : Bool, streamingLevels : Int = 0) : flash.display3D.textures.Texture;
 	function createTexture(width : Int, height : Int, format : Context3DTextureFormat, optimizeForRenderToTexture : Bool, streamingLevels : Int = 0) : flash.display3D.textures.Texture;
 	function createVertexBuffer(numVertices : Int, data32PerVertex : Int) : VertexBuffer3D;
 	function createVertexBuffer(numVertices : Int, data32PerVertex : Int) : VertexBuffer3D;
 	function dispose(recreate : Bool = true) : Void;
 	function dispose(recreate : Bool = true) : Void;

+ 1 - 0
std/flash/display3D/Context3DProfile.hx

@@ -3,4 +3,5 @@ package flash.display3D;
 @:fakeEnum(String) extern enum Context3DProfile {
 @:fakeEnum(String) extern enum Context3DProfile {
 	BASELINE;
 	BASELINE;
 	BASELINE_CONSTRAINED;
 	BASELINE_CONSTRAINED;
+	BASELINE_EXTENDED;
 }
 }

+ 1 - 0
std/flash/events/AVStatusEvent.hx

@@ -18,5 +18,6 @@ extern class AVStatusEvent extends Event {
 	static var SEEK_COMPLETE : String;
 	static var SEEK_COMPLETE : String;
 	static var STEP_COMPLETE : String;
 	static var STEP_COMPLETE : String;
 	static var STREAM_SWITCH : String;
 	static var STREAM_SWITCH : String;
+	static var TRICKPLAY_ENDED : String;
 	static var WARNING : String;
 	static var WARNING : String;
 }
 }

+ 10 - 0
std/flash/events/DRMReturnVoucherCompleteEvent.hx

@@ -0,0 +1,10 @@
+package flash.events;
+
+extern class DRMReturnVoucherCompleteEvent extends Event {
+	var licenseID : String;
+	var numberOfVouchersReturned : Int;
+	var policyID : String;
+	var serverURL : String;
+	function new(type : String, bubbles : Bool = false, cancelable : Bool = false, ?inServerURL : String, ?inLicenseID : String, ?inPolicyID : String, inNumberOfVouchersReturned : Int = 0) : Void;
+	static var RETURN_VOUCHER_COMPLETE : String;
+}

+ 10 - 0
std/flash/events/DRMReturnVoucherErrorEvent.hx

@@ -0,0 +1,10 @@
+package flash.events;
+
+extern class DRMReturnVoucherErrorEvent extends ErrorEvent {
+	var licenseID : String;
+	var policyID : String;
+	var serverURL : String;
+	var subErrorID : Int;
+	function new(type : String, bubbles : Bool = false, cancelable : Bool = false, ?inDetail : String, inErrorID : Int = 0, inSubErrorID : Int = 0, ?inServerURL : String, ?inLicenseID : String, ?inPolicyID : String) : Void;
+	static var RETURN_VOUCHER_ERROR : String;
+}

+ 1 - 0
std/flash/events/GameInputEvent.hx

@@ -5,4 +5,5 @@ package flash.events;
 	function new(type : String, bubbles : Bool = false, cancelable : Bool = false, ?device : flash.ui.GameInputDevice) : Void;
 	function new(type : String, bubbles : Bool = false, cancelable : Bool = false, ?device : flash.ui.GameInputDevice) : Void;
 	static var DEVICE_ADDED : String;
 	static var DEVICE_ADDED : String;
 	static var DEVICE_REMOVED : String;
 	static var DEVICE_REMOVED : String;
+	static var DEVICE_UNUSABLE : String;
 }
 }

+ 2 - 1
std/flash/events/HTTPStatusEvent.hx

@@ -1,10 +1,11 @@
 package flash.events;
 package flash.events;
 
 
 extern class HTTPStatusEvent extends Event {
 extern class HTTPStatusEvent extends Event {
+	var redirected : Bool;
 	@:require(flash10_1) var responseHeaders : Array<Dynamic>;
 	@:require(flash10_1) var responseHeaders : Array<Dynamic>;
 	@:require(flash10_1) var responseURL : String;
 	@:require(flash10_1) var responseURL : String;
 	var status(default,null) : Int;
 	var status(default,null) : Int;
-	function new(type : String, bubbles : Bool = false, cancelable : Bool = false, status : Int = 0) : Void;
+	function new(type : String, bubbles : Bool = false, cancelable : Bool = false, status : Int = 0, redirected : Bool = false) : Void;
 	@:require(flash10_1) static var HTTP_RESPONSE_STATUS : String;
 	@:require(flash10_1) static var HTTP_RESPONSE_STATUS : String;
 	static var HTTP_STATUS : String;
 	static var HTTP_STATUS : String;
 }
 }

+ 1 - 0
std/flash/events/StageVideoAvailabilityEvent.hx

@@ -2,6 +2,7 @@ package flash.events;
 
 
 extern class StageVideoAvailabilityEvent extends Event {
 extern class StageVideoAvailabilityEvent extends Event {
 	var availability(default,null) : String;
 	var availability(default,null) : String;
+	var reason : String;
 	function new(type : String, bubbles : Bool = false, cancelable : Bool = false, ?availability : String) : Void;
 	function new(type : String, bubbles : Bool = false, cancelable : Bool = false, ?availability : String) : Void;
 	static var STAGE_VIDEO_AVAILABILITY : String;
 	static var STAGE_VIDEO_AVAILABILITY : String;
 }
 }

+ 2 - 1
std/flash/media/AVPeriodInfo.hx

@@ -5,7 +5,8 @@ extern class AVPeriodInfo {
 	var firstCuePointIndex(default,null) : Int;
 	var firstCuePointIndex(default,null) : Int;
 	var lastCuePointIndex(default,null) : Int;
 	var lastCuePointIndex(default,null) : Int;
 	var localStartTime(default,null) : Float;
 	var localStartTime(default,null) : Float;
+	var supportsTrickPlay(default,null) : Bool;
 	var userData(default,null) : Int;
 	var userData(default,null) : Int;
 	var virtualStartTime(default,null) : Float;
 	var virtualStartTime(default,null) : Float;
-	function new(init_localStartTime : Float, init_virtualStartTime : Float, init_duration : Float, init_firstCuePointIndex : Int, init_lastCuePointIndex : Int, init_userData : Int) : Void;
+	function new(init_localStartTime : Float, init_virtualStartTime : Float, init_duration : Float, init_firstCuePointIndex : Int, init_lastCuePointIndex : Int, init_userData : Int, init_supportsTrickPlay : Bool) : Void;
 }
 }

+ 1 - 0
std/flash/media/AVPlayState.hx

@@ -9,6 +9,7 @@ extern class AVPlayState {
 	static var PLAYING : Int;
 	static var PLAYING : Int;
 	static var READY : Int;
 	static var READY : Int;
 	static var SUSPENDED : Int;
 	static var SUSPENDED : Int;
+	static var TRICK_PLAY : Int;
 	static var UNINITIALIZED : Int;
 	static var UNINITIALIZED : Int;
 	static var UNRECOVERABLE_ERROR : Int;
 	static var UNRECOVERABLE_ERROR : Int;
 }
 }

+ 24 - 0
std/flash/media/AVResult.hx

@@ -4,11 +4,15 @@ extern class AVResult {
 	var result(default,null) : Int;
 	var result(default,null) : Int;
 	function new(inResult : Int) : Void;
 	function new(inResult : Int) : Void;
 	static var ASYNC_OPERATION_IN_PROGRESS : Int;
 	static var ASYNC_OPERATION_IN_PROGRESS : Int;
+	static var AUDIO_START_ERROR : Int;
 	static var BAD_MANIFEST_SIGNATURE : Int;
 	static var BAD_MANIFEST_SIGNATURE : Int;
+	static var BAD_MEDIASAMPLE_FOUND : Int;
 	static var BAD_MEDIA_INTERLEAVING : Int;
 	static var BAD_MEDIA_INTERLEAVING : Int;
 	static var CALLED_FROM_WRONG_THREAD : Int;
 	static var CALLED_FROM_WRONG_THREAD : Int;
+	static var CANNOT_ERASE_TIMELINE : Int;
 	static var CANNOT_FAIL_OVER : Int;
 	static var CANNOT_FAIL_OVER : Int;
 	static var CANNOT_LOAD_PLAY_LIST : Int;
 	static var CANNOT_LOAD_PLAY_LIST : Int;
+	static var CANNOT_SPLIT_TIMELINE : Int;
 	static var CODEC_NOT_SUPPORTED : Int;
 	static var CODEC_NOT_SUPPORTED : Int;
 	static var COMPONENT_CREATION_FAILURE : Int;
 	static var COMPONENT_CREATION_FAILURE : Int;
 	static var CONTAINER_NOT_SUPPORTED : Int;
 	static var CONTAINER_NOT_SUPPORTED : Int;
@@ -16,43 +20,63 @@ extern class AVResult {
 	static var CURRENT_PERIOD_EXPIRED : Int;
 	static var CURRENT_PERIOD_EXPIRED : Int;
 	static var DECODER_FAILED : Int;
 	static var DECODER_FAILED : Int;
 	static var DEVICE_OPEN_ERROR : Int;
 	static var DEVICE_OPEN_ERROR : Int;
+	static var DID_NOT_GET_NEXT_FRAGMENT : Int;
 	static var DRM_INIT_ERROR : Int;
 	static var DRM_INIT_ERROR : Int;
 	static var DRM_NOT_AVAILABLE : Int;
 	static var DRM_NOT_AVAILABLE : Int;
+	static var END_OF_PERIOD : Int;
 	static var EOF : Int;
 	static var EOF : Int;
 	static var FILE_NOT_FOUND : Int;
 	static var FILE_NOT_FOUND : Int;
+	static var FILE_OPEN_ERROR : Int;
+	static var FILE_READ_ERROR : Int;
 	static var FILE_STRUCTURE_INVALID : Int;
 	static var FILE_STRUCTURE_INVALID : Int;
+	static var FILE_WRITE_ERROR : Int;
 	static var FRAGMENT_READ_ERROR : Int;
 	static var FRAGMENT_READ_ERROR : Int;
 	static var GENERIC_ERROR : Int;
 	static var GENERIC_ERROR : Int;
 	static var HTTP_TIME_OUT : Int;
 	static var HTTP_TIME_OUT : Int;
+	static var INCOMPATIBLE_RENDER_MODE : Int;
+	static var INCOMPATIBLE_VERSION : Int;
+	static var INTERNAL_ERROR : Int;
 	static var INVALID_OPERATION : Int;
 	static var INVALID_OPERATION : Int;
 	static var INVALID_PARAMETER : Int;
 	static var INVALID_PARAMETER : Int;
 	static var INVALID_REPLACE_DURATION : Int;
 	static var INVALID_REPLACE_DURATION : Int;
 	static var INVALID_SEEK_TIME : Int;
 	static var INVALID_SEEK_TIME : Int;
 	static var INVALID_WITH_AUDIO_ONLY_FILE : Int;
 	static var INVALID_WITH_AUDIO_ONLY_FILE : Int;
 	static var IRRECOVERABLE_ERROR : Int;
 	static var IRRECOVERABLE_ERROR : Int;
+	static var LISTENER_NOT_FOUND : Int;
 	static var LIVE_HOLD : Int;
 	static var LIVE_HOLD : Int;
 	static var LIVE_WINDOW_MOVED_BACKWARD : Int;
 	static var LIVE_WINDOW_MOVED_BACKWARD : Int;
 	static var LOST_CONNECTION_RECOVERABLE : Int;
 	static var LOST_CONNECTION_RECOVERABLE : Int;
+	static var MANIFEST_FILE_UNEXPECTEDLY_CHANGED : Int;
 	static var NETWORK_DOWN : Int;
 	static var NETWORK_DOWN : Int;
 	static var NETWORK_ERROR : Int;
 	static var NETWORK_ERROR : Int;
 	static var NETWORK_UNAVAILABLE : Int;
 	static var NETWORK_UNAVAILABLE : Int;
 	static var NOT_IMPLEMENTED : Int;
 	static var NOT_IMPLEMENTED : Int;
+	static var NO_AUDIO_SINK : Int;
 	static var NO_FIXED_SIZE : Int;
 	static var NO_FIXED_SIZE : Int;
+	static var NO_TIMELINE : Int;
 	static var NO_USEABLE_BITRATE_PROFILE : Int;
 	static var NO_USEABLE_BITRATE_PROFILE : Int;
+	static var NULL_OPERATION : Int;
 	static var ONLY_ALLOWED_IN_PAUSED_STATE : Int;
 	static var ONLY_ALLOWED_IN_PAUSED_STATE : Int;
 	static var OPERATION_ABORTED : Int;
 	static var OPERATION_ABORTED : Int;
 	static var OUT_OF_MEMORY : Int;
 	static var OUT_OF_MEMORY : Int;
 	static var OVERFLOW : Int;
 	static var OVERFLOW : Int;
 	static var PARSE_ERROR : Int;
 	static var PARSE_ERROR : Int;
+	static var PARTIAL_REPLACEMENT : Int;
 	static var PERIOD_HOLD : Int;
 	static var PERIOD_HOLD : Int;
 	static var PERIOD_NOT_LOADED : Int;
 	static var PERIOD_NOT_LOADED : Int;
 	static var PLAYBACK_NOT_ENABLED : Int;
 	static var PLAYBACK_NOT_ENABLED : Int;
+	static var POSTROLL_WITH_LIVE_NOT_ALLOWED : Int;
 	static var PREVIOUS_STEP_SEEK_IN_PROGRESS : Int;
 	static var PREVIOUS_STEP_SEEK_IN_PROGRESS : Int;
+	static var PROTOCOL_NOT_SUPPORTED : Int;
 	static var RANGE_ERROR : Int;
 	static var RANGE_ERROR : Int;
+	static var RANGE_SPANS_READHEAD : Int;
+	static var RENDITION_M3U8_ERROR : Int;
 	static var REPLACEMENT_FAILED : Int;
 	static var REPLACEMENT_FAILED : Int;
 	static var RESOURCE_NOT_SPECIFIED : Int;
 	static var RESOURCE_NOT_SPECIFIED : Int;
 	static var SEEK_FAILED : Int;
 	static var SEEK_FAILED : Int;
+	static var SEGMENT_SKIPPED_ON_FAILURE : Int;
 	static var SIZE_UNKNOWN : Int;
 	static var SIZE_UNKNOWN : Int;
+	static var SPS_PPS_FOUND_OUTSIDE_AVCC : Int;
 	static var SUCCESS : Int;
 	static var SUCCESS : Int;
 	static var SWITCH_TO_ASYMMETRIC_PROFILE : Int;
 	static var SWITCH_TO_ASYMMETRIC_PROFILE : Int;
 	static var UNDERFLOW : Int;
 	static var UNDERFLOW : Int;

+ 3 - 0
std/flash/media/AVStream.hx

@@ -19,12 +19,15 @@ extern class AVStream extends flash.events.EventDispatcher {
 	var volume : Float;
 	var volume : Float;
 	function new(source : AVSource) : Void;
 	function new(source : AVSource) : Void;
 	function dispose() : Void;
 	function dispose() : Void;
+	function fastForward(rate : Float) : AVResult;
 	function pause() : AVResult;
 	function pause() : AVResult;
 	function play() : AVResult;
 	function play() : AVResult;
 	function resume() : Bool;
 	function resume() : Bool;
+	function rewind(rate : Float) : AVResult;
 	function seek(offset : Float, inBufferSeek : Bool = true) : AVResult;
 	function seek(offset : Float, inBufferSeek : Bool = true) : AVResult;
 	function seekToLivePoint() : AVResult;
 	function seekToLivePoint() : AVResult;
 	function seekToLocalTime(periodIndex : Int, time : Float) : AVResult;
 	function seekToLocalTime(periodIndex : Int, time : Float) : AVResult;
+	function setPlaySpeed(speed : Float, reserved : Float) : Void;
 	function step(frames : Int) : AVResult;
 	function step(frames : Int) : AVResult;
 	static var HARDWARE : String;
 	static var HARDWARE : String;
 	static var SOFTWARE : String;
 	static var SOFTWARE : String;

+ 10 - 0
std/flash/media/StageVideoAvailabilityReason.hx

@@ -0,0 +1,10 @@
+package flash.media;
+
+extern class StageVideoAvailabilityReason {
+	function new() : Void;
+	static var DRIVER_TOO_OLD : String;
+	static var NO_ERROR : String;
+	static var UNAVAILABLE : String;
+	static var USER_DISABLED : String;
+	static var WMODE_INCOMPATIBLE : String;
+}

+ 1 - 0
std/flash/net/NetStream.hx

@@ -63,4 +63,5 @@ extern class NetStream extends flash.events.EventDispatcher {
 	function togglePause() : Void;
 	function togglePause() : Void;
 	@:require(flash10) static var CONNECT_TO_FMS : String;
 	@:require(flash10) static var CONNECT_TO_FMS : String;
 	@:require(flash10) static var DIRECT_CONNECTIONS : String;
 	@:require(flash10) static var DIRECT_CONNECTIONS : String;
+	static function resetDRMVouchers() : Void;
 }
 }

+ 1 - 0
std/flash/net/URLRequest.hx

@@ -8,4 +8,5 @@ package flash.net;
 	var requestHeaders : Array<URLRequestHeader>;
 	var requestHeaders : Array<URLRequestHeader>;
 	var url : String;
 	var url : String;
 	function new(?url : String) : Void;
 	function new(?url : String) : Void;
+	function useRedirectedURL(sourceRequest : URLRequest, wholeURL : Bool = false, ?pattern : Dynamic, ?replace : String) : Void;
 }
 }

+ 3 - 0
std/flash/net/drm/DRMManager.hx

@@ -5,8 +5,11 @@ extern class DRMManager extends flash.events.EventDispatcher {
 	function authenticate(serverURL : String, domain : String, username : String, password : String) : Void;
 	function authenticate(serverURL : String, domain : String, username : String, password : String) : Void;
 	function loadPreviewVoucher(contentData : DRMContentData) : Void;
 	function loadPreviewVoucher(contentData : DRMContentData) : Void;
 	function loadVoucher(contentData : DRMContentData, setting : String) : Void;
 	function loadVoucher(contentData : DRMContentData, setting : String) : Void;
+	function resetDRMVouchers() : Void;
+	function returnVoucher(inServerURL : String, immediateCommit : Bool, licenseID : String, policyID : String) : Void;
 	function setAuthenticationToken(serverUrl : String, domain : String, token : flash.utils.ByteArray) : Void;
 	function setAuthenticationToken(serverUrl : String, domain : String, token : flash.utils.ByteArray) : Void;
 	function storeVoucher(voucher : flash.utils.ByteArray) : Void;
 	function storeVoucher(voucher : flash.utils.ByteArray) : Void;
 	static var isSupported(default,null) : Bool;
 	static var isSupported(default,null) : Bool;
+	static var networkIdleTimeout : Float;
 	static function getDRMManager() : DRMManager;
 	static function getDRMManager() : DRMManager;
 }
 }

+ 6 - 0
std/flash/net/drm/DRMReturnVoucherContext.hx

@@ -0,0 +1,6 @@
+package flash.net.drm;
+
+extern class DRMReturnVoucherContext extends DRMManagerSession {
+	function new() : Void;
+	function returnVoucher(inServerURL : String, immediateCommit : Bool, licenseID : String, policyID : String) : Void;
+}

+ 3 - 0
std/flash/net/drm/DRMVoucher.hx

@@ -1,10 +1,13 @@
 package flash.net.drm;
 package flash.net.drm;
 
 
 extern class DRMVoucher {
 extern class DRMVoucher {
+	var licenseID(default,null) : String;
 	var offlineLeaseEndDate(default,null) : Date;
 	var offlineLeaseEndDate(default,null) : Date;
 	var offlineLeaseStartDate(default,null) : Date;
 	var offlineLeaseStartDate(default,null) : Date;
 	var playbackTimeWindow(default,null) : DRMPlaybackTimeWindow;
 	var playbackTimeWindow(default,null) : DRMPlaybackTimeWindow;
 	var policies(default,null) : Dynamic;
 	var policies(default,null) : Dynamic;
+	var policyID(default,null) : String;
+	var serverURL(default,null) : String;
 	var voucherEndDate(default,null) : Date;
 	var voucherEndDate(default,null) : Date;
 	var voucherStartDate(default,null) : Date;
 	var voucherStartDate(default,null) : Date;
 	function new() : Void;
 	function new() : Void;

+ 1 - 0
std/flash/net/drm/VoucherAccessInfo.hx

@@ -4,5 +4,6 @@ package flash.net.drm;
 	var authenticationMethod(default,null) : String;
 	var authenticationMethod(default,null) : String;
 	var displayName(default,null) : String;
 	var displayName(default,null) : String;
 	var domain(default,null) : String;
 	var domain(default,null) : String;
+	var policyID(default,null) : String;
 	function new() : Void;
 	function new() : Void;
 }
 }

+ 10 - 0
std/flash/system/ConnexionsClient.hx

@@ -0,0 +1,10 @@
+package flash.system;
+
+@:final extern class ConnexionsClient {
+	var enabled(default,null) : Bool;
+	function new() : Void;
+	function Connexions() : Dynamic;
+	function _init(port : Int, secret : String, topLocation : String, documentReferrer : String, windowLocation : String, movie : String, userAgent : String) : Void;
+	function autoAdd() : Dynamic;
+	function manualAdd() : Dynamic;
+}