Changeset 1243
- Timestamp:
- 08/26/10 19:02:04 (3 years ago)
- Location:
- trunk/fl5
- Files:
-
- 5 edited
-
player.swf (modified) (previous)
-
src/com/longtailvideo/jwplayer/model/PlaylistItem.as (modified) (1 diff)
-
src/com/longtailvideo/jwplayer/player/PlayerVersion.as (modified) (1 diff)
-
src/com/longtailvideo/jwplayer/utils/Stretcher.as (modified) (1 diff)
-
src/com/longtailvideo/jwplayer/view/View.as (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/fl5/src/com/longtailvideo/jwplayer/model/PlaylistItem.as
r961 r1243 79 79 /** Insert an additional bitrate level, keeping the array sorted from highest to lowest. **/ 80 80 public function addLevel(newLevel:PlaylistItemLevel):void { 81 if (_currentLevel < 0) _currentLevel = 0; 82 for (var i:Number = 0; i < _levels.length; i++) { 83 var level:PlaylistItemLevel = _levels[i] as PlaylistItemLevel; 84 if (newLevel.bitrate > level.bitrate) { 85 _levels.splice(i, 0, newLevel); 86 return; 87 } else if (newLevel.bitrate == level.bitrate && newLevel.width > level.width) { 88 _levels.splice(i, 0, newLevel); 89 return; 81 if (validExtension(newLevel.file)) { 82 83 if (_currentLevel < 0) _currentLevel = 0; 84 for (var i:Number = 0; i < _levels.length; i++) { 85 var level:PlaylistItemLevel = _levels[i] as PlaylistItemLevel; 86 if (newLevel.bitrate > level.bitrate) { 87 _levels.splice(i, 0, newLevel); 88 return; 89 } else if (newLevel.bitrate == level.bitrate && newLevel.width > level.width) { 90 _levels.splice(i, 0, newLevel); 91 return; 92 } 90 93 } 94 _levels.push(newLevel); 91 95 } 92 93 _levels.push(newLevel); 96 } 97 98 /** 99 * Determines whether this file extension can be played in the Flash player. If not, ignore the level. 100 * This is useful for unified HTML5 / Flash failover setups. 101 **/ 102 protected function validExtension(filename:String):Boolean { 103 var foo:String = Strings.extension(filename); 104 switch(Strings.extension(filename)) { 105 case "ogv": 106 case "ogg": 107 case "webm": 108 return false; 109 default: 110 return true; 111 } 94 112 } 95 113 -
trunk/fl5/src/com/longtailvideo/jwplayer/player/PlayerVersion.as
r1240 r1243 3 3 4 4 public class PlayerVersion { 5 protected static var _version:String = "5.3.124 0";5 protected static var _version:String = "5.3.1243"; 6 6 7 7 public static function get version():String { -
trunk/fl5/src/com/longtailvideo/jwplayer/utils/Stretcher.as
r1238 r1243 61 61 clp.x = Math.round(wid / 2 - clp.width / 2); 62 62 clp.y = Math.round(hei / 2 - clp.height / 2); 63 clp.width = Math.ceil(clp.width);64 clp.height = Math.ceil(clp.height);63 if (clp.width > 0) clp.width = Math.ceil(clp.width); 64 if (clp.height > 0) clp.height = Math.ceil(clp.height); 65 65 } 66 66 67 /**68 * Calculates the stretching dimensions of a clip without modifying it69 *70 * @param clp The display element to resize.71 * @param wid The target width.72 * @param hei The target height.73 * @param typ The stretching type.74 **/75 public static function stretchDimensions(clp:DisplayObject, wid:Number, hei:Number, typ:String='uniform'):Rectangle {76 var tempParent:Sprite = new Sprite();77 tempParent.graphics.beginFill(1, 1);78 tempParent.graphics.drawRect(0, 0, wid, hei);79 80 var tempChild:Sprite = new Sprite();81 tempChild.graphics.beginFill(1, 1);82 tempChild.graphics.drawRect(0, 0, clp.width, clp.height);83 tempParent.addChild(tempChild);84 85 stretch(tempChild, wid, hei, typ);86 87 return new Rectangle(tempChild.x, tempChild.y, tempChild.width, tempChild.height);88 }89 90 67 } 91 68 -
trunk/fl5/src/com/longtailvideo/jwplayer/view/View.as
r1238 r1243 52 52 protected var _components:IPlayerComponents; 53 53 protected var _fullscreen:Boolean = false; 54 protected var _normalScreen:Rectangle; 54 55 protected var stage:Stage; 55 56 … … 106 107 107 108 _root = new MovieClip(); 109 _normalScreen = new Rectangle(); 108 110 } 109 111 … … 274 276 } 275 277 dispatchEvent(new ViewEvent(ViewEvent.JWPLAYER_RESIZE, {width: RootReference.stage.stageWidth, height: RootReference.stage.stageHeight})); 276 278 277 279 redraw(); 278 280 } … … 293 295 294 296 _components.resize(_player.config.width, _player.config.height); 297 if (!_fullscreen) { 298 _normalScreen.width = _player.config.width; 299 _normalScreen.height = _player.config.height; 300 } 295 301 296 302 resizeBackground(); 297 303 resizeMasker(); 298 304 299 if (_imageLayer.numChildren) { 300 _imageLayer.x = _components.display.x; 301 _imageLayer.y = _components.display.y; 302 Stretcher.stretch(_image, _player.config.width, _player.config.height, _player.config.stretching); 303 } 304 305 if (_mediaLayer.numChildren && _model.media.display) { 306 _mediaLayer.x = _components.display.x; 307 _mediaLayer.y = _components.display.y; 308 if (_fullscreen && _model.config.stretching == Stretcher.EXACTFIT) { 309 var dimensions:Rectangle = Stretcher.stretchDimensions(_model.media.display, _player.config.width, _player.config.height, Stretcher.UNIFORM); 310 _model.media.resize(dimensions.width, dimensions.height); 311 _mediaLayer.x = dimensions.x; 312 _mediaLayer.y = dimensions.y; 313 } else { 314 _model.media.resize(_player.config.width, _player.config.height); 315 } 316 } 305 _imageLayer.x = _mediaLayer.x = _components.display.x; 306 _imageLayer.y = _mediaLayer.y = _components.display.y; 307 308 resizeImage(_player.config.width, _player.config.height); 309 resizeMedia(_player.config.width, _player.config.height); 310 317 311 318 312 if (_logo) { … … 345 339 } 346 340 341 protected function resizeMedia(width:Number, height:Number):void { 342 if (_mediaLayer.numChildren > 0 && _model.media.display) { 343 if (_player.config.stretching == Stretcher.EXACTFIT) { 344 if (_fullscreen) { 345 _model.media.resize(_normalScreen.width, _normalScreen.height); 346 Stretcher.stretch(_mediaLayer, width, height, Stretcher.UNIFORM); 347 } else { 348 _model.media.resize(width, height); 349 _mediaLayer.scaleX = _mediaLayer.scaleY = 1; 350 _mediaLayer.x = _mediaLayer.y = 0; 351 } 352 } else { 353 _model.media.resize(width, height); 354 _mediaLayer.x = _mediaLayer.y = 0; 355 } 356 _mediaLayer.x += _components.display.x; 357 _mediaLayer.y += _components.display.y; 358 } 359 } 360 361 protected function resizeImage(width:Number, height:Number):void { 362 if (_imageLayer.numChildren > 0) { 363 if (_player.config.stretching == Stretcher.EXACTFIT) { 364 if (_fullscreen) { 365 Stretcher.stretch(_imageLayer, width, height, Stretcher.UNIFORM); 366 Stretcher.stretch(_image, _normalScreen.width, _normalScreen.height, _player.config.stretching); 367 } else { 368 Stretcher.stretch(_image, width, height, _player.config.stretching); 369 Stretcher.stretch(_imageLayer, width, height, Stretcher.NONE); 370 } 371 } else { 372 Stretcher.stretch(_image, width, height, _player.config.stretching); 373 _imageLayer.x = _imageLayer.y = 0; 374 } 375 _imageLayer.x += _components.display.x; 376 _imageLayer.y += _components.display.y; 377 } 378 379 } 347 380 348 381 protected function resizeBackground():void { … … 434 467 435 468 protected function mediaLoaded(evt:MediaEvent):void { 436 _mediaLayer.x = _components.display.x;437 _mediaLayer.y = _components.display.y;438 469 if (_model.media.display) { 439 _model.media.resize(_player.config.width, _player.config.height);440 470 _mediaLayer.addChild(_model.media.display); 471 resizeMedia(_player.config.width, _player.config.height); 441 472 } 442 473 } … … 464 495 if (_image) { 465 496 _imageLayer.addChild(_image); 466 _imageLayer.x = _components.display.x; 467 _imageLayer.y = _components.display.y; 468 Stretcher.stretch(_image, _player.config.width, _player.config.height, _player.config.stretching); 497 resizeImage(_player.config.width, _player.config.height); 469 498 try { 470 499 Draw.smooth(_image.content as Bitmap);
Note: See TracChangeset
for help on using the changeset viewer.
