You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by yi...@apache.org on 2020/09/25 12:27:38 UTC
[royale-asjs] 06/09: VideoDisplay stub - remove all but API
This is an automated email from the ASF dual-hosted git repository.
yishayw pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
commit eb0e161ba51dbbc8f35f367e9f05c482164c2963
Author: Yishay Weiss <yi...@yell.com>
AuthorDate: Fri Sep 25 12:02:40 2020 +0100
VideoDisplay stub - remove all but API
---
.../main/royale/spark/components/VideoDisplay.as | 2439 ++++++++++----------
1 file changed, 1228 insertions(+), 1211 deletions(-)
diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/VideoDisplay.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/VideoDisplay.as
index 0ed9eeb..351633b 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/VideoDisplay.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/VideoDisplay.as
@@ -20,54 +20,54 @@
package spark.components
{
-import org.apache.royale.events.Event;
-import org.apache.royale.geom.Point;
-import org.apache.royale.geom.Rectangle;
-import flash.media.Video;
-
-import mx.core.IUIComponent;
-import mx.core.IVisualElement;
import mx.core.UIComponent;
-import mx.core.mx_internal;
-import mx.events.FlexEvent;
-import mx.events.PropertyChangeEvent;
-import mx.resources.IResourceManager;
-import mx.resources.ResourceManager;
+//import org.apache.royale.events.Event;
+//import org.apache.royale.geom.Point;
+//import org.apache.royale.geom.Rectangle;
+//import flash.media.Video;
+
+//import mx.core.IUIComponent;
+//import mx.core.IVisualElement;
+//import mx.core.mx_internal;
+//import mx.events.FlexEvent;
+//import mx.events.PropertyChangeEvent;
+//import mx.resources.IResourceManager;
+//import mx.resources.ResourceManager;
-import org.osmf.containers.MediaContainer;
-import org.osmf.elements.VideoElement;
-import org.osmf.events.AudioEvent;
-import org.osmf.events.DisplayObjectEvent;
-import org.osmf.events.LoadEvent;
-import org.osmf.events.MediaPlayerCapabilityChangeEvent;
-import org.osmf.events.MediaPlayerStateChangeEvent;
-import org.osmf.events.SeekEvent;
-import org.osmf.events.TimeEvent;
-import org.osmf.layout.HorizontalAlign;
-import org.osmf.layout.LayoutMetadata;
-import org.osmf.layout.ScaleMode;
-import org.osmf.layout.VerticalAlign;
-import org.osmf.media.DefaultMediaFactory;
-import org.osmf.media.MediaElement;
-import org.osmf.media.MediaFactory;
-import org.osmf.media.MediaFactoryItem;
-import org.osmf.media.MediaPlayer;
-import org.osmf.media.MediaPlayerState;
-import org.osmf.media.MediaResourceBase;
-import org.osmf.media.URLResource;
-import org.osmf.media.MediaType;
-import org.osmf.net.NetLoader;
-import org.osmf.net.DynamicStreamingItem;
-import org.osmf.net.rtmpstreaming.RTMPDynamicStreamingNetLoader;
-import org.osmf.net.DynamicStreamingResource;
-import org.osmf.net.FMSURL;
-import org.osmf.utils.OSMFStrings;
-import org.osmf.utils.URL;
+//import org.osmf.containers.MediaContainer;
+//import org.osmf.elements.VideoElement;
+//import org.osmf.events.AudioEvent;
+//import org.osmf.events.DisplayObjectEvent;
+//import org.osmf.events.LoadEvent;
+//import org.osmf.events.MediaPlayerCapabilityChangeEvent;
+//import org.osmf.events.MediaPlayerStateChangeEvent;
+//import org.osmf.events.SeekEvent;
+//import org.osmf.events.TimeEvent;
+//import org.osmf.layout.HorizontalAlign;
+//import org.osmf.layout.LayoutMetadata;
+//import org.osmf.layout.ScaleMode;
+//import org.osmf.layout.VerticalAlign;
+//import org.osmf.media.DefaultMediaFactory;
+//import org.osmf.media.MediaElement;
+//import org.osmf.media.MediaFactory;
+//import org.osmf.media.MediaFactoryItem;
+//import org.osmf.media.MediaPlayer;
+//import org.osmf.media.MediaPlayerState;
+//import org.osmf.media.MediaResourceBase;
+//import org.osmf.media.URLResource;
+//import org.osmf.media.MediaType;
+//import org.osmf.net.NetLoader;
+//import org.osmf.net.DynamicStreamingItem;
+//import org.osmf.net.rtmpstreaming.RTMPDynamicStreamingNetLoader;
+//import org.osmf.net.DynamicStreamingResource;
+//import org.osmf.net.FMSURL;
+//import org.osmf.utils.OSMFStrings;
+//import org.osmf.utils.URL;
-import spark.components.mediaClasses.DynamicStreamingVideoItem;
-import spark.components.mediaClasses.DynamicStreamingVideoSource;
-import spark.primitives.BitmapImage;
+//import spark.components.mediaClasses.DynamicStreamingVideoItem;
+//import spark.components.mediaClasses.DynamicStreamingVideoSource;
+//import spark.primitives.BitmapImage;
use namespace mx_internal;
@@ -248,12 +248,12 @@ public class VideoDisplay extends UIComponent
* Set as the OSMF.resourceBundleFunction and used to look up
* strings so the OSMF RTEs are localized in Flex.
*/
- private static function getResourceString(resourceName:String,
- args:Array = null):String
- {
- var resourceManager:IResourceManager = ResourceManager.getInstance();
- return resourceManager.getString("osmf", resourceName, args);
- }
+ //private static function getResourceString(resourceName:String,
+ //args:Array = null):String
+ //{
+ //var resourceManager:IResourceManager = ResourceManager.getInstance();
+ //return resourceManager.getString("osmf", resourceName, args);
+ //}
/**
* Copied from OSMF ScaleModeUtils.getScaledSize. ScaleModeUtils became
@@ -268,70 +268,70 @@ public class VideoDisplay extends UIComponent
* @playerversion AIR 1.5
* @productversion OSMF 1.0
*/
- private static function getScaledSize
- ( scaleMode:String
- , availableWidth:Number, availableHeight:Number
- , intrinsicWidth:Number, intrinsicHeight:Number
- ):Point
- {
- var result:Point;
-
- switch (scaleMode)
- {
- case ScaleMode.ZOOM:
- case ScaleMode.LETTERBOX:
-
- var availableRatio:Number
- = availableWidth
- / availableHeight;
-
- var componentRatio:Number
- = (intrinsicWidth || availableWidth)
- / (intrinsicHeight || availableHeight);
-
- if ( (scaleMode == ScaleMode.ZOOM && componentRatio < availableRatio)
- || (scaleMode == ScaleMode.LETTERBOX && componentRatio > availableRatio)
- )
- {
- result
- = new Point
- ( availableWidth
- , availableWidth / componentRatio
- );
- }
- else
- {
- result
- = new Point
- ( availableHeight * componentRatio
- , availableHeight
- );
- }
-
- break;
-
- case ScaleMode.STRETCH:
-
- result
- = new Point
- ( availableWidth
- , availableHeight
- );
- break;
-
- case ScaleMode.NONE:
-
- result
- = new Point
- ( intrinsicWidth || availableWidth
- , intrinsicHeight || availableHeight
- );
-
- break;
- }
-
- return result;
- }
+ //private static function getScaledSize
+ //( scaleMode:String
+ //, availableWidth:Number, availableHeight:Number
+ //, intrinsicWidth:Number, intrinsicHeight:Number
+ //):Point
+ //{
+ //var result:Point;
+ //
+ //switch (scaleMode)
+ //{
+ //case ScaleMode.ZOOM:
+ //case ScaleMode.LETTERBOX:
+ //
+ //var availableRatio:Number
+ //= availableWidth
+ /// availableHeight;
+ //
+ //var componentRatio:Number
+ //= (intrinsicWidth || availableWidth)
+ /// (intrinsicHeight || availableHeight);
+ //
+ //if ( (scaleMode == ScaleMode.ZOOM && componentRatio < availableRatio)
+ //|| (scaleMode == ScaleMode.LETTERBOX && componentRatio > availableRatio)
+ //)
+ //{
+ //result
+ //= new Point
+ //( availableWidth
+ //, availableWidth / componentRatio
+ //);
+ //}
+ //else
+ //{
+ //result
+ //= new Point
+ //( availableHeight * componentRatio
+ //, availableHeight
+ //);
+ //}
+ //
+ //break;
+ //
+ //case ScaleMode.STRETCH:
+ //
+ //result
+ //= new Point
+ //( availableWidth
+ //, availableHeight
+ //);
+ //break;
+ //
+ //case ScaleMode.NONE:
+ //
+ //result
+ //= new Point
+ //( intrinsicWidth || availableWidth
+ //, intrinsicHeight || availableHeight
+ //);
+ //
+ //break;
+ //}
+
+ //return result;
+ //}
//--------------------------------------------------------------------------
//
@@ -352,17 +352,17 @@ public class VideoDisplay extends UIComponent
super();
// create the underlying MediaPlayer class first.
- createUnderlyingVideoPlayer();
+ //createUnderlyingVideoPlayer();
// added and removed event listeners to see whether we should
// start or stop the video
- addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);
- addEventListener(Event.REMOVED_FROM_STAGE, removedFromStageHandler);
+ //addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);
+ //addEventListener(Event.REMOVED_FROM_STAGE, removedFromStageHandler);
// Set the OSMF hook used for localizing runtime error messages.
// OSMF itself has English-only messages,
// but higher layers like Flex can provide localized versions.
- OSMFStrings.resourceStringFunction = getResourceString;
+ //OSMFStrings.resourceStringFunction = getResourceString;
}
//--------------------------------------------------------------------------
@@ -376,27 +376,27 @@ public class VideoDisplay extends UIComponent
* This is the underlying VideoPlayer object. At some point in the
* future, we may change to a new implementation.
*/
- mx_internal var videoPlayer:MediaPlayer;
+ //mx_internal var videoPlayer:MediaPlayer;
/**
* @private
* This is the underlying container used to display
* the underlying videoPlayer.
*/
- mx_internal var videoContainer:MediaContainer;
+ //mx_internal var videoContainer:MediaContainer;
/**
* @private
* How the correct media elements are created based on the url of
* the resource.
*/
- mx_internal var mediaFactory:MediaFactory;
+ //mx_internal var mediaFactory:MediaFactory;
/**
* @private
* Whether the video is on the display list or not
*/
- private var _isOnDisplayList:Boolean = false;
+ //private var _isOnDisplayList:Boolean = false;
/**
* @private
@@ -406,41 +406,41 @@ public class VideoDisplay extends UIComponent
* we set it to false. Also, when a user action occurs, like pause() or play()
* or stop() is called, we set it to false as well.
*/
- private var playTheVideoOnVisible:Boolean = true;
+ //private var playTheVideoOnVisible:Boolean = true;
/**
* @private
*/
- private var effectiveVisibility:Boolean = false;
+ //private var effectiveVisibility:Boolean = false;
/**
* @private
*/
- private var effectiveVisibilityChanged:Boolean = false;
+ //private var effectiveVisibilityChanged:Boolean = false;
/**
* @private
*/
- private var effectiveEnabled:Boolean = false;
+ //private var effectiveEnabled:Boolean = false;
/**
* @private
*/
- private var effectiveEnabledChanged:Boolean = false;
+ //private var effectiveEnabledChanged:Boolean = false;
/**
* @private
* We do different things in the source setter based on if we
* are initialized or not.
*/
- private var initializedOnce:Boolean = false;
+ //private var initializedOnce:Boolean = false;
/**
* @private
* Keeps track of the muted property while loading up a
* video because of autoDisplayFirstFrame.
*/
- private var beforeLoadMuted:Boolean;
+ //private var beforeLoadMuted:Boolean;
/**
* @private
@@ -451,7 +451,7 @@ public class VideoDisplay extends UIComponent
* which means we are waiting for the READY
* MediaPlayerStateChangeEvent and haven't done anything yet.</p>
*/
- private var inLoadingState1:Boolean;
+ //private var inLoadingState1:Boolean;
/**
* @private
@@ -465,7 +465,7 @@ public class VideoDisplay extends UIComponent
*
* <p>Note: At this point, inLoadingState1 = true as well.</p>
*/
- private var inLoadingState2:Boolean;
+ //private var inLoadingState2:Boolean;
/**
* @private
@@ -479,7 +479,7 @@ public class VideoDisplay extends UIComponent
*
* <p>Note: At this point, inLoadingState1 = inLoadingState2 = true.</p>
*/
- private var inLoadingState3:Boolean;
+ //private var inLoadingState3:Boolean;
/**
* @private
@@ -494,7 +494,7 @@ public class VideoDisplay extends UIComponent
* This is done to keep this component from being pinned in memory by the timer
* associated the currentTimeUpdateInterval property.
*/
- private var oldCurrentTimeUpdateInterval:Number = NaN;
+ //private var oldCurrentTimeUpdateInterval:Number = NaN;
/**
* @private
@@ -509,7 +509,7 @@ public class VideoDisplay extends UIComponent
* This is done to keep this component from being pinned in memory by the timer
* associated the bytesLoadedUpdateInterval property.
*/
- private var oldBytesLoadedUpdateInterval:Number = NaN;
+ //private var oldBytesLoadedUpdateInterval:Number = NaN;
//--------------------------------------------------------------------------
//
@@ -524,7 +524,7 @@ public class VideoDisplay extends UIComponent
/**
* @private
*/
- private var _autoDisplayFirstFrame:Boolean = true;
+ //private var _autoDisplayFirstFrame:Boolean = true;
[Inspectable(category="General", defaultValue="true")]
@@ -551,7 +551,8 @@ public class VideoDisplay extends UIComponent
*/
public function get autoDisplayFirstFrame():Boolean
{
- return _autoDisplayFirstFrame;
+ //return _autoDisplayFirstFrame;
+ return false;
}
/**
@@ -559,7 +560,7 @@ public class VideoDisplay extends UIComponent
*/
public function set autoDisplayFirstFrame(value:Boolean):void
{
- _autoDisplayFirstFrame = value;
+ //_autoDisplayFirstFrame = value;
}
//----------------------------------
@@ -569,7 +570,7 @@ public class VideoDisplay extends UIComponent
/**
* @private
*/
- private var _autoPlay:Boolean = true;
+ //private var _autoPlay:Boolean = true;
[Inspectable(category="General", defaultValue="true")]
@@ -600,7 +601,8 @@ public class VideoDisplay extends UIComponent
*/
public function get autoPlay():Boolean
{
- return _autoPlay;
+ //return _autoPlay;
+ return false;
}
/**
@@ -608,14 +610,14 @@ public class VideoDisplay extends UIComponent
*/
public function set autoPlay(value:Boolean):void
{
- if (autoPlay == value)
- return;
-
- _autoPlay = value;
-
- // call changePlayback() but don't immediately play or pause
- // based on this change to autoPlay
- changePlayback(false, false);
+ //if (autoPlay == value)
+ //return;
+ //
+ //_autoPlay = value;
+ //
+ //// call changePlayback() but don't immediately play or pause
+ //// based on this change to autoPlay
+ //changePlayback(false, false);
}
//----------------------------------
@@ -640,12 +642,13 @@ public class VideoDisplay extends UIComponent
*/
public function get autoRewind():Boolean
{
- return videoPlayer.autoRewind;
+ //return videoPlayer.autoRewind;
+ return false;
}
public function set autoRewind(value:Boolean):void
{
- videoPlayer.autoRewind = value;
+ //videoPlayer.autoRewind = value;
}
//----------------------------------
@@ -669,7 +672,8 @@ public class VideoDisplay extends UIComponent
*/
public function get bytesLoaded():Number
{
- return videoPlayer.bytesLoaded;
+ //return videoPlayer.bytesLoaded;
+ return NaN;
}
//----------------------------------
@@ -692,7 +696,8 @@ public class VideoDisplay extends UIComponent
*/
public function get bytesTotal():Number
{
- return videoPlayer.bytesTotal;
+ //return videoPlayer.bytesTotal;
+ return NaN;
}
//----------------------------------
@@ -716,7 +721,8 @@ public class VideoDisplay extends UIComponent
*/
public function get currentTime():Number
{
- return videoPlayer.currentTime;
+ //return videoPlayer.currentTime;
+ return NaN;
}
//----------------------------------
@@ -740,7 +746,8 @@ public class VideoDisplay extends UIComponent
*/
public function get duration():Number
{
- return videoPlayer.duration;
+ //return videoPlayer.duration;
+ return NaN;
}
//----------------------------------
@@ -764,7 +771,8 @@ public class VideoDisplay extends UIComponent
*/
public function get loop():Boolean
{
- return videoPlayer.loop;
+ //return videoPlayer.loop;
+ return false;
}
/**
@@ -772,10 +780,10 @@ public class VideoDisplay extends UIComponent
*/
public function set loop(value:Boolean):void
{
- if (loop == value)
- return;
-
- videoPlayer.loop = value;
+ //if (loop == value)
+ //return;
+ //
+ //videoPlayer.loop = value;
}
//----------------------------------
@@ -800,7 +808,8 @@ public class VideoDisplay extends UIComponent
*/
public function get mediaPlayerState():String
{
- return videoPlayer.state;
+ //return videoPlayer.state;
+ return null;
}
//----------------------------------
@@ -821,12 +830,13 @@ public class VideoDisplay extends UIComponent
*/
public function get muted():Boolean
{
- // if inLoadingState2, we've got to
- // fake the muted value
- if (inLoadingState2)
- return beforeLoadMuted;
-
- return videoPlayer.muted;
+ //// if inLoadingState2, we've got to
+ //// fake the muted value
+ //if (inLoadingState2)
+ //return beforeLoadMuted;
+ //
+ //return videoPlayer.muted;
+ return false;
}
/**
@@ -834,17 +844,17 @@ public class VideoDisplay extends UIComponent
*/
public function set muted(value:Boolean):void
{
- if (muted == value)
- return;
-
- // if inLoadingState2, don't change muted...just fake it
- if (inLoadingState2)
- {
- beforeLoadMuted = value;
- return;
- }
-
- videoPlayer.muted = value;
+ //if (muted == value)
+ //return;
+ //
+ //// if inLoadingState2, don't change muted...just fake it
+ //if (inLoadingState2)
+ //{
+ //beforeLoadMuted = value;
+ //return;
+ //}
+ //
+ //videoPlayer.muted = value;
}
//----------------------------------
@@ -855,7 +865,7 @@ public class VideoDisplay extends UIComponent
* @private
* Storage variable for pauseWhenHidden
*/
- private var _pauseWhenHidden:Boolean = true;
+ //private var _pauseWhenHidden:Boolean = true;
[Inspectable(category="General", defaultValue="true")]
@@ -882,7 +892,8 @@ public class VideoDisplay extends UIComponent
*/
public function get pauseWhenHidden():Boolean
{
- return _pauseWhenHidden;
+ //return _pauseWhenHidden;
+ return false;
}
/**
@@ -890,25 +901,25 @@ public class VideoDisplay extends UIComponent
*/
public function set pauseWhenHidden(value:Boolean):void
{
- if (_pauseWhenHidden == value)
- return;
-
- _pauseWhenHidden = value;
-
- if (_pauseWhenHidden)
- {
- addVisibilityListeners();
- computeEffectiveVisibilityAndEnabled();
- }
- else
- {
- removeVisibilityListeners();
- }
-
- // call changePlayback(). If we're invisible or off the stage,
- // setting this to true can pause the video. However, setting it
- // to false should have no immediate impact.
- changePlayback(value, false);
+ //if (_pauseWhenHidden == value)
+ //return;
+ //
+ //_pauseWhenHidden = value;
+ //
+ //if (_pauseWhenHidden)
+ //{
+ //addVisibilityListeners();
+ //computeEffectiveVisibilityAndEnabled();
+ //}
+ //else
+ //{
+ //removeVisibilityListeners();
+ //}
+ //
+ //// call changePlayback(). If we're invisible or off the stage,
+ //// setting this to true can pause the video. However, setting it
+ //// to false should have no immediate impact.
+ //changePlayback(value, false);
}
//----------------------------------
@@ -936,7 +947,8 @@ public class VideoDisplay extends UIComponent
*/
public function get playing():Boolean
{
- return videoPlayer.playing;
+ //return videoPlayer.playing;
+ return null;
}
//----------------------------------
@@ -946,7 +958,7 @@ public class VideoDisplay extends UIComponent
/**
* @private
*/
- private var _scaleMode:String = ScaleMode.LETTERBOX;
+ //private var _scaleMode:String = ScaleMode.LETTERBOX;
[Inspectable(Category="General", enumeration="none,stretch,letterbox,zoom", defaultValue="letterbox")]
@@ -971,7 +983,8 @@ public class VideoDisplay extends UIComponent
*/
public function get scaleMode():String
{
- return _scaleMode;
+ //return _scaleMode;
+ return null;
}
/**
@@ -979,47 +992,47 @@ public class VideoDisplay extends UIComponent
*/
public function set scaleMode(value:String):void
{
- if (scaleMode == value)
- return;
-
- switch(value)
- {
- case ScaleMode.NONE:
- _scaleMode = ScaleMode.NONE;
- break;
- case ScaleMode.STRETCH:
- _scaleMode = ScaleMode.STRETCH;
- break;
- case ScaleMode.LETTERBOX:
- _scaleMode = ScaleMode.LETTERBOX;
- break;
- case ScaleMode.ZOOM:
- _scaleMode = ScaleMode.ZOOM;
- break;
- default:
- _scaleMode = ScaleMode.LETTERBOX;
- break;
- }
-
- // set scaleMode on the videoElement object
- if (videoPlayer.media)
- {
- var layout:LayoutMetadata = videoPlayer.media.
- getMetadata(LayoutMetadata.LAYOUT_NAMESPACE) as LayoutMetadata;
- if (layout)
- layout.scaleMode = _scaleMode;
- }
-
- invalidateSize();
- invalidateDisplayList();
+ //if (scaleMode == value)
+ //return;
+ //
+ //switch(value)
+ //{
+ //case ScaleMode.NONE:
+ //_scaleMode = ScaleMode.NONE;
+ //break;
+ //case ScaleMode.STRETCH:
+ //_scaleMode = ScaleMode.STRETCH;
+ //break;
+ //case ScaleMode.LETTERBOX:
+ //_scaleMode = ScaleMode.LETTERBOX;
+ //break;
+ //case ScaleMode.ZOOM:
+ //_scaleMode = ScaleMode.ZOOM;
+ //break;
+ //default:
+ //_scaleMode = ScaleMode.LETTERBOX;
+ //break;
+ //}
+ //
+ //// set scaleMode on the videoElement object
+ //if (videoPlayer.media)
+ //{
+ //var layout:LayoutMetadata = videoPlayer.media.
+ //getMetadata(LayoutMetadata.LAYOUT_NAMESPACE) as LayoutMetadata;
+ //if (layout)
+ //layout.scaleMode = _scaleMode;
+ //}
+ //
+ //invalidateSize();
+ //invalidateDisplayList();
}
//----------------------------------
// source
//----------------------------------
- private var _source:Object;
- private var sourceChanged:Boolean;
+ //private var _source:Object;
+ //private var sourceChanged:Boolean;
[Inspectable(category="General", defaultValue="null")]
[Bindable("sourceChanged")]
@@ -1054,7 +1067,8 @@ public class VideoDisplay extends UIComponent
*/
public function get source():Object
{
- return _source;
+ //return _source;
+ return null;
}
/**
@@ -1062,26 +1076,26 @@ public class VideoDisplay extends UIComponent
*/
public function set source(value:Object):void
{
- _source = value;
-
- // if we haven't initialized, let's wait to set up the
- // source in commitProperties() as it is dependent on other
- // properties, like autoPlay and enabled, and those may not
- // be set yet, especially if they are set via MXML.
- // Otherwise, if we have initialized, let's just set up the
- // source immediately. This way people can change the source
- // and immediately call methods like seek().
- if (!initializedOnce)
- {
- sourceChanged = true;
- invalidateProperties();
- }
- else
- {
- setUpSource();
- }
-
- dispatchEvent(new Event("sourceChanged"));
+ //_source = value;
+ //
+ //// if we haven't initialized, let's wait to set up the
+ //// source in commitProperties() as it is dependent on other
+ //// properties, like autoPlay and enabled, and those may not
+ //// be set yet, especially if they are set via MXML.
+ //// Otherwise, if we have initialized, let's just set up the
+ //// source immediately. This way people can change the source
+ //// and immediately call methods like seek().
+ //if (!initializedOnce)
+ //{
+ //sourceChanged = true;
+ //invalidateProperties();
+ //}
+ //else
+ //{
+ //setUpSource();
+ //}
+ //
+ //dispatchEvent(new Event("sourceChanged"));
}
//----------------------------------
@@ -1091,19 +1105,19 @@ public class VideoDisplay extends UIComponent
/**
* @private
*/
- private var _thumbnailSource:Object;
+ //private var _thumbnailSource:Object;
/**
* @private
* Group that holds the BitmapImage for the thumbnail
*/
- private var thumbnailGroup:Group;
+ //private var thumbnailGroup:Group;
/**
* @private
* BitmapImage for the thumbnail
*/
- private var thumbnailBitmapImage:BitmapImage;
+ //private var thumbnailBitmapImage:BitmapImage;
[Inspectable(Category="General")]
@@ -1123,7 +1137,8 @@ public class VideoDisplay extends UIComponent
*/
mx_internal function get thumbnailSource():Object
{
- return _thumbnailSource;
+ //return _thumbnailSource;
+ return null;
}
/**
@@ -1131,72 +1146,72 @@ public class VideoDisplay extends UIComponent
*/
mx_internal function set thumbnailSource(value:Object):void
{
- if (_thumbnailSource == value)
- return;
-
- _thumbnailSource = value;
-
- // if we haven't initialized, let's wait to set up the
- // source in commitProperties() as it is dependent on other
- // properties, like autoPlay and enabled, and those may not
- // be set yet, especially if they are set via MXML.
- // Otherwise, if we have initialized, let's just set up the
- // source immediately. This way people can change the source
- // and immediately call methods like seek().
- if (!initializedOnce)
- {
- sourceChanged = true;
- invalidateProperties();
- }
- else
- {
- setUpThumbnailSource();
- }
+ //if (_thumbnailSource == value)
+ //return;
+ //
+ //_thumbnailSource = value;
+ //
+ //// if we haven't initialized, let's wait to set up the
+ //// source in commitProperties() as it is dependent on other
+ //// properties, like autoPlay and enabled, and those may not
+ //// be set yet, especially if they are set via MXML.
+ //// Otherwise, if we have initialized, let's just set up the
+ //// source immediately. This way people can change the source
+ //// and immediately call methods like seek().
+ //if (!initializedOnce)
+ //{
+ //sourceChanged = true;
+ //invalidateProperties();
+ //}
+ //else
+ //{
+ //setUpThumbnailSource();
+ //}
}
/**
* @private
* Sets up the thumbnail source for use.
*/
- private function setUpThumbnailSource():void
- {
- if (thumbnailSource)
- {
- // create thumbnail group if there isn't one
- if (!thumbnailGroup)
- {
- thumbnailBitmapImage = new BitmapImage();
- thumbnailBitmapImage.includeInLayout = false;
-
- thumbnailGroup = new Group();
- // add thumbnailGroup to the display list first in case
- // bitmap needs to check its layoutDirection.
- addChild(thumbnailGroup);
- thumbnailGroup.clipAndEnableScrolling = true;
- thumbnailGroup.addElement(thumbnailBitmapImage);
- }
-
- // if thumbnailGroup isn't on the display list, then add it.
- if (!this.contains(thumbnailGroup))
- addChild(thumbnailGroup);
-
- thumbnailBitmapImage.source = thumbnailSource;
- invalidateSize();
- invalidateDisplayList();
- }
- else
- {
- if (thumbnailGroup)
- {
- // null out the source and remove the thumbnail group
- if (thumbnailBitmapImage)
- thumbnailBitmapImage.source = null;
- if (this.contains(thumbnailGroup))
- removeChild(thumbnailGroup);
- invalidateSize();
- }
- }
- }
+ //private function setUpThumbnailSource():void
+ //{
+ //if (thumbnailSource)
+ //{
+ //// create thumbnail group if there isn't one
+ //if (!thumbnailGroup)
+ //{
+ //thumbnailBitmapImage = new BitmapImage();
+ //thumbnailBitmapImage.includeInLayout = false;
+ //
+ //thumbnailGroup = new Group();
+ //// add thumbnailGroup to the display list first in case
+ //// bitmap needs to check its layoutDirection.
+ //addChild(thumbnailGroup);
+ //thumbnailGroup.clipAndEnableScrolling = true;
+ //thumbnailGroup.addElement(thumbnailBitmapImage);
+ //}
+ //
+ //// if thumbnailGroup isn't on the display list, then add it.
+ //if (!this.contains(thumbnailGroup))
+ //addChild(thumbnailGroup);
+ //
+ //thumbnailBitmapImage.source = thumbnailSource;
+ //invalidateSize();
+ //invalidateDisplayList();
+ //}
+ //else
+ //{
+ //if (thumbnailGroup)
+ //{
+ //// null out the source and remove the thumbnail group
+ //if (thumbnailBitmapImage)
+ //thumbnailBitmapImage.source = null;
+ //if (this.contains(thumbnailGroup))
+ //removeChild(thumbnailGroup);
+ //invalidateSize();
+ //}
+ //}
+ //}
//----------------------------------
// videoObject
@@ -1220,7 +1235,8 @@ public class VideoDisplay extends UIComponent
*/
public function get videoObject():Video
{
- return videoPlayer.displayObject as Video;
+ //return videoPlayer.displayObject as Video;
+ return null;
}
//----------------------------------
@@ -1242,7 +1258,8 @@ public class VideoDisplay extends UIComponent
*/
public function get volume():Number
{
- return videoPlayer.volume;
+ //return videoPlayer.volume;
+ return null;
}
/**
@@ -1250,10 +1267,10 @@ public class VideoDisplay extends UIComponent
*/
public function set volume(value:Number):void
{
- if (volume == value)
- return;
-
- videoPlayer.volume = value;
+ //if (volume == value)
+ //return;
+ //
+ //videoPlayer.volume = value;
}
//--------------------------------------------------------------------------
@@ -1265,130 +1282,130 @@ public class VideoDisplay extends UIComponent
/**
* @private
*/
- override protected function commitProperties():void
- {
- super.commitProperties();
-
- initializedOnce = true;
-
- if (effectiveVisibilityChanged || effectiveEnabledChanged)
- {
- // if either visibility of enabled changed, re-compute them here
- computeEffectiveVisibilityAndEnabled();
-
- // if visibility changed and we care about it, we can
- // cause a play or a pause depending on our visibility
- var causePause:Boolean = false;
- var causePlay:Boolean = false;
- if (effectiveVisibilityChanged && pauseWhenHidden)
- {
- causePause = !effectiveVisibility;
- causePlay = effectiveVisibility;
- }
-
- // if enabled changed, we can only cause a pause.
- // Re-enabling a component doesn't cause a play.
- if (effectiveEnabledChanged)
- {
- if (!effectiveEnabled)
- causePause = true;
- }
-
- changePlayback(causePause, causePlay);
-
- effectiveVisibilityChanged = false;
- effectiveEnabledChanged = false;
- }
-
- if (sourceChanged)
- {
- sourceChanged = false;
-
- if (thumbnailSource)
- setUpThumbnailSource();
- else
- setUpSource();
- }
- }
+ //override protected function commitProperties():void
+ //{
+ //super.commitProperties();
+ //
+ //initializedOnce = true;
+ //
+ //if (effectiveVisibilityChanged || effectiveEnabledChanged)
+ //{
+ //// if either visibility of enabled changed, re-compute them here
+ //computeEffectiveVisibilityAndEnabled();
+ //
+ //// if visibility changed and we care about it, we can
+ //// cause a play or a pause depending on our visibility
+ //var causePause:Boolean = false;
+ //var causePlay:Boolean = false;
+ //if (effectiveVisibilityChanged && pauseWhenHidden)
+ //{
+ //causePause = !effectiveVisibility;
+ //causePlay = effectiveVisibility;
+ //}
+ //
+ //// if enabled changed, we can only cause a pause.
+ //// Re-enabling a component doesn't cause a play.
+ //if (effectiveEnabledChanged)
+ //{
+ //if (!effectiveEnabled)
+ //causePause = true;
+ //}
+ //
+ //changePlayback(causePause, causePlay);
+ //
+ //effectiveVisibilityChanged = false;
+ //effectiveEnabledChanged = false;
+ //}
+ //
+ //if (sourceChanged)
+ //{
+ //sourceChanged = false;
+ //
+ //if (thumbnailSource)
+ //setUpThumbnailSource();
+ //else
+ //setUpSource();
+ //}
+ //}
/**
* @private
*/
- override protected function measure() : void
- {
- super.measure();
-
- var intrinsicWidth:Number;
- var intrinsicHeight:Number;
-
- // if showing the thumbnail, just use the thumbnail's size
- if (thumbnailSource && thumbnailGroup)
- {
- intrinsicWidth = thumbnailBitmapImage.getPreferredBoundsWidth();
- intrinsicHeight = thumbnailBitmapImage.getPreferredBoundsHeight();
- }
- else
- {
- // If there is no media the width/height will be NaN.
- // Convert it to zero for our purposes.
- intrinsicWidth = videoPlayer.mediaWidth;
- if (isNaN(intrinsicWidth))
- intrinsicWidth = 0;
-
- intrinsicHeight = videoPlayer.mediaHeight;
- if (isNaN(intrinsicHeight))
- intrinsicHeight = 0;
- }
-
- measuredWidth = intrinsicWidth;
- measuredHeight = intrinsicHeight;
-
- // Determine whether 'width' and 'height' have been set.
- var bExplicitWidth:Boolean = !isNaN(explicitWidth);
- var bExplicitHeight:Boolean = !isNaN(explicitHeight);
-
- // If only one has been set, calculate the other based on aspect ratio.
- if (bExplicitWidth && !bExplicitHeight && intrinsicWidth > 0)
- measuredHeight = explicitWidth * intrinsicHeight / intrinsicWidth;
- else if (bExplicitHeight && !bExplicitWidth && intrinsicHeight > 0)
- measuredWidth = explicitHeight * intrinsicWidth / intrinsicHeight;
- }
+ //override protected function measure() : void
+ //{
+ //super.measure();
+ //
+ //var intrinsicWidth:Number;
+ //var intrinsicHeight:Number;
+ //
+ //// if showing the thumbnail, just use the thumbnail's size
+ //if (thumbnailSource && thumbnailGroup)
+ //{
+ //intrinsicWidth = thumbnailBitmapImage.getPreferredBoundsWidth();
+ //intrinsicHeight = thumbnailBitmapImage.getPreferredBoundsHeight();
+ //}
+ //else
+ //{
+ //// If there is no media the width/height will be NaN.
+ //// Convert it to zero for our purposes.
+ //intrinsicWidth = videoPlayer.mediaWidth;
+ //if (isNaN(intrinsicWidth))
+ //intrinsicWidth = 0;
+//
+ //intrinsicHeight = videoPlayer.mediaHeight;
+ //if (isNaN(intrinsicHeight))
+ //intrinsicHeight = 0;
+ //}
+//
+ //measuredWidth = intrinsicWidth;
+ //measuredHeight = intrinsicHeight;
+ //
+ //// Determine whether 'width' and 'height' have been set.
+ //var bExplicitWidth:Boolean = !isNaN(explicitWidth);
+ //var bExplicitHeight:Boolean = !isNaN(explicitHeight);
+//
+ //// If only one has been set, calculate the other based on aspect ratio.
+ //if (bExplicitWidth && !bExplicitHeight && intrinsicWidth > 0)
+ //measuredHeight = explicitWidth * intrinsicHeight / intrinsicWidth;
+ //else if (bExplicitHeight && !bExplicitWidth && intrinsicHeight > 0)
+ //measuredWidth = explicitHeight * intrinsicWidth / intrinsicHeight;
+ //}
/**
* @private
*/
- override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number) : void
- {
- super.updateDisplayList(unscaledWidth, unscaledHeight);
-
- // if just showing the thumbnail, push this width/height in to the thumbnail
- // otherwise we'll push it in to the video object
- if (thumbnailSource && thumbnailGroup)
- {
- // get what the size of our image should be
- var newSize:Point = getScaledSize(scaleMode, unscaledWidth, unscaledHeight,
- thumbnailBitmapImage.getPreferredBoundsWidth(), thumbnailBitmapImage.getPreferredBoundsHeight());
-
- // set the thumbnailGroup to be the size of the component.
- // set the bitmap image to be the size it should be according to OSMF
- thumbnailGroup.setLayoutBoundsSize(unscaledWidth, unscaledHeight);
- thumbnailBitmapImage.setLayoutBoundsSize(newSize.x, newSize.y);
-
- // center the thumnail image within the thumbnail group.
- // if it's too big to fit, the thumbnail group will crop it
- thumbnailBitmapImage.x = (unscaledWidth - newSize.x)/2;
- thumbnailBitmapImage.y = (unscaledHeight - newSize.y)/2;
-
- return;
- }
-
- videoContainer.width = Math.floor(unscaledWidth);
- videoContainer.height = Math.floor(unscaledHeight);
-
- // need to validate the gateway immediately--otherwise we may run out of synch
- // as they may wait a frame by default before validating (see SDK-24880)
- videoContainer.validateNow();
- }
+ //override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number) : void
+ //{
+ //super.updateDisplayList(unscaledWidth, unscaledHeight);
+ //
+ //// if just showing the thumbnail, push this width/height in to the thumbnail
+ //// otherwise we'll push it in to the video object
+ //if (thumbnailSource && thumbnailGroup)
+ //{
+ //// get what the size of our image should be
+ //var newSize:Point = getScaledSize(scaleMode, unscaledWidth, unscaledHeight,
+ //thumbnailBitmapImage.getPreferredBoundsWidth(), thumbnailBitmapImage.getPreferredBoundsHeight());
+ //
+ //// set the thumbnailGroup to be the size of the component.
+ //// set the bitmap image to be the size it should be according to OSMF
+ //thumbnailGroup.setLayoutBoundsSize(unscaledWidth, unscaledHeight);
+ //thumbnailBitmapImage.setLayoutBoundsSize(newSize.x, newSize.y);
+ //
+ //// center the thumnail image within the thumbnail group.
+ //// if it's too big to fit, the thumbnail group will crop it
+ //thumbnailBitmapImage.x = (unscaledWidth - newSize.x)/2;
+ //thumbnailBitmapImage.y = (unscaledHeight - newSize.y)/2;
+ //
+ //return;
+ //}
+ //
+ //videoContainer.width = Math.floor(unscaledWidth);
+ //videoContainer.height = Math.floor(unscaledHeight);
+//
+ //// need to validate the gateway immediately--otherwise we may run out of synch
+ //// as they may wait a frame by default before validating (see SDK-24880)
+ //videoContainer.validateNow();
+ //}
//--------------------------------------------------------------------------
//
@@ -1410,22 +1427,22 @@ public class VideoDisplay extends UIComponent
*/
public function pause():void
{
- // check to see if we can call methods on the video player object yet
- if (!videoPlayerResponsive())
- return;
-
- playTheVideoOnVisible = false;
-
- // if we're loading up, then we will pause automatically, so let's
- // not interrupt this process
- // if inLoadingState1 && pausable, then let loading state handle it
- // if inLoadingState1 && !pausable, then let the loading state handle it
- // if !inLoadingState1 && pausable, then just pause
- // if !inLoadingState1 && !pausable, then load (if needed to show first frame)
- if (!inLoadingState1 && videoPlayer.canPause)
- videoPlayer.pause();
- else if (!videoPlayer.canPause && autoDisplayFirstFrame)
- load();
+ //// check to see if we can call methods on the video player object yet
+ //if (!videoPlayerResponsive())
+ //return;
+ //
+ //playTheVideoOnVisible = false;
+ //
+ //// if we're loading up, then we will pause automatically, so let's
+ //// not interrupt this process
+ //// if inLoadingState1 && pausable, then let loading state handle it
+ //// if inLoadingState1 && !pausable, then let the loading state handle it
+ //// if !inLoadingState1 && pausable, then just pause
+ //// if !inLoadingState1 && !pausable, then load (if needed to show first frame)
+ //if (!inLoadingState1 && videoPlayer.canPause)
+ //videoPlayer.pause();
+ //else if (!videoPlayer.canPause && autoDisplayFirstFrame)
+ //load();
}
/**
@@ -1439,18 +1456,18 @@ public class VideoDisplay extends UIComponent
*/
public function play():void
{
- // check to see if we can call methods on the video player object yet
- if (!videoPlayerResponsive())
- return;
-
- playTheVideoOnVisible = false;
-
- // if we're loading up, use a special method to cancel the load
- // and to start playing again. Otherwise, go ahead and play
- if (inLoadingState1)
- cancelLoadAndPlay();
- else if (videoPlayer.canPlay)
- videoPlayer.play();
+ //// check to see if we can call methods on the video player object yet
+ //if (!videoPlayerResponsive())
+ //return;
+ //
+ //playTheVideoOnVisible = false;
+ //
+ //// if we're loading up, use a special method to cancel the load
+ //// and to start playing again. Otherwise, go ahead and play
+ //if (inLoadingState1)
+ //cancelLoadAndPlay();
+ //else if (videoPlayer.canPlay)
+ //videoPlayer.play();
}
/**
@@ -1485,14 +1502,14 @@ public class VideoDisplay extends UIComponent
*/
public function seek(time:Number):void
{
- // check to see if we can call methods on the video player object yet
- if (!videoPlayerResponsive())
- return;
-
- // TODO (rfrishbe): could handle what to do if this gets called when loading() better.
- // Need to store where we want to seek to.
- if (videoPlayer.canSeek)
- videoPlayer.seek(time);
+ //// check to see if we can call methods on the video player object yet
+ //if (!videoPlayerResponsive())
+ //return;
+ //
+ //// TODO (rfrishbe): could handle what to do if this gets called when loading() better.
+ //// Need to store where we want to seek to.
+ //if (videoPlayer.canSeek)
+ //videoPlayer.seek(time);
}
/**
@@ -1511,22 +1528,22 @@ public class VideoDisplay extends UIComponent
*/
public function stop():void
{
- // check to see if we can call methods on the video player object yet
- if (!videoPlayerResponsive())
- return;
-
- playTheVideoOnVisible = false;
-
- // if we're loading up, then we will stop automatically, so let's
- // not interrupt this process
- // if inLoadingState1 && pausable, then let loading state handle it
- // if inLoadingState1 && !pausable, then let the loading state handle it
- // if !inLoadingState1 && pausable, then just pause
- // if !inLoadingState1 && !pausable, then load (if needed to show first frame)
- if (!inLoadingState1 && videoPlayer.canPause)
- videoPlayer.stop();
- else if (!videoPlayer.canPause && autoDisplayFirstFrame)
- load();
+ //// check to see if we can call methods on the video player object yet
+ //if (!videoPlayerResponsive())
+ //return;
+ //
+ //playTheVideoOnVisible = false;
+ //
+ //// if we're loading up, then we will stop automatically, so let's
+ //// not interrupt this process
+ //// if inLoadingState1 && pausable, then let loading state handle it
+ //// if inLoadingState1 && !pausable, then let the loading state handle it
+ //// if !inLoadingState1 && pausable, then just pause
+ //// if !inLoadingState1 && !pausable, then load (if needed to show first frame)
+ //if (!inLoadingState1 && videoPlayer.canPause)
+ //videoPlayer.stop();
+ //else if (!videoPlayer.canPause && autoDisplayFirstFrame)
+ //load();
}
//--------------------------------------------------------------------------
@@ -1540,218 +1557,218 @@ public class VideoDisplay extends UIComponent
* If the video player is responsive, then methods can be called on the underlying
* video player.
*/
- private function videoPlayerResponsive():Boolean
- {
- // can't call any methods before we've initialized
- if (!initializedOnce)
- return false;
-
- // if displaying a thumbnail, no methods can be called b/c there's no video
- // loaded up
- if (thumbnailSource)
- return false;
-
- // if the video player's in a bad state, we can't do anything
- if (videoPlayer.state == MediaPlayerState.PLAYBACK_ERROR ||
- videoPlayer.state == MediaPlayerState.UNINITIALIZED ||
- videoPlayer.state == MediaPlayerState.LOADING)
- {
- return false;
- }
-
- // if no source, return false as well
- if (!source)
- return false;
-
- // otherwise, we are in a good state and have a source, so let's go
- return true;
- }
+ //private function videoPlayerResponsive():Boolean
+ //{
+ //// can't call any methods before we've initialized
+ //if (!initializedOnce)
+ //return false;
+ //
+ //// if displaying a thumbnail, no methods can be called b/c there's no video
+ //// loaded up
+ //if (thumbnailSource)
+ //return false;
+ //
+ //// if the video player's in a bad state, we can't do anything
+ //if (videoPlayer.state == MediaPlayerState.PLAYBACK_ERROR ||
+ //videoPlayer.state == MediaPlayerState.UNINITIALIZED ||
+ //videoPlayer.state == MediaPlayerState.LOADING)
+ //{
+ //return false;
+ //}
+ //
+ //// if no source, return false as well
+ //if (!source)
+ //return false;
+ //
+ //// otherwise, we are in a good state and have a source, so let's go
+ //return true;
+ //}
/**
* @private
*/
- private function createUnderlyingVideoPlayer():void
- {
- // create new video player
- videoPlayer = new MediaPlayer();
- videoContainer = new MediaContainer();
- videoContainer.clipChildren = true;
-
- mediaFactory = new DefaultMediaFactory();
-
- // remove unsupport media types
- var unsupportedMediaTypes:Array = ["org.osmf.elements.video.dvr.dvrcast",
- "org.osmf.elements.image",
- "org.osmf.elements.swf"];
-
- for each (var mediaType:String in unsupportedMediaTypes)
- {
- var mediaFactoryItem:MediaFactoryItem = mediaFactory.getItemById(mediaType);
- if (mediaFactoryItem)
- mediaFactory.removeItem(mediaFactoryItem);
- }
-
- // internal events
- videoPlayer.addEventListener(DisplayObjectEvent.MEDIA_SIZE_CHANGE, videoPlayer_mediaSizeChangeHandler);
- videoPlayer.addEventListener(AudioEvent.VOLUME_CHANGE, videoPlayer_volumeChangeHandler);
- videoPlayer.addEventListener(AudioEvent.MUTED_CHANGE, videoPlayer_mutedChangeHandler);
-
- // public events
- videoPlayer.addEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE, videoPlayer_mediaPlayerStateChangeHandler);
- videoPlayer.addEventListener(TimeEvent.CURRENT_TIME_CHANGE, dispatchEvent);
- videoPlayer.addEventListener(LoadEvent.BYTES_LOADED_CHANGE, dispatchEvent);
- videoPlayer.addEventListener(TimeEvent.DURATION_CHANGE, videoPlayer_durationChangeHandler);
- videoPlayer.addEventListener(TimeEvent.COMPLETE, dispatchEvent);
-
- addChild(videoContainer);
- }
+ //private function createUnderlyingVideoPlayer():void
+ //{
+ //// create new video player
+ //videoPlayer = new MediaPlayer();
+ //videoContainer = new MediaContainer();
+ //videoContainer.clipChildren = true;
+ //
+ //mediaFactory = new DefaultMediaFactory();
+ //
+ //// remove unsupport media types
+ //var unsupportedMediaTypes:Array = ["org.osmf.elements.video.dvr.dvrcast",
+ //"org.osmf.elements.image",
+ //"org.osmf.elements.swf"];
+ //
+ //for each (var mediaType:String in unsupportedMediaTypes)
+ //{
+ //var mediaFactoryItem:MediaFactoryItem = mediaFactory.getItemById(mediaType);
+ //if (mediaFactoryItem)
+ //mediaFactory.removeItem(mediaFactoryItem);
+ //}
+//
+ //// internal events
+ //videoPlayer.addEventListener(DisplayObjectEvent.MEDIA_SIZE_CHANGE, videoPlayer_mediaSizeChangeHandler);
+ //videoPlayer.addEventListener(AudioEvent.VOLUME_CHANGE, videoPlayer_volumeChangeHandler);
+ //videoPlayer.addEventListener(AudioEvent.MUTED_CHANGE, videoPlayer_mutedChangeHandler);
+ //
+ //// public events
+ //videoPlayer.addEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE, videoPlayer_mediaPlayerStateChangeHandler);
+ //videoPlayer.addEventListener(TimeEvent.CURRENT_TIME_CHANGE, dispatchEvent);
+ //videoPlayer.addEventListener(LoadEvent.BYTES_LOADED_CHANGE, dispatchEvent);
+ //videoPlayer.addEventListener(TimeEvent.DURATION_CHANGE, videoPlayer_durationChangeHandler);
+ //videoPlayer.addEventListener(TimeEvent.COMPLETE, dispatchEvent);
+ //
+ //addChild(videoContainer);
+ //}
/**
* @private
* Sets up the source for use.
*/
- private function setUpSource():void
- {
- // clean up any listeners from the old source, especially if we
- // are in the processing of loading that video file up
- cleanUpSource()
-
- // if was playing a previous video, let's remove it now
- if (videoPlayer.media && videoContainer.containsMediaElement(videoPlayer.media))
- {
- videoContainer.removeMediaElement(videoPlayer.media);
- }
-
- var videoElement:org.osmf.media.MediaElement = null;
-
- // check for 4 cases: streaming video, progressive download,
- // an IMediaResource, or a VideoElement.
- // The latter 2 are undocumented but allowed for flexibility until we
- // can support OSMF better after they ship OSMF 1.0. At that point, support
- // for a source as an IMediaResource or a VideoElement may be removed.
- if (source is DynamicStreamingVideoSource)
- {
- // the streaming video case.
- // build up a DynamicStreamingResource to pass in to OSMF
- var streamingSource:DynamicStreamingVideoSource = source as DynamicStreamingVideoSource;
- var dsr:DynamicStreamingResource;
-
- // check for two cases for host: String and URL.
- // Technically, we only support URL, but we secretly allow
- // them to send in an OSMF URL or FMSURL here to help resolve any ambiguity
- // around serverName vs. streamName.
- if (streamingSource.host is String)
- {
- dsr = new DynamicStreamingResource(streamingSource.host as String,
- streamingSource.streamType);
- }
- else if (streamingSource.host is URL)
- {
- dsr = new DynamicStreamingResource(URL(streamingSource.host).host,
- streamingSource.streamType);
- }
-
- if (dsr)
- {
- var n:int = streamingSource.streamItems.length;
- var item:DynamicStreamingVideoItem;
- var dsi:DynamicStreamingItem;
- var streamItems:Vector.<DynamicStreamingItem> = new Vector.<DynamicStreamingItem>(n);
-
- for (var i:int = 0; i < n; i++)
- {
- item = streamingSource.streamItems[i];
- dsi = new DynamicStreamingItem(item.streamName, item.bitrate);
- streamItems[i] = dsi;
- }
- dsr.streamItems = streamItems;
-
- dsr.initialIndex = streamingSource.initialIndex;
-
- // add video type metadata so if the URL is ambiguous, OSMF will
- // know what type of file we're trying to connect to
- dsr.mediaType = MediaType.VIDEO;
-
- videoElement = new org.osmf.elements.VideoElement(dsr, new RTMPDynamicStreamingNetLoader());
- }
- }
- else if (source is String && source != "")
- {
- var urlResource:URLResource = new URLResource(source as String);
- videoElement = mediaFactory.createMediaElement(urlResource);
-
- // If the url could not be resolved to a media element then try
- // telling osmf the media is a video and try again.
- // We do not specify the media type as video the first time,
- // so we can have the chance to play audio.
- if (videoElement == null)
- {
- urlResource.mediaType = MediaType.VIDEO;
- videoElement = mediaFactory.createMediaElement(urlResource);
- }
- }
- else if (source is MediaResourceBase)
- {
- videoElement = mediaFactory.createMediaElement(MediaResourceBase(source));
- }
- else if (source is org.osmf.elements.VideoElement)
- {
- videoElement = source as org.osmf.elements.VideoElement;
- }
-
- // reset the visibilityPausedTheVideo flag
- playTheVideoOnVisible = true;
- // set up videoPlayer.autoPlay based on whether this.autoPlay is
- // set and whether we are visible and the other typical conditions.
- changePlayback(false, false);
-
- // if we're not going to autoPlay (or couldn't autoPlay because
- // we're hidden or for some other reason), but we need to seek
- // to the first frame, then we have to do this on our own
- // by using our load() method.
- if (videoElement && (!autoPlay || !shouldBePlaying) && autoDisplayFirstFrame)
- load();
-
- // set videoPlayer's element to the newly constructed VideoElement
- // set the newly constructed videoElement's gateway to be the videoGateway
- videoPlayer.media = videoElement;
-
- if (videoElement)
- {
- // If we are loading a video, make sure the timers are restored in case
- // they had been disabled. The timers will be disabled again if we are
- // only loading the first frame.
- if (!isNaN(oldCurrentTimeUpdateInterval))
- {
- videoPlayer.currentTimeUpdateInterval = oldCurrentTimeUpdateInterval;
- videoPlayer.bytesLoadedUpdateInterval = oldBytesLoadedUpdateInterval;
- }
-
- if (videoElement.getMetadata(LayoutMetadata.LAYOUT_NAMESPACE) == null)
- {
- var layout:LayoutMetadata = new LayoutMetadata();
- layout.scaleMode = scaleMode;
- layout.verticalAlign = VerticalAlign.MIDDLE;
- layout.horizontalAlign = HorizontalAlign.CENTER;
- layout.percentWidth = 100;
- layout.percentHeight = 100;
- videoElement.addMetadata(LayoutMetadata.LAYOUT_NAMESPACE, layout);
- }
-
- if (videoElement && !videoContainer.containsMediaElement(videoElement) )
- {
- videoContainer.addMediaElement(videoElement);
- }
- }
- else
- {
- // if our source is null, let's invalidateSize() here.
- // if it's a bad source, we'll get a playbackError and invalidate
- // the size down there. If it's a good source, we'll get a
- // dimensionChange event and invalidate the size in there.
- invalidateSize();
- }
- }
+ //private function setUpSource():void
+ //{
+ //// clean up any listeners from the old source, especially if we
+ //// are in the processing of loading that video file up
+ //cleanUpSource()
+ //
+ //// if was playing a previous video, let's remove it now
+ //if (videoPlayer.media && videoContainer.containsMediaElement(videoPlayer.media))
+ //{
+ //videoContainer.removeMediaElement(videoPlayer.media);
+ //}
+ //
+ //var videoElement:org.osmf.media.MediaElement = null;
+ //
+ //// check for 4 cases: streaming video, progressive download,
+ //// an IMediaResource, or a VideoElement.
+ //// The latter 2 are undocumented but allowed for flexibility until we
+ //// can support OSMF better after they ship OSMF 1.0. At that point, support
+ //// for a source as an IMediaResource or a VideoElement may be removed.
+ //if (source is DynamicStreamingVideoSource)
+ //{
+ //// the streaming video case.
+ //// build up a DynamicStreamingResource to pass in to OSMF
+ //var streamingSource:DynamicStreamingVideoSource = source as DynamicStreamingVideoSource;
+ //var dsr:DynamicStreamingResource;
+ //
+ //// check for two cases for host: String and URL.
+ //// Technically, we only support URL, but we secretly allow
+ //// them to send in an OSMF URL or FMSURL here to help resolve any ambiguity
+ //// around serverName vs. streamName.
+ //if (streamingSource.host is String)
+ //{
+ //dsr = new DynamicStreamingResource(streamingSource.host as String,
+ //streamingSource.streamType);
+ //}
+ //else if (streamingSource.host is URL)
+ //{
+ //dsr = new DynamicStreamingResource(URL(streamingSource.host).host,
+ //streamingSource.streamType);
+ //}
+ //
+ //if (dsr)
+ //{
+ //var n:int = streamingSource.streamItems.length;
+ //var item:DynamicStreamingVideoItem;
+ //var dsi:DynamicStreamingItem;
+ //var streamItems:Vector.<DynamicStreamingItem> = new Vector.<DynamicStreamingItem>(n);
+ //
+ //for (var i:int = 0; i < n; i++)
+ //{
+ //item = streamingSource.streamItems[i];
+ //dsi = new DynamicStreamingItem(item.streamName, item.bitrate);
+ //streamItems[i] = dsi;
+ //}
+ //dsr.streamItems = streamItems;
+ //
+ //dsr.initialIndex = streamingSource.initialIndex;
+ //
+ //// add video type metadata so if the URL is ambiguous, OSMF will
+ //// know what type of file we're trying to connect to
+ //dsr.mediaType = MediaType.VIDEO;
+ //
+ //videoElement = new org.osmf.elements.VideoElement(dsr, new RTMPDynamicStreamingNetLoader());
+ //}
+ //}
+ //else if (source is String && source != "")
+ //{
+ //var urlResource:URLResource = new URLResource(source as String);
+ //videoElement = mediaFactory.createMediaElement(urlResource);
+ //
+ //// If the url could not be resolved to a media element then try
+ //// telling osmf the media is a video and try again.
+ //// We do not specify the media type as video the first time,
+ //// so we can have the chance to play audio.
+ //if (videoElement == null)
+ //{
+ //urlResource.mediaType = MediaType.VIDEO;
+ //videoElement = mediaFactory.createMediaElement(urlResource);
+ //}
+ //}
+ //else if (source is MediaResourceBase)
+ //{
+ //videoElement = mediaFactory.createMediaElement(MediaResourceBase(source));
+ //}
+ //else if (source is org.osmf.elements.VideoElement)
+ //{
+ //videoElement = source as org.osmf.elements.VideoElement;
+ //}
+ //
+ //// reset the visibilityPausedTheVideo flag
+ //playTheVideoOnVisible = true;
+ //// set up videoPlayer.autoPlay based on whether this.autoPlay is
+ //// set and whether we are visible and the other typical conditions.
+ //changePlayback(false, false);
+ //
+ //// if we're not going to autoPlay (or couldn't autoPlay because
+ //// we're hidden or for some other reason), but we need to seek
+ //// to the first frame, then we have to do this on our own
+ //// by using our load() method.
+ //if (videoElement && (!autoPlay || !shouldBePlaying) && autoDisplayFirstFrame)
+ //load();
+ //
+ //// set videoPlayer's element to the newly constructed VideoElement
+ //// set the newly constructed videoElement's gateway to be the videoGateway
+ //videoPlayer.media = videoElement;
+ //
+ //if (videoElement)
+ //{
+ //// If we are loading a video, make sure the timers are restored in case
+ //// they had been disabled. The timers will be disabled again if we are
+ //// only loading the first frame.
+ //if (!isNaN(oldCurrentTimeUpdateInterval))
+ //{
+ //videoPlayer.currentTimeUpdateInterval = oldCurrentTimeUpdateInterval;
+ //videoPlayer.bytesLoadedUpdateInterval = oldBytesLoadedUpdateInterval;
+ //}
+//
+ //if (videoElement.getMetadata(LayoutMetadata.LAYOUT_NAMESPACE) == null)
+ //{
+ //var layout:LayoutMetadata = new LayoutMetadata();
+ //layout.scaleMode = scaleMode;
+ //layout.verticalAlign = VerticalAlign.MIDDLE;
+ //layout.horizontalAlign = HorizontalAlign.CENTER;
+ //layout.percentWidth = 100;
+ //layout.percentHeight = 100;
+ //videoElement.addMetadata(LayoutMetadata.LAYOUT_NAMESPACE, layout);
+ //}
+//
+ //if (videoElement && !videoContainer.containsMediaElement(videoElement) )
+ //{
+ //videoContainer.addMediaElement(videoElement);
+ //}
+ //}
+ //else
+ //{
+ //// if our source is null, let's invalidateSize() here.
+ //// if it's a bad source, we'll get a playbackError and invalidate
+ //// the size down there. If it's a good source, we'll get a
+ //// dimensionChange event and invalidate the size in there.
+ //invalidateSize();
+ //}
+ //}
/**
* @private
@@ -1760,14 +1777,14 @@ public class VideoDisplay extends UIComponent
* so that we can load up the video, figure out its size,
* and show the first frame
*/
- private function load():void
- {
- inLoadingState1 = true;
-
- // wait until we can mute, play(), pause(), and seek() before doing anything.
- // We should be able to do all of these operations on the READY state change event.
- videoPlayer.addEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE, videoPlayer_mediaPlayerStateChangeHandlerForLoading);
- }
+ //private function load():void
+ //{
+ //inLoadingState1 = true;
+ //
+ //// wait until we can mute, play(), pause(), and seek() before doing anything.
+ //// We should be able to do all of these operations on the READY state change event.
+ //videoPlayer.addEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE, videoPlayer_mediaPlayerStateChangeHandlerForLoading);
+ //}
//--------------------------------------------------------------------------
//
@@ -1781,27 +1798,27 @@ public class VideoDisplay extends UIComponent
* pauseWhenHidden, whether it's on the display list, and its
* effective visibility.
*/
- private function get shouldBePlaying():Boolean
- {
- // if disabled, return false
- if (!effectiveEnabled)
- return false;
-
- // if we want to look at visibility, check to
- // see if we are on the display list and check out
- // effectiveVisibility (which looks up our parent chain
- // to make sure us and all of our ancestors are visible)
- if (pauseWhenHidden)
- {
- if (!_isOnDisplayList)
- return false;
-
- if (!effectiveVisibility)
- return false;
- }
-
- return true;
- }
+ //private function get shouldBePlaying():Boolean
+ //{
+ //// if disabled, return false
+ //if (!effectiveEnabled)
+ //return false;
+ //
+ //// if we want to look at visibility, check to
+ //// see if we are on the display list and check out
+ //// effectiveVisibility (which looks up our parent chain
+ //// to make sure us and all of our ancestors are visible)
+ //if (pauseWhenHidden)
+ //{
+ //if (!_isOnDisplayList)
+ //return false;
+ //
+ //if (!effectiveVisibility)
+ //return false;
+ //}
+ //
+ //return true;
+ //}
/**
* @private
@@ -1833,363 +1850,363 @@ public class VideoDisplay extends UIComponent
* @param causePause Whether this action can cause a currently playing video to pause
* @param causePlay Whether this action can cause a currently paused video to play
*/
- private function changePlayback(causePause:Boolean, causePlay:Boolean):void
- {
- // if we shouldn't be playing, we pause the video.
- // if we come back up and should be playing, we will
- // start playing the video again if the video wasn't paused
- // by the user or developer and autoPlay is true.
- if (shouldBePlaying)
- {
- videoPlayer.autoPlay = autoPlay;
-
- // only play the video if visibility caused it to pause
- // (instead of a user or developer calling video.pause()).
- // Also, only play if autoPlay is true. Otherwise when
- // the visibility changes, we won't automatically
- // play the video
- if (causePlay && (playTheVideoOnVisible && autoPlay))
- {
- playTheVideoOnVisible = false;
-
- // set autoplay and call play() if the
- // source has loaded up and it's playable
- if (inLoadingState1)
- cancelLoadAndPlay();
- else if (videoPlayer.canPlay)
- videoPlayer.play();
- }
- }
- else
- {
- // there are really three states the video player can
- // be in with respect to play vs. paused:
- // 1) playing
- // 2) paused
- // 3) loading
- // Here we are checking if we are playing or loading
- // and going to play soon (autoPlay = true)
- if (causePause && (playing || (videoPlayer.state == MediaPlayerState.LOADING && autoPlay)))
- playTheVideoOnVisible = true;
-
- // always set autoPlay to false here and
- // if pausable, pause the video
- videoPlayer.autoPlay = false;
- if (causePause)
- {
- // if we're loading up, then we will pause automatically, so let's
- // not interrupt this process
- // if inLoadingState1 && pausable, then let loading state handle it
- // if inLoadingState1 && !pausable, then let the loading state handle it
- // if !inLoadingState1 && pausable, then just pause
- // if !inLoadingState1 && !pausable, then load (if needed to show first frame)
- if (!inLoadingState1 && videoPlayer.canPause)
- videoPlayer.pause();
- else if (!videoPlayer.canPause && autoDisplayFirstFrame)
- load();
- }
- }
- }
+ //private function changePlayback(causePause:Boolean, causePlay:Boolean):void
+ //{
+ //// if we shouldn't be playing, we pause the video.
+ //// if we come back up and should be playing, we will
+ //// start playing the video again if the video wasn't paused
+ //// by the user or developer and autoPlay is true.
+ //if (shouldBePlaying)
+ //{
+ //videoPlayer.autoPlay = autoPlay;
+ //
+ //// only play the video if visibility caused it to pause
+ //// (instead of a user or developer calling video.pause()).
+ //// Also, only play if autoPlay is true. Otherwise when
+ //// the visibility changes, we won't automatically
+ //// play the video
+ //if (causePlay && (playTheVideoOnVisible && autoPlay))
+ //{
+ //playTheVideoOnVisible = false;
+ //
+ //// set autoplay and call play() if the
+ //// source has loaded up and it's playable
+ //if (inLoadingState1)
+ //cancelLoadAndPlay();
+ //else if (videoPlayer.canPlay)
+ //videoPlayer.play();
+ //}
+ //}
+ //else
+ //{
+ //// there are really three states the video player can
+ //// be in with respect to play vs. paused:
+ //// 1) playing
+ //// 2) paused
+ //// 3) loading
+ //// Here we are checking if we are playing or loading
+ //// and going to play soon (autoPlay = true)
+ //if (causePause && (playing || (videoPlayer.state == MediaPlayerState.LOADING && autoPlay)))
+ //playTheVideoOnVisible = true;
+//
+ //// always set autoPlay to false here and
+ //// if pausable, pause the video
+ //videoPlayer.autoPlay = false;
+ //if (causePause)
+ //{
+ //// if we're loading up, then we will pause automatically, so let's
+ //// not interrupt this process
+ //// if inLoadingState1 && pausable, then let loading state handle it
+ //// if inLoadingState1 && !pausable, then let the loading state handle it
+ //// if !inLoadingState1 && pausable, then just pause
+ //// if !inLoadingState1 && !pausable, then load (if needed to show first frame)
+ //if (!inLoadingState1 && videoPlayer.canPause)
+ //videoPlayer.pause();
+ //else if (!videoPlayer.canPause && autoDisplayFirstFrame)
+ //load();
+ //}
+ //}
+ //}
/**
* @private
* Cancels the load, no matter what state it's in, and starts to play().
*/
- private function cancelLoadAndPlay():void
- {
- if (inLoadingState1)
- {
- if (!inLoadingState2)
- {
- // first step
-
- // Don't need to do anything but set inLoadingState1 = false (done down below).
- // This is handled in videoPlayer_mediaPlayerStateChangeHandlerForLoading which will still
- // be fired and will handle calling videoPlayer.play() without the rest of the loading
- // junk because inLoadingState1 = false now
- }
- else if (!inLoadingState3)
- {
- // second step
- videoPlayer.muted = beforeLoadMuted;
-
- if (videoPlayer.displayObject)
- videoPlayer.displayObject.visible = true;
-
- videoPlayer.removeEventListener(TimeEvent.CURRENT_TIME_CHANGE, videoPlayer_currentTimeChangeHandler);
- videoPlayer.removeEventListener(MediaPlayerCapabilityChangeEvent.CAN_SEEK_CHANGE, videoPlayer_canSeekChangeHandler);
- }
- else
- {
- // third step
- videoPlayer.removeEventListener(SeekEvent.SEEKING_CHANGE, videoPlayer_seekChangeHandler);
- videoPlayer.muted = beforeLoadMuted;
- if (videoPlayer.displayObject)
- videoPlayer.displayObject.visible = true;
-
- // wasn't playing
- if (videoPlayer.canPlay)
- videoPlayer.play();
- }
-
- inLoadingState1 = false;
- inLoadingState2 = false;
- inLoadingState3 = false;
- }
- }
+ //private function cancelLoadAndPlay():void
+ //{
+ //if (inLoadingState1)
+ //{
+ //if (!inLoadingState2)
+ //{
+ //// first step
+ //
+ //// Don't need to do anything but set inLoadingState1 = false (done down below).
+ //// This is handled in videoPlayer_mediaPlayerStateChangeHandlerForLoading which will still
+ //// be fired and will handle calling videoPlayer.play() without the rest of the loading
+ //// junk because inLoadingState1 = false now
+ //}
+ //else if (!inLoadingState3)
+ //{
+ //// second step
+ //videoPlayer.muted = beforeLoadMuted;
+ //
+ //if (videoPlayer.displayObject)
+ //videoPlayer.displayObject.visible = true;
+ //
+ //videoPlayer.removeEventListener(TimeEvent.CURRENT_TIME_CHANGE, videoPlayer_currentTimeChangeHandler);
+ //videoPlayer.removeEventListener(MediaPlayerCapabilityChangeEvent.CAN_SEEK_CHANGE, videoPlayer_canSeekChangeHandler);
+ //}
+ //else
+ //{
+ //// third step
+ //videoPlayer.removeEventListener(SeekEvent.SEEKING_CHANGE, videoPlayer_seekChangeHandler);
+ //videoPlayer.muted = beforeLoadMuted;
+ //if (videoPlayer.displayObject)
+ //videoPlayer.displayObject.visible = true;
+ //
+ //// wasn't playing
+ //if (videoPlayer.canPlay)
+ //videoPlayer.play();
+ //}
+ //
+ //inLoadingState1 = false;
+ //inLoadingState2 = false;
+ //inLoadingState3 = false;
+ //}
+ //}
/**
* @private
* Cancels the load, no matter what state it's in. This is used when changing the source.
*/
- private function cleanUpSource():void
- {
- // TODO (rfrishbe): very similar to cancelLoadAndPlay(). Should collapse it down.
-
- // always remove listener as we could be out of loadState1 but still "loading to play"
- videoPlayer.removeEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE, videoPlayer_mediaPlayerStateChangeHandlerForLoading);
-
- if (inLoadingState1)
- {
- if (!inLoadingState2)
- {
- // first step
-
- // Just need to remove event listeners as we did above
- }
- else if (!inLoadingState3)
- {
- // second step
- videoPlayer.muted = beforeLoadMuted;
- videoPlayer.displayObject.visible = true;
-
- // going to call pause() now to stop immediately
- videoPlayer.pause();
- }
- else
- {
- // third step
- videoPlayer.removeEventListener(SeekEvent.SEEKING_CHANGE, videoPlayer_seekChangeHandler);
- videoPlayer.muted = beforeLoadMuted;
- videoPlayer.displayObject.visible = true;
-
- // already called pause(), so don't do anything
- }
-
- inLoadingState1 = false;
- inLoadingState2 = false;
- inLoadingState3 = false;
- }
- }
+ //private function cleanUpSource():void
+ //{
+ //// TODO (rfrishbe): very similar to cancelLoadAndPlay(). Should collapse it down.
+ //
+ //// always remove listener as we could be out of loadState1 but still "loading to play"
+ //videoPlayer.removeEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE, videoPlayer_mediaPlayerStateChangeHandlerForLoading);
+ //
+ //if (inLoadingState1)
+ //{
+ //if (!inLoadingState2)
+ //{
+ //// first step
+ //
+ //// Just need to remove event listeners as we did above
+ //}
+ //else if (!inLoadingState3)
+ //{
+ //// second step
+ //videoPlayer.muted = beforeLoadMuted;
+ //videoPlayer.displayObject.visible = true;
+ //
+ //// going to call pause() now to stop immediately
+ //videoPlayer.pause();
+ //}
+ //else
+ //{
+ //// third step
+ //videoPlayer.removeEventListener(SeekEvent.SEEKING_CHANGE, videoPlayer_seekChangeHandler);
+ //videoPlayer.muted = beforeLoadMuted;
+ //videoPlayer.displayObject.visible = true;
+ //
+ //// already called pause(), so don't do anything
+ //}
+ //
+ //inLoadingState1 = false;
+ //inLoadingState2 = false;
+ //inLoadingState3 = false;
+ //}
+ //}
/**
* @private
*/
- private function addedToStageHandler(event:Event):void
- {
- _isOnDisplayList = true;
-
- // add listeners to current parents to see if their visibility has changed
- if (pauseWhenHidden)
- addVisibilityListeners();
-
- addEnabledListeners();
-
- computeEffectiveVisibilityAndEnabled();
-
- // When added to the stage, restore some videoPlayer timers that we had
- // disabled when we went offstage.
- if (!isNaN(oldCurrentTimeUpdateInterval))
- {
- videoPlayer.currentTimeUpdateInterval = oldCurrentTimeUpdateInterval;
- videoPlayer.bytesLoadedUpdateInterval = oldBytesLoadedUpdateInterval;
-
- oldCurrentTimeUpdateInterval = NaN;
- oldBytesLoadedUpdateInterval = NaN;
- }
-
- // being added to the display list will not pause the video, but
- // it may play the video if pauseWhenHidden = true
- changePlayback(false, pauseWhenHidden);
- }
+ //private function addedToStageHandler(event:Event):void
+ //{
+ //_isOnDisplayList = true;
+ //
+ //// add listeners to current parents to see if their visibility has changed
+ //if (pauseWhenHidden)
+ //addVisibilityListeners();
+ //
+ //addEnabledListeners();
+ //
+ //computeEffectiveVisibilityAndEnabled();
+//
+ //// When added to the stage, restore some videoPlayer timers that we had
+ //// disabled when we went offstage.
+ //if (!isNaN(oldCurrentTimeUpdateInterval))
+ //{
+ //videoPlayer.currentTimeUpdateInterval = oldCurrentTimeUpdateInterval;
+ //videoPlayer.bytesLoadedUpdateInterval = oldBytesLoadedUpdateInterval;
+//
+ //oldCurrentTimeUpdateInterval = NaN;
+ //oldBytesLoadedUpdateInterval = NaN;
+ //}
+ //
+ //// being added to the display list will not pause the video, but
+ //// it may play the video if pauseWhenHidden = true
+ //changePlayback(false, pauseWhenHidden);
+ //}
/**
* @private
*/
- private function removedFromStageHandler(event:Event):void
- {
- _isOnDisplayList = false;
-
- // remove listeners from old parents
- if (pauseWhenHidden)
- removeVisibilityListeners();
-
- removeEnabledListeners();
-
- // Stop the timers associated with these intervals when we go
- // offscreen so we are not pinned in memory. Save the old
- // values of the timers so we can restore them when we come
- // back on stage.
- if (pauseWhenHidden)
- {
- oldCurrentTimeUpdateInterval = videoPlayer.currentTimeUpdateInterval;
- oldBytesLoadedUpdateInterval = videoPlayer.bytesLoadedUpdateInterval;
- videoPlayer.currentTimeUpdateInterval = -1;
- videoPlayer.bytesLoadedUpdateInterval = -1;
- }
-
- // being removed from the display list will pause the video if
- // pauseWhenHidden = true
- changePlayback(pauseWhenHidden, false);
- }
+ //private function removedFromStageHandler(event:Event):void
+ //{
+ //_isOnDisplayList = false;
+ //
+ //// remove listeners from old parents
+ //if (pauseWhenHidden)
+ //removeVisibilityListeners();
+ //
+ //removeEnabledListeners();
+ //
+ //// Stop the timers associated with these intervals when we go
+ //// offscreen so we are not pinned in memory. Save the old
+ //// values of the timers so we can restore them when we come
+ //// back on stage.
+ //if (pauseWhenHidden)
+ //{
+ //oldCurrentTimeUpdateInterval = videoPlayer.currentTimeUpdateInterval;
+ //oldBytesLoadedUpdateInterval = videoPlayer.bytesLoadedUpdateInterval;
+ //videoPlayer.currentTimeUpdateInterval = -1;
+ //videoPlayer.bytesLoadedUpdateInterval = -1;
+ //}
+ //
+ //// being removed from the display list will pause the video if
+ //// pauseWhenHidden = true
+ //changePlayback(pauseWhenHidden, false);
+ //}
/**
* @private
* Add event listeners for SHOW and HIDE on all the ancestors up the parent chain.
* Adding weak event listeners just to be safe.
*/
- private function addVisibilityListeners():void
- {
- var current:IVisualElement = this;
- while (current)
- {
- // add visibility listeners to the parent
- current.addEventListener(FlexEvent.HIDE, visibilityChangedHandler, false, 0, true);
- current.addEventListener(FlexEvent.SHOW, visibilityChangedHandler, false, 0, true);
-
- // add listeners to the design layer too
- if (current.designLayer)
- {
- current.designLayer.addEventListener("layerPropertyChange",
- designLayer_layerPropertyChangeHandler, false, 0, true);
- }
-
- current = current.parent as IVisualElement;
- }
- }
+ //private function addVisibilityListeners():void
+ //{
+ //var current:IVisualElement = this;
+ //while (current)
+ //{
+ //// add visibility listeners to the parent
+ //current.addEventListener(FlexEvent.HIDE, visibilityChangedHandler, false, 0, true);
+ //current.addEventListener(FlexEvent.SHOW, visibilityChangedHandler, false, 0, true);
+ //
+ //// add listeners to the design layer too
+ //if (current.designLayer)
+ //{
+ //current.designLayer.addEventListener("layerPropertyChange",
+ //designLayer_layerPropertyChangeHandler, false, 0, true);
+ //}
+ //
+ //current = current.parent as IVisualElement;
+ //}
+ //}
/**
* @private
* Add event listeners for "enabledChanged" event on all ancestors up the parent chain.
* Adding weak event listeners just to be safe.
*/
- private function addEnabledListeners():void
- {
- var current:IVisualElement = this;
- while (current)
- {
- current.addEventListener("enabledChanged", enabledChangedHandler, false, 0, true);
- current.addEventListener("enabledChanged", enabledChangedHandler, false, 0, true);
-
- current = current.parent as IVisualElement;
- }
- }
+ //private function addEnabledListeners():void
+ //{
+ //var current:IVisualElement = this;
+ //while (current)
+ //{
+ //current.addEventListener("enabledChanged", enabledChangedHandler, false, 0, true);
+ //current.addEventListener("enabledChanged", enabledChangedHandler, false, 0, true);
+ //
+ //current = current.parent as IVisualElement;
+ //}
+ //}
/**
* @private
* Remove event listeners for SHOW and HIDE on all the ancestors up the parent chain.
*/
- private function removeVisibilityListeners():void
- {
- var current:IVisualElement = this;
- while (current)
- {
- current.removeEventListener(FlexEvent.HIDE, visibilityChangedHandler, false);
- current.removeEventListener(FlexEvent.SHOW, visibilityChangedHandler, false);
-
- if (current.designLayer)
- {
- current.designLayer.removeEventListener("layerPropertyChange",
- designLayer_layerPropertyChangeHandler, false);
- }
-
- current = current.parent as IVisualElement;
- }
- }
+ //private function removeVisibilityListeners():void
+ //{
+ //var current:IVisualElement = this;
+ //while (current)
+ //{
+ //current.removeEventListener(FlexEvent.HIDE, visibilityChangedHandler, false);
+ //current.removeEventListener(FlexEvent.SHOW, visibilityChangedHandler, false);
+ //
+ //if (current.designLayer)
+ //{
+ //current.designLayer.removeEventListener("layerPropertyChange",
+ //designLayer_layerPropertyChangeHandler, false);
+ //}
+ //
+ //current = current.parent as IVisualElement;
+ //}
+ //}
/**
* @private
* Remove event listeners for "enabledChanged" event on all ancestors up the parent chain.
*/
- private function removeEnabledListeners():void
- {
- var current:IVisualElement = this;
- while (current)
- {
- current.removeEventListener("enabledChanged", enabledChangedHandler, false);
- current.removeEventListener("enabledChanged", enabledChangedHandler, false);
-
- current = current.parent as IVisualElement;
- }
- }
+ //private function removeEnabledListeners():void
+ //{
+ //var current:IVisualElement = this;
+ //while (current)
+ //{
+ //current.removeEventListener("enabledChanged", enabledChangedHandler, false);
+ //current.removeEventListener("enabledChanged", enabledChangedHandler, false);
+ //
+ //current = current.parent as IVisualElement;
+ //}
+ //}
/**
* @private
* Event call back whenever the visibility of us or one of our ancestors
* changes
*/
- private function visibilityChangedHandler(event:FlexEvent):void
- {
- effectiveVisibilityChanged = true;
- invalidateProperties();
- }
+ //private function visibilityChangedHandler(event:FlexEvent):void
+ //{
+ //effectiveVisibilityChanged = true;
+ //invalidateProperties();
+ //}
/**
* @private
* Event call back whenever the visibility of our designLayer or one of our parent's
* designLayers change.
*/
- private function designLayer_layerPropertyChangeHandler(event:PropertyChangeEvent):void
- {
- if (event.property == "effectiveVisibility")
- {
- effectiveVisibilityChanged = true;
- invalidateProperties();
- }
- }
+ //private function designLayer_layerPropertyChangeHandler(event:PropertyChangeEvent):void
+ //{
+ //if (event.property == "effectiveVisibility")
+ //{
+ //effectiveVisibilityChanged = true;
+ //invalidateProperties();
+ //}
+ //}
/**
* @private
* Event call back whenever the enablement of us or one of our ancestors
* changes
*/
- private function enabledChangedHandler(event:Event):void
- {
- effectiveEnabledChanged = true;
- invalidateProperties();
- }
+ //private function enabledChangedHandler(event:Event):void
+ //{
+ //effectiveEnabledChanged = true;
+ //invalidateProperties();
+ //}
/**
* @private
*/
- private function computeEffectiveVisibilityAndEnabled():void
- {
- // start out with true visibility and enablement
- // then loop up parent-chain to see if any of them are false
- effectiveVisibility = true;
- effectiveEnabled = true;
- var current:IVisualElement = this;
-
- while (current)
- {
- if (!current.visible ||
- (current.designLayer && !current.designLayer.effectiveVisibility))
- {
- effectiveVisibility = false;
- if (!effectiveEnabled)
- break;
- }
-
- if (current is IUIComponent && !IUIComponent(current).enabled)
- {
- effectiveEnabled = false;
- if (!effectiveVisibility)
- break;
- }
-
- current = current.parent as IVisualElement;
- }
- }
+ //private function computeEffectiveVisibilityAndEnabled():void
+ //{
+ //// start out with true visibility and enablement
+ //// then loop up parent-chain to see if any of them are false
+ //effectiveVisibility = true;
+ //effectiveEnabled = true;
+ //var current:IVisualElement = this;
+ //
+ //while (current)
+ //{
+ //if (!current.visible ||
+ //(current.designLayer && !current.designLayer.effectiveVisibility))
+ //{
+ //effectiveVisibility = false;
+ //if (!effectiveEnabled)
+ //break;
+ //}
+ //
+ //if (current is IUIComponent && !IUIComponent(current).enabled)
+ //{
+ //effectiveEnabled = false;
+ //if (!effectiveVisibility)
+ //break;
+ //}
+ //
+ //current = current.parent as IVisualElement;
+ //}
+ //}
//--------------------------------------------------------------------------
//
@@ -2200,156 +2217,156 @@ public class VideoDisplay extends UIComponent
/**
* @private
*/
- private function videoPlayer_volumeChangeHandler(event:AudioEvent):void
- {
- dispatchEvent(new Event("volumeChanged"));
- }
+ //private function videoPlayer_volumeChangeHandler(event:AudioEvent):void
+ //{
+ //dispatchEvent(new Event("volumeChanged"));
+ //}
/**
* @private
*/
- private function videoPlayer_mutedChangeHandler(event:AudioEvent):void
- {
- dispatchEvent(new Event("volumeChanged"));
- }
+ //private function videoPlayer_mutedChangeHandler(event:AudioEvent):void
+ //{
+ //dispatchEvent(new Event("volumeChanged"));
+ //}
/**
* @private
* Event handler for mediaPlayerStateChange event.
*/
- private function videoPlayer_mediaPlayerStateChangeHandler(event:MediaPlayerStateChangeEvent):void
- {
- // if the event change caused us to go in to a state where
- // nothing is loaded up and we've no chance of getting a
- // dimensionChangeEvent, then let's invalidate our size here
- if (event.state == MediaPlayerState.PLAYBACK_ERROR)
- invalidateSize();
-
- // this is a public event, so let's re-dispatch it
- dispatchEvent(event);
- }
+ //private function videoPlayer_mediaPlayerStateChangeHandler(event:MediaPlayerStateChangeEvent):void
+ //{
+ //// if the event change caused us to go in to a state where
+ //// nothing is loaded up and we've no chance of getting a
+ //// dimensionChangeEvent, then let's invalidate our size here
+ //if (event.state == MediaPlayerState.PLAYBACK_ERROR)
+ //invalidateSize();
+ //
+ //// this is a public event, so let's re-dispatch it
+ //dispatchEvent(event);
+ //}
/**
* @private
* Event handler for mediaPlayerStateChange event--used only
* when trying to load up the video without playing it.
*/
- private function videoPlayer_mediaPlayerStateChangeHandlerForLoading(event:MediaPlayerStateChangeEvent):void
- {
- // only come in here when we want to load the video without playing it.
- //trace("videoPlayer_mediaPlayerStateChangeHandlerForLoading: mediaPlayerState = " + event.state);
-
- // wait until we are ready so that we can set mute, play, pause, and seek
- if (event.state == MediaPlayerState.READY)
- {
- // now that we are loading up, let's remove the event listener:
- videoPlayer.removeEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE, videoPlayer_mediaPlayerStateChangeHandlerForLoading);
-
- // if we are already playing() for some reason because someone called play(), then
- // we don't need to do anything.
- if (videoPlayer.playing)
- return;
-
- // if this load wasn't cancelled, then we'll do the load stuff.
- // otherwise, we'll just cause play().
- if (inLoadingState1)
- {
- //trace("videoPlayer_mediaPlayerStateChangeHandlerForLoading: inLoadingState1");
-
- beforeLoadMuted = videoPlayer.muted;
- videoPlayer.muted = true;
-
- if (videoPlayer.displayObject)
- videoPlayer.displayObject.visible = false;
-
- inLoadingState2 = true;
- }
-
- // call play(), here, then wait to call pause() and seek(0) in the
- // mediaSizeChangeHandler
- //trace("videoPlayer_mediaPlayerStateChangeHandlerForLoading: call videoPlayer.play()");
- videoPlayer.play();
- }
- }
+ //private function videoPlayer_mediaPlayerStateChangeHandlerForLoading(event:MediaPlayerStateChangeEvent):void
+ //{
+ //// only come in here when we want to load the video without playing it.
+ ////trace("videoPlayer_mediaPlayerStateChangeHandlerForLoading: mediaPlayerState = " + event.state);
+ //
+ //// wait until we are ready so that we can set mute, play, pause, and seek
+ //if (event.state == MediaPlayerState.READY)
+ //{
+ //// now that we are loading up, let's remove the event listener:
+ //videoPlayer.removeEventListener(MediaPlayerStateChangeEvent.MEDIA_PLAYER_STATE_CHANGE, videoPlayer_mediaPlayerStateChangeHandlerForLoading);
+ //
+ //// if we are already playing() for some reason because someone called play(), then
+ //// we don't need to do anything.
+ //if (videoPlayer.playing)
+ //return;
+ //
+ //// if this load wasn't cancelled, then we'll do the load stuff.
+ //// otherwise, we'll just cause play().
+ //if (inLoadingState1)
+ //{
+ ////trace("videoPlayer_mediaPlayerStateChangeHandlerForLoading: inLoadingState1");
+//
+ //beforeLoadMuted = videoPlayer.muted;
+ //videoPlayer.muted = true;
+ //
+ //if (videoPlayer.displayObject)
+ //videoPlayer.displayObject.visible = false;
+ //
+ //inLoadingState2 = true;
+ //}
+ //
+ //// call play(), here, then wait to call pause() and seek(0) in the
+ //// mediaSizeChangeHandler
+ ////trace("videoPlayer_mediaPlayerStateChangeHandlerForLoading: call videoPlayer.play()");
+ //videoPlayer.play();
+ //}
+ //}
/**
* @private
*/
- private function videoPlayer_mediaSizeChangeHandler(event:DisplayObjectEvent):void
- {
- //trace("videoPlayer_mediaSizeChangeHandler");
- invalidateSize();
-
- // if we're loading up the video, then let's finish the load in here
- if (inLoadingState2)
- {
- //trace("videoPlayer_mediaSizeChangeHandler: inLoadingState2");
-
- if (videoPlayer.canSeek && videoPlayer.canSeekTo(0))
- {
- //trace("videoPlayer_mediaSizeChangeHandler: canSeek to first frame");
- inLoadingState3 = true;
-
- // Don't call pause and seek inside this handler because OSMF is
- // not expecting us to change its HTTPStreamingState value in
- // HTTPNetStream.onMainTimer as a result of dispatching this
- // event (see SDK-27028).
- callLater(pauseAndSeekCallBack);
- }
- else if (duration < 0)
- {
- // Work around for negative durations - FM-1009
- // We want to seek to the first frame but we can't because the
- // duration of the video is reported as negative. As a work around,
- // listen for the first time change event and then pause the video.
- //trace("videoPlayer_mediaSizeChangeHandler: negative duration - wait for first current time change event");
- videoPlayer.addEventListener(TimeEvent.CURRENT_TIME_CHANGE, videoPlayer_currentTimeChangeHandler);
- }
- else
- {
- //trace("videoPlayer_mediaSizeChangeHandler: waiting for media to become seekable");
-
- // wait for the media to become seekable.
- videoPlayer.addEventListener(MediaPlayerCapabilityChangeEvent.CAN_SEEK_CHANGE, videoPlayer_canSeekChangeHandler);
- }
- }
- }
+ //private function videoPlayer_mediaSizeChangeHandler(event:DisplayObjectEvent):void
+ //{
+ ////trace("videoPlayer_mediaSizeChangeHandler");
+ //invalidateSize();
+ //
+ //// if we're loading up the video, then let's finish the load in here
+ //if (inLoadingState2)
+ //{
+ ////trace("videoPlayer_mediaSizeChangeHandler: inLoadingState2");
+//
+ //if (videoPlayer.canSeek && videoPlayer.canSeekTo(0))
+ //{
+ ////trace("videoPlayer_mediaSizeChangeHandler: canSeek to first frame");
+ //inLoadingState3 = true;
+ //
+ //// Don't call pause and seek inside this handler because OSMF is
+ //// not expecting us to change its HTTPStreamingState value in
+ //// HTTPNetStream.onMainTimer as a result of dispatching this
+ //// event (see SDK-27028).
+ //callLater(pauseAndSeekCallBack);
+ //}
+ //else if (duration < 0)
+ //{
+ //// Work around for negative durations - FM-1009
+ //// We want to seek to the first frame but we can't because the
+ //// duration of the video is reported as negative. As a work around,
+ //// listen for the first time change event and then pause the video.
+ ////trace("videoPlayer_mediaSizeChangeHandler: negative duration - wait for first current time change event");
+ //videoPlayer.addEventListener(TimeEvent.CURRENT_TIME_CHANGE, videoPlayer_currentTimeChangeHandler);
+ //}
+ //else
+ //{
+ ////trace("videoPlayer_mediaSizeChangeHandler: waiting for media to become seekable");
+ //
+ //// wait for the media to become seekable.
+ //videoPlayer.addEventListener(MediaPlayerCapabilityChangeEvent.CAN_SEEK_CHANGE, videoPlayer_canSeekChangeHandler);
+ //}
+ //}
+ //}
- private function pauseAndSeekCallBack():void
- {
- // the seek(0) is asynchronous so let's add an event listener to see when it's finsished:
- videoPlayer.addEventListener(SeekEvent.SEEKING_CHANGE, videoPlayer_seekChangeHandler);
-
- // called play(), now call pause() and seek(0);
- videoPlayer.pause();
- videoPlayer.seek(0);
-
- }
+ //private function pauseAndSeekCallBack():void
+ //{
+ //// the seek(0) is asynchronous so let's add an event listener to see when it's finsished:
+ //videoPlayer.addEventListener(SeekEvent.SEEKING_CHANGE, videoPlayer_seekChangeHandler);
+ //
+ //// called play(), now call pause() and seek(0);
+ //videoPlayer.pause();
+ //videoPlayer.seek(0);
+ //
+ //}
/**
* @private
* Wait until the media is seekable before we call pause() and seek().
*/
- private function videoPlayer_canSeekChangeHandler(event:Event):void
- {
- //trace("videoPlayer_canSeekChangeHandler: seeking = " + videoPlayer.canSeek);
-
- videoPlayer.removeEventListener(MediaPlayerCapabilityChangeEvent.CAN_SEEK_CHANGE, videoPlayer_canSeekChangeHandler);
-
- if (inLoadingState2)
- {
- if (videoPlayer.canSeek && videoPlayer.canSeekTo(0))
- {
- inLoadingState3 = true;
-
- // Don't call pause and seek inside this handler because OSMF is
- // not expecting us to change its HTTPStreamingState value in
- // HTTPNetStream.onMainTimer as a result of dispatching this
- // event (see SDK-27028).
- callLater(pauseAndSeekCallBack);
- }
- }
- }
+ //private function videoPlayer_canSeekChangeHandler(event:Event):void
+ //{
+ ////trace("videoPlayer_canSeekChangeHandler: seeking = " + videoPlayer.canSeek);
+ //
+ //videoPlayer.removeEventListener(MediaPlayerCapabilityChangeEvent.CAN_SEEK_CHANGE, videoPlayer_canSeekChangeHandler);
+//
+ //if (inLoadingState2)
+ //{
+ //if (videoPlayer.canSeek && videoPlayer.canSeekTo(0))
+ //{
+ //inLoadingState3 = true;
+ //
+ //// Don't call pause and seek inside this handler because OSMF is
+ //// not expecting us to change its HTTPStreamingState value in
+ //// HTTPNetStream.onMainTimer as a result of dispatching this
+ //// event (see SDK-27028).
+ //callLater(pauseAndSeekCallBack);
+ //}
+ //}
+ //}
/**
* @private
@@ -2358,28 +2375,28 @@ public class VideoDisplay extends UIComponent
* This will be called after the video has loaded up and
* we have finished seeking back to the first frame.
*/
- private function videoPlayer_seekChangeHandler(event:SeekEvent):void
- {
- if (!event.seeking)
- {
- inLoadingState1 = false;
- inLoadingState2 = false;
- inLoadingState3 = false;
-
- videoPlayer.removeEventListener(SeekEvent.SEEKING_CHANGE, videoPlayer_seekChangeHandler);
- videoPlayer.muted = beforeLoadMuted;
- if (videoPlayer.displayObject)
- videoPlayer.displayObject.visible = true;
-
- // Disable the TimeEvents again that we had
- // enabled for loading a video while offstage.
- if (!isNaN(oldCurrentTimeUpdateInterval))
- {
- videoPlayer.currentTimeUpdateInterval = -1;
- videoPlayer.bytesLoadedUpdateInterval = -1;
- }
- }
- }
+ //private function videoPlayer_seekChangeHandler(event:SeekEvent):void
+ //{
+ //if (!event.seeking)
+ //{
+ //inLoadingState1 = false;
+ //inLoadingState2 = false;
+ //inLoadingState3 = false;
+ //
+ //videoPlayer.removeEventListener(SeekEvent.SEEKING_CHANGE, videoPlayer_seekChangeHandler);
+ //videoPlayer.muted = beforeLoadMuted;
+ //if (videoPlayer.displayObject)
+ //videoPlayer.displayObject.visible = true;
+//
+ //// Disable the TimeEvents again that we had
+ //// enabled for loading a video while offstage.
+ //if (!isNaN(oldCurrentTimeUpdateInterval))
+ //{
+ //videoPlayer.currentTimeUpdateInterval = -1;
+ //videoPlayer.bytesLoadedUpdateInterval = -1;
+ //}
+ //}
+ //}
/**
@@ -2392,31 +2409,31 @@ public class VideoDisplay extends UIComponent
* least the first frame so pause the video now and clean
* up the load state variables.
*/
- private function videoPlayer_currentTimeChangeHandler(event:TimeEvent):void
- {
- //trace("videoPlayer_currentTimeChangeHandler: time = " + event.time);
-
- videoPlayer.removeEventListener(TimeEvent.CURRENT_TIME_CHANGE, videoPlayer_currentTimeChangeHandler);
- videoPlayer.removeEventListener(MediaPlayerCapabilityChangeEvent.CAN_SEEK_CHANGE, videoPlayer_canSeekChangeHandler);
-
- videoPlayer.pause();
- videoPlayer.muted = beforeLoadMuted;
-
- if (videoPlayer.displayObject)
- videoPlayer.displayObject.visible = true;
-
- inLoadingState1 = false;
- inLoadingState2 = false;
- inLoadingState3 = false;
-
- // Disable the TimeEvents again that we had
- // enabled for loading a video while offstage.
- if (!isNaN(oldCurrentTimeUpdateInterval))
- {
- videoPlayer.currentTimeUpdateInterval = -1;
- videoPlayer.bytesLoadedUpdateInterval = -1;
- }
- }
+ //private function videoPlayer_currentTimeChangeHandler(event:TimeEvent):void
+ //{
+ ////trace("videoPlayer_currentTimeChangeHandler: time = " + event.time);
+ //
+ //videoPlayer.removeEventListener(TimeEvent.CURRENT_TIME_CHANGE, videoPlayer_currentTimeChangeHandler);
+ //videoPlayer.removeEventListener(MediaPlayerCapabilityChangeEvent.CAN_SEEK_CHANGE, videoPlayer_canSeekChangeHandler);
+//
+ //videoPlayer.pause();
+ //videoPlayer.muted = beforeLoadMuted;
+ //
+ //if (videoPlayer.displayObject)
+ //videoPlayer.displayObject.visible = true;
+//
+ //inLoadingState1 = false;
+ //inLoadingState2 = false;
+ //inLoadingState3 = false;
+//
+ //// Disable the TimeEvents again that we had
+ //// enabled for loading a video while offstage.
+ //if (!isNaN(oldCurrentTimeUpdateInterval))
+ //{
+ //videoPlayer.currentTimeUpdateInterval = -1;
+ //videoPlayer.bytesLoadedUpdateInterval = -1;
+ //}
+ //}
/**
* @private
@@ -2427,23 +2444,23 @@ public class VideoDisplay extends UIComponent
* inLoadingState2 is true, then listen for the first time
* change event so we can pause the video.
*/
- private function videoPlayer_durationChangeHandler(event:TimeEvent):void
- {
- //trace("videoPlayer_durationChangeHandler: time = " + event.time);
- dispatchEvent(event);
-
- if (inLoadingState2)
- {
- if (event.time < 0)
- {
- // Work around for negative durations - FM-1009
- // We want to seek to the first frame but we can't because the
- // duration of the video is reported as negative. As a work around,
- // listen for the first time change event and then pause the video.
- //trace("videoPlayer_durationChangeHandler: negative duration - wait for first current time change event");
- videoPlayer.addEventListener(TimeEvent.CURRENT_TIME_CHANGE, videoPlayer_currentTimeChangeHandler);
- }
- }
- }
+ //private function videoPlayer_durationChangeHandler(event:TimeEvent):void
+ //{
+ ////trace("videoPlayer_durationChangeHandler: time = " + event.time);
+ //dispatchEvent(event);
+ //
+ //if (inLoadingState2)
+ //{
+ //if (event.time < 0)
+ //{
+ //// Work around for negative durations - FM-1009
+ //// We want to seek to the first frame but we can't because the
+ //// duration of the video is reported as negative. As a work around,
+ //// listen for the first time change event and then pause the video.
+ ////trace("videoPlayer_durationChangeHandler: negative duration - wait for first current time change event");
+ //videoPlayer.addEventListener(TimeEvent.CURRENT_TIME_CHANGE, videoPlayer_currentTimeChangeHandler);
+ //}
+ //}
+ //}
}
}