Changeset 970
- Timestamp:
- 04/28/10 19:40:24 (3 years ago)
- Location:
- trunk/fl5
- Files:
-
- 8 edited
-
player.swf (modified) (previous)
-
src/com/longtailvideo/jwplayer/controller/Controller.as (modified) (5 diffs)
-
src/com/longtailvideo/jwplayer/controller/PlayerSetup.as (modified) (2 diffs)
-
src/com/longtailvideo/jwplayer/media/RTMPMediaProvider.as (modified) (2 diffs)
-
src/com/longtailvideo/jwplayer/media/YouTubeMediaProvider.as (modified) (3 diffs)
-
src/com/longtailvideo/jwplayer/player/Player.as (modified) (2 diffs)
-
src/com/longtailvideo/jwplayer/player/PlayerVersion.as (modified) (1 diff)
-
src/com/longtailvideo/jwplayer/view/View.as (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/fl5/src/com/longtailvideo/jwplayer/controller/Controller.as
r919 r970 61 61 /** Load after unlock - My favorite variable ever **/ 62 62 protected var _unlockAndLoad:Boolean; 63 /** Whether the playlist has been loaded yet **/ 64 protected var _playlistReady:Boolean = false; 63 65 64 66 … … 147 149 _setupFinalized = true; 148 150 149 dispatchEvent(new PlayerEvent(PlayerEvent.JWPLAYER_READY));150 151 151 _player.addEventListener(PlaylistEvent.JWPLAYER_PLAYLIST_LOADED, playlistLoadHandler); 152 152 _player.addEventListener(ErrorEvent.ERROR, errorHandler); 153 153 _player.addEventListener(PlaylistEvent.JWPLAYER_PLAYLIST_ITEM, playlistItemHandler); 154 154 155 155 _model.addEventListener(MediaEvent.JWPLAYER_MEDIA_COMPLETE, completeHandler); 156 157 dispatchEvent(new PlayerEvent(PlayerEvent.JWPLAYER_READY)); 156 158 157 159 // Broadcast playlist loaded (which was swallowed during player setup); … … 160 162 } 161 163 164 162 165 } 163 166 } … … 165 168 166 169 protected function playlistLoadHandler(evt:PlaylistEvent=null):void { 170 _playlistReady = true; 171 167 172 if (_model.config.shuffle) { 168 173 shuffleItem(); … … 322 327 323 328 public function play():Boolean { 329 if (!_playlistReady) { 330 Logger.log("Attempted to begin playback before playlist is ready"); 331 return false; 332 } 333 324 334 if (_mediaLoader) { 325 335 _delayedItem = _model.playlist.currentItem; -
trunk/fl5/src/com/longtailvideo/jwplayer/controller/PlayerSetup.as
r836 r970 72 72 tasker.addEventListener(ErrorEvent.ERROR, setupTasksFailed); 73 73 74 tasker.queueTask(insertDelay);75 74 tasker.queueTask(loadConfig, loadConfigComplete); 76 75 tasker.queueTask(loadSkin, loadSkinComplete); … … 104 103 /////////////////////// 105 104 106 protected function insertDelay():void {107 var timer:Timer = new Timer(100, 1);108 timer.addEventListener(TimerEvent.TIMER_COMPLETE, tasker.success);109 timer.start();110 }111 112 105 protected function loadConfig():void { 113 106 var configger:Configger = new Configger(); -
trunk/fl5/src/com/longtailvideo/jwplayer/media/RTMPMediaProvider.as
r940 r970 256 256 sendMediaEvent(MediaEvent.JWPLAYER_MEDIA_ERROR,{message: "Subscription failed: " + item.file}); 257 257 } else if (dat.code == "NetStream.Play.Start") { 258 setStream(); 258 if (item.levels.length > 0) { 259 if (_dynamic || _bandwidthChecked) { 260 setStream(); 261 } else { 262 _bandwidthChecked = true; 263 _bandwidthSwitch = true; 264 _connection.call('checkBandwidth', null); 265 } 266 } else { 267 setStream(); 268 } 259 269 } 260 270 clearInterval(_subscribeInterval); … … 384 394 } 385 395 } 396 386 397 if (state == PlayerState.PAUSED) { 387 398 play(); 388 399 } 389 if (getConfigProperty('subscribe')) { 390 _stream.play(getID(item.file)); 391 } else if(isDVR) { 400 401 if(isDVR) { 392 402 if(state != PlayerState.PLAYING) { 393 403 try { -
trunk/fl5/src/com/longtailvideo/jwplayer/media/YouTubeMediaProvider.as
r910 r970 151 151 override public function play():void { 152 152 _outgoing.send('AS3_' + _unique, "playVideo"); 153 //super.play();153 super.play(); 154 154 } 155 155 … … 200 200 _bufferPercent = Math.round(ldd / ttl * 100); 201 201 _offset = off / ttl * item.duration; 202 sendBufferEvent(_bufferPercent, _offset );202 sendBufferEvent(_bufferPercent, _offset, {loaded:ldd, total:ttl}); 203 203 } 204 204 … … 209 209 if (item.duration < 0) { 210 210 item.duration = dur; 211 }212 if (state != PlayerState.PLAYING){213 super.play();214 211 } 215 212 sendMediaEvent(MediaEvent.JWPLAYER_MEDIA_TIME, {position: pos, duration: item.duration, offset: _offset}); -
trunk/fl5/src/com/longtailvideo/jwplayer/player/Player.as
r961 r970 16 16 import flash.display.Sprite; 17 17 import flash.events.Event; 18 import flash.utils.setTimeout; 18 19 19 20 … … 72 73 // Only handle JWPLAYER_READY once 73 74 controller.removeEventListener(PlayerEvent.JWPLAYER_READY, playerReady); 75 76 // Initialize Javascript interface 74 77 var jsAPI:JavascriptAPI = new JavascriptAPI(this); 78 79 // Forward all MVC events 75 80 model.addGlobalListener(forward); 76 81 view.addGlobalListener(forward); 77 82 controller.addGlobalListener(forward); 78 forward(evt); 83 84 // Insert a delay to allow Javascript listeners to initialize 85 setTimeout(forward, 50, evt); 79 86 } 80 87 -
trunk/fl5/src/com/longtailvideo/jwplayer/player/PlayerVersion.as
r961 r970 3 3 4 4 public class PlayerVersion { 5 protected static var _version:String = "5.2.9 61";5 protected static var _version:String = "5.2.970"; 6 6 7 7 public static function get version():String { -
trunk/fl5/src/com/longtailvideo/jwplayer/view/View.as
r956 r970 454 454 _imageLayer.visible = false; 455 455 } 456 if (_logo) _logo.visible = true; 457 break; 456 458 case PlayerState.BUFFERING: 457 459 if (_logo) _logo.visible = true;
Note: See TracChangeset
for help on using the changeset viewer.
