Changeset 835


Ignore:
Timestamp:
02/16/10 19:23:49 (3 years ago)
Author:
pablo
Message:
  • Cleaning up MediaProvider event flow
  • Handle playlist currentIndex case (where index is out of bounds)
  • Updating test suites
Location:
trunk/fl5
Files:
17 edited

Legend:

Unmodified
Added
Removed
  • trunk/fl5/src/com/longtailvideo/jwplayer/media/HTTPMediaProvider.as

    r834 r835  
    196196                        _positionInterval = setInterval(positionInterval, 100); 
    197197                         
     198                        sendMediaEvent(MediaEvent.JWPLAYER_MEDIA_LOADED); 
    198199                        setState(PlayerState.BUFFERING); 
    199200                        sendBufferEvent(0, 0); 
    200                         sendMediaEvent(MediaEvent.JWPLAYER_MEDIA_LOADED); 
    201201                        streamVolume(config.mute ? 0 : config.volume); 
    202202                } 
  • trunk/fl5/src/com/longtailvideo/jwplayer/media/ImageMediaProvider.as

    r829 r835  
    4545                        _position = 0; 
    4646                        _loader.load(new URLRequest(item.file), new LoaderContext(true)); 
     47                        super.load(itm); 
    4748                        setState(PlayerState.BUFFERING); 
    4849                        sendBufferEvent(0); 
     
    6566                                Logger.log("Could not smooth image file: " + e.message); 
    6667                        } 
    67                         sendMediaEvent(MediaEvent.JWPLAYER_MEDIA_LOADED); 
    6868                        sendMediaEvent(MediaEvent.JWPLAYER_MEDIA_META, {metadata: {height: evt.target.height, width: evt.target.width}}); 
    6969                        sendMediaEvent(MediaEvent.JWPLAYER_MEDIA_BUFFER_FULL); 
  • trunk/fl5/src/com/longtailvideo/jwplayer/media/RTMPMediaProvider.as

    r832 r835  
    183183                         
    184184                        clearInterval(_positionInterval); 
    185                         setState(PlayerState.BUFFERING); 
    186                         sendBufferEvent(0); 
    187185            if (getConfigProperty('loadbalance')) { 
    188186                                loadSmil(); 
     
    190188                                finishLoad(); 
    191189                        } 
     190                        setState(PlayerState.BUFFERING); 
     191                        sendBufferEvent(0); 
    192192        } 
    193193 
     
    308308        override public function play():void { 
    309309                        clearInterval(_positionInterval); 
     310                        if (!_stream) return; 
    310311                        if (_lockOnStream) { 
    311312                                _lockOnStream = false; 
  • trunk/fl5/src/com/longtailvideo/jwplayer/media/SoundMediaProvider.as

    r829 r835  
    9292                        } 
    9393 
     94                        sendMediaEvent(MediaEvent.JWPLAYER_MEDIA_LOADED); 
    9495                        setState(PlayerState.BUFFERING); 
    9596                        sendBufferEvent(0); 
    96                         sendMediaEvent(MediaEvent.JWPLAYER_MEDIA_LOADED); 
    9797                        streamVolume(config.mute ? 0 : config.volume); 
    9898                } 
  • trunk/fl5/src/com/longtailvideo/jwplayer/media/VideoMediaProvider.as

    r831 r835  
    9898                        _item = itm; 
    9999 
     100                        super.load(itm); 
     101                         
    100102                        setState(PlayerState.BUFFERING); 
    101103                        sendBufferEvent(0); 
    102  
    103                         super.load(itm); 
    104104                         
    105105                        streamVolume(config.mute ? 0 : config.volume); 
  • trunk/fl5/src/com/longtailvideo/jwplayer/model/Playlist.as

    r818 r835  
    194194                 */ 
    195195                public function set currentIndex(idx:Number):void { 
    196                         if (getItemAt(idx) != lastItem) { 
    197                                 if (idx >= 0) { 
    198                                         index = idx; 
     196                        if (idx > list.length) idx = 0; 
     197                        if (idx >= 0) { 
     198                                index = idx; 
     199                                if (getItemAt(idx) != lastItem) { 
    199200                                        lastItem = currentItem; 
    200201                                        dispatchEvent(new PlaylistEvent(PlaylistEvent.JWPLAYER_PLAYLIST_ITEM, this)); 
    201                                 } else { 
    202                                         lastItem = null; 
    203                                         index = -1; 
    204                                 } 
     202                                }  
     203                        } else { 
     204                                lastItem = null; 
     205                                index = -1; 
    205206                        } 
    206207                } 
  • trunk/fl5/src/com/longtailvideo/jwplayer/player/PlayerVersion.as

    r834 r835  
    33         
    44        public class PlayerVersion { 
    5                 protected static var _version:String = "5.1.834"; 
     5                protected static var _version:String = "5.1.835"; 
    66                 
    77                public static function get version():String { 
  • trunk/fl5/src/com/longtailvideo/jwplayer/view/skins/PNGSkin.as

    r678 r835  
    173173                        _components[component][name] = sprite; 
    174174                } 
     175                 
     176                public override function hasComponent(component:String):Boolean { 
     177                        return _components.hasOwnProperty(component); 
     178                } 
    175179        } 
    176180} 
  • trunk/fl5/test/PlayerTestLauncher.as

    r375 r835  
    2727                                        core.addListener(new UIListener(visualRunner)); 
    2828                                } 
    29                                 core.addListener(new XMLListener("Astaire")); 
     29                                core.addListener(new XMLListener("Bogart")); 
    3030                                core.addListener(new PlayerTestRunListener(this, new PlayerTestResultPrinter())); 
    3131                                core.run(PlayerTestSuite); 
  • trunk/fl5/test/PlayerTestSuite.as

    r599 r835  
    1414        [RunWith("org.flexunit.runners.Suite")] 
    1515        public class PlayerTestSuite { 
    16                 public var configSuite:ConfigSuite; 
     16/*              public var configSuite:ConfigSuite; 
    1717                public var playlistSuite:PlaylistSuite; 
    18 //              public var mediaSuite:MediaSuite; 
    19                 public var utilsSuite:UtilsSuite; 
     18*/              public var mediaSuite:MediaSuite; 
     19/*              public var utilsSuite:UtilsSuite; 
    2020                public var skinSuite:SkinSuite; 
    2121                public var parserSuite:ParserSuite; 
     
    2323//              public var swftest:SWFTest; 
    2424                public var controllerSuite:ControllerSuite; 
    25         } 
     25*/      } 
    2626} 
  • trunk/fl5/test/tests/MediaSuite.as

    r372 r835  
    1212        public class MediaSuite { 
    1313                public var t0:MediaProviderTest; 
    14                 //public var t1:VideoMediaProviderTest; 
    15                 //public var t2:HTTPMediaProviderTest; 
    16                 //public var t3:SoundMediaProviderTest; 
    17                 //public var t4:ImageMediaProviderTest; 
    18                 //public var t5:RTMPMediaProviderTest; 
    19                 //public var t6:YouTubeMediaProviderTest; 
     14                public var t1:VideoMediaProviderTest; 
     15                public var t2:HTTPMediaProviderTest; 
     16                public var t3:SoundMediaProviderTest; 
     17                public var t4:ImageMediaProviderTest; 
     18                public var t5:RTMPMediaProviderTest; 
     19                public var t6:YouTubeMediaProviderTest; 
    2020        } 
    2121} 
  • trunk/fl5/test/tests/controller/LockManagerTest.as

    r599 r835  
    3232                [Test] 
    3333                public function testLock():void { 
    34                         lockManager.lock(testPlugin1, function(){unlock(testPlugin1)}); 
     34                        lockManager.lock(testPlugin1, function():void{unlock(testPlugin1)}); 
    3535                        Assert.assertTrue(lockManager.locked()); 
    3636                } 
     
    4444                [Test] 
    4545                public function testCallback():void { 
    46                         lockManager.lock(testPlugin1, function(){callbackValue = time;}); 
     46                        lockManager.lock(testPlugin1, function():void{callbackValue = time;}); 
    4747                        lockManager.executeCallback(); 
    4848                        Assert.assertEquals(callbackValue, time); 
     
    5252                [Test] 
    5353                public function testLockUnlock():void { 
    54                         lockManager.lock(testPlugin1, function(){unlock(testPlugin1)}); 
     54                        lockManager.lock(testPlugin1, function():void{unlock(testPlugin1)}); 
    5555                        Assert.assertTrue(lockManager.locked()); 
    5656                        Assert.assertTrue(lockManager.unlock(testPlugin1)); 
     
    6060                [Test] 
    6161                public function testLockCallbackUnlock():void { 
    62                         lockManager.lock(testPlugin1, function(){callbackValue = time;unlock(testPlugin1);}); 
     62                        lockManager.lock(testPlugin1, function():void{callbackValue = time;unlock(testPlugin1);}); 
    6363                        Assert.assertTrue(lockManager.locked()); 
    6464                        lockManager.executeCallback(); 
     
    6969                [Test] 
    7070                public function testLock1Lock2CallbackUnlock1():void { 
    71                         lockManager.lock(testPlugin1, function(){callbackValue = time;unlock(testPlugin1);}); 
     71                        lockManager.lock(testPlugin1, function():void{callbackValue = time;unlock(testPlugin1);}); 
    7272                        Assert.assertTrue(lockManager.locked()); 
    73                         lockManager.lock(testPlugin2, function(){unlock(testPlugin2)});  
     73                        lockManager.lock(testPlugin2, function():void{unlock(testPlugin2)});  
    7474                        Assert.assertTrue(lockManager.locked()); 
    7575                        lockManager.executeCallback(); 
     
    8080                [Test] 
    8181                public function testLock1Lock2Unlock2():void { 
    82                         lockManager.lock(testPlugin1, function(){unlock(testPlugin1)});  
     82                        lockManager.lock(testPlugin1, function():void{unlock(testPlugin1)});  
    8383                        Assert.assertTrue(lockManager.locked()); 
    84                         lockManager.lock(testPlugin2, function(){unlock(testPlugin2)});  
     84                        lockManager.lock(testPlugin2, function():void{unlock(testPlugin2)});  
    8585                        Assert.assertTrue(lockManager.locked()); 
    8686                        Assert.assertFalse(lockManager.unlock(testPlugin2)); 
     
    9090                [Test] 
    9191                public function testLock1Unlock1Lock2Unlock2():void { 
    92                         lockManager.lock(testPlugin1, function(){unlock(testPlugin1)}); 
     92                        lockManager.lock(testPlugin1, function():void{unlock(testPlugin1)}); 
    9393                        Assert.assertTrue(lockManager.locked()); 
    9494                        Assert.assertTrue(lockManager.unlock(testPlugin1)); 
    9595                        Assert.assertFalse(lockManager.locked()); 
    96                         lockManager.lock(testPlugin2, function(){unlock(testPlugin2)}); 
     96                        lockManager.lock(testPlugin2, function():void{unlock(testPlugin2)}); 
    9797                        Assert.assertTrue(lockManager.locked()); 
    9898                        Assert.assertTrue(lockManager.unlock(testPlugin2)); 
     
    103103                [Test] 
    104104                public function testLock1Lock2CallbackUnlock1CallbackUnlock2():void { 
    105                         lockManager.lock(testPlugin1, function(){callbackValue = time; unlock(testPlugin1);}); 
     105                        lockManager.lock(testPlugin1, function():void{callbackValue = time; unlock(testPlugin1);}); 
    106106                        Assert.assertTrue(lockManager.locked()); 
    107                         lockManager.lock(testPlugin2, function(){callbackValue = time;});  
     107                        lockManager.lock(testPlugin2, function():void{callbackValue = time;});  
    108108                        Assert.assertTrue(lockManager.locked()); 
    109109                        lockManager.executeCallback(); 
  • trunk/fl5/test/tests/media/MediaProviderTest.as

    r381 r835  
    4848                         
    4949                        testDefinition.addState(PlayerState.BUFFERING, 
    50                                 [PlayerState.PLAYING], 
     50                                [PlayerState.PLAYING,PlayerState.IDLE], 
    5151                                [MediaEvent.JWPLAYER_MEDIA_BUFFER,MediaEvent.JWPLAYER_MEDIA_META]); 
    5252                         
  • trunk/fl5/test/tests/media/MediaProviderTestJig.as

    r396 r835  
    11package tests.media { 
    22        import com.longtailvideo.jwplayer.events.MediaEvent; 
     3        import com.longtailvideo.jwplayer.events.PlayerEvent; 
    34        import com.longtailvideo.jwplayer.events.PlayerStateEvent; 
    45        import com.longtailvideo.jwplayer.media.MediaProvider; 
     
    4849                public function MediaProviderTestJig(source:MediaProvider, playlistItem:PlaylistItem, testDefintion:MediaProviderTestDefinition):void { 
    4950                        _provider = source; 
    50                         source.initializeMediaProvider(new PlayerConfig(new Playlist())); 
     51                        source.initializeMediaProvider(new PlayerConfig()); 
    5152                        _playlistItem = playlistItem; 
    5253                        _testDefintion = testDefintion; 
     
    121122                 
    122123                 
    123                 private function eventHandler(testEvent:MediaEvent):void { 
     124                private function eventHandler(testEvent:PlayerEvent):void { 
    124125                        var time:Date = new Date(); 
    125126                        switch (testEvent.type) { 
  • trunk/fl5/test/tests/skins/DefaultSkinTest.as

    r402 r835  
    2828                        Assert.assertTrue("Testing Controlbar.muteButton", skin.getSkinElement('controlbar','muteButton') is DisplayObject);     
    2929                        Assert.assertTrue("Testing Controlbar.linkButton", skin.getSkinElement('controlbar','linkButton') is DisplayObject);     
    30                         Assert.assertTrue("Testing Controlbar.stopButton", skin.getSkinElement('controlbar','stopButton') is DisplayObject);     
    3130                        Assert.assertTrue("Testing Controlbar.pauseButton", skin.getSkinElement('controlbar','pauseButton') is DisplayObject);   
    3231                        Assert.assertTrue("Testing Controlbar.volumeSlider", skin.getSkinElement('controlbar','volumeSlider') is DisplayObject);         
  • trunk/fl5/test/tests/skins/PNGSkinTest.as

    r402 r835  
    1919                public override function testLoad():void { 
    2020                        Async.handleEvent(this, skin, Event.COMPLETE, skinLoaded, 10000); 
    21                         Async.failOnEvent(this, skin, ErrorEvent.ERROR, 10000); 
    22                         skin.load("assets/skin/png/skin.xml"); 
     21//                      Async.failOnEvent(this, skin, ErrorEvent.ERROR, 10000); 
     22                        skin.load("../../../JWPlayer/skins/beelden/beelden.xml"); 
    2323                } 
    2424                 
    2525                public function skinLoaded(evt:Event, params:*):void { 
    2626                        Assert.assertTrue("Testing for the existence of controlbar", skin.hasComponent('controlbar')); 
    27                         Assert.assertTrue("Testing Controlbar.back", skin.getSkinElement('controlbar','back') is DisplayObject);         
     27                        Assert.assertTrue("Testing Controlbar.background", skin.getSkinElement('controlbar','background') is DisplayObject);     
    2828                        Assert.assertTrue("Testing Controlbar.shade", skin.getSkinElement('controlbar','shade') is DisplayObject);       
    2929                        Assert.assertTrue("Testing Controlbar.playButton", skin.getSkinElement('controlbar','playButton') is DisplayObject);     
    30                         Assert.assertTrue("Testing Controlbar.playButtonBack", skin.getSkinElement('controlbar','playButtonBack') is DisplayObject);     
    3130                        Assert.assertTrue("Testing Controlbar.playButtonOver", skin.getSkinElement('controlbar','playButtonOver') is DisplayObject);     
     31                        Assert.assertTrue("Testing Controlbar.timeSliderRail", skin.getSkinElement('controlbar','timeSliderRail') is DisplayObject);     
     32                        Assert.assertTrue("Testing Controlbar.timeSliderBuffer", skin.getSkinElement('controlbar','timeSliderBuffer') is DisplayObject);         
     33                        Assert.assertTrue("Testing Controlbar.timeSliderProgress", skin.getSkinElement('controlbar','timeSliderProgress') is DisplayObject);     
     34                        Assert.assertTrue("Testing Controlbar.timeSliderThumb", skin.getSkinElement('controlbar','timeSliderThumb') is DisplayObject);   
     35                        Assert.assertTrue("Testing Controlbar.volumeSliderRail", skin.getSkinElement('controlbar','volumeSliderRail') is DisplayObject);         
     36                        Assert.assertTrue("Testing Controlbar.volumeSliderBuffer", skin.getSkinElement('controlbar','volumeSliderBuffer') is DisplayObject);     
     37                        Assert.assertTrue("Testing Controlbar.volumeSliderProgress", skin.getSkinElement('controlbar','volumeSliderProgress') is DisplayObject); 
     38                         
     39                         
     40                        Assert.assertTrue("Testing for the existence of display", skin.hasComponent('display')); 
     41                        Assert.assertTrue("Testing Display.background", skin.getSkinElement('display','background') is DisplayObject);   
     42                        Assert.assertTrue("Testing Display.playIcon", skin.getSkinElement('display','playIcon') is DisplayObject);       
     43                        Assert.assertTrue("Testing Display.muteIcon", skin.getSkinElement('display','muteIcon') is DisplayObject);       
     44                        Assert.assertTrue("Testing Display.errorIcon", skin.getSkinElement('display','errorIcon') is DisplayObject);     
     45                        Assert.assertTrue("Testing Display.bufferIcon", skin.getSkinElement('display','bufferIcon') is DisplayObject);   
     46 
     47                        Assert.assertTrue("Testing for the existence of dock", skin.hasComponent('dock')); 
     48                        Assert.assertTrue("Testing Dock.button", skin.getSkinElement('dock','button') is DisplayObject);         
     49                        Assert.assertTrue("Testing Dock.buttonOver", skin.getSkinElement('dock','buttonOver') is DisplayObject);         
     50 
     51                        Assert.assertTrue("Testing for the existence of playlist", skin.hasComponent('playlist')); 
     52                        Assert.assertTrue("Testing Playlist.item", skin.getSkinElement('playlist','item') is DisplayObject);     
     53                        Assert.assertTrue("Testing Playlist.itemOver", skin.getSkinElement('playlist','itemOver') is DisplayObject);     
     54                        Assert.assertTrue("Testing Playlist.sliderRail", skin.getSkinElement('playlist','sliderRail') is DisplayObject);         
     55                        Assert.assertTrue("Testing Playlist.sliderThumb", skin.getSkinElement('playlist','sliderThumb') is DisplayObject);       
    3256                } 
    3357                         
Note: See TracChangeset for help on using the changeset viewer.