Changeset 1976


Ignore:
Timestamp:
08/24/11 09:51:26 (21 months ago)
Author:
jeroen
Message:

Fixed #1419 by discarding framedrops while player is buffering. This cleared the noticable jumps in framedrop after each seek

Location:
trunk/fl5
Files:
2 edited

Legend:

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

    r1961 r1976  
    212212                                var bwd:Number = Math.round(_stream.info.maxBytesPerSecond * 8 / 1024); 
    213213                                var drf:Number = _stream.info.droppedFrames; 
    214                                 _streamInfo.push({bwd:bwd,drf:drf}); 
     214                                var stt:String = state; 
     215                                _streamInfo.push({bwd:bwd,drf:drf,stt:stt}); 
    215216                                var len:Number = _streamInfo.length; 
    216217                                if(len > 5 && state == PlayerState.PLAYING) { 
     
    219220                                        config.bandwidth = bwd; 
    220221                                        Configger.saveCookie('bandwidth',bwd); 
    221                                         drf = Math.round((_streamInfo[len-1].drf - _streamInfo[len-5].drf)*2)/10; 
     222                                        // Don't trust framedrops when player buffered during last samplings. 
     223                                        if(_streamInfo[len-2].stt==PlayerState.BUFFERING || 
     224                                                _streamInfo[len-3].stt==PlayerState.BUFFERING) { 
     225                                                drf = 0; 
     226                                        } else { 
     227                                                drf = Math.round((_streamInfo[len-1].drf - _streamInfo[len-3].drf)*5)/10; 
     228                                        } 
    222229                                        if(item.levels.length > 0 && item.getLevel(bwd,config.width) != item.currentLevel) { 
    223230                                                Logger.log("swapping to another level b/c of bandwidth",bwd.toString()); 
    224231                                                swap(item.getLevel(bwd, config.width)); 
    225232                                        } 
    226                                         if(item.levels.length > 0 && drf > 7 && item.currentLevel < item.levels.length-1) { 
     233                                        if(item.levels.length > 0 && drf > 12 && item.currentLevel < item.levels.length-1) { 
    227234                                                var lvl:Number = item.currentLevel; 
    228235                                                item.blacklistLevel(lvl); 
Note: See TracChangeset for help on using the changeset viewer.