                                 }
                             }
                             
-                            context("and liveStartTime is after seekable range") {
+                            context("and liveStartTime is after dvrWindow range") {
                                 it("should not seek") {
-                                    setupLiveDvr(liveStartTime: 3500.0)
+                                    setupLiveDvr(liveStartTime: 3500, dvrWindowStart: 2000, dvrWindowEnd: 3000)
                                     
                                     var didSeek = false
                                     

                    
                    context("with liveStartTime") {
                        
                        func setupLiveDvr(liveStartTime: Double)  {
                            playback = AVFoundationPlayback(options: [kMinDvrSize: 0, kLiveStartTime: liveStartTime])
                            
                            asset = AVURLAssetStub(url: URL(string:"globo.com")!)
                            asset.set(duration: .indefinite)
                            
                            item = AVPlayerItemStub(asset: asset)
                            item.setWindow(start: 0, end: 1000)
                            item.set(currentTime: CMTime(seconds: 1000, preferredTimescale: 1))
                            item.set(currentDate: Date(timeIntervalSince1970: 3000))
                            
                            player = AVPlayerStub()
                            player.set(currentItem: item)

                        }
                        
                        context("when video is live with dvr") {
                            context("and liveStartTime is between dvrWindow range") {
                                it("triggers didUpdatePosition") {
                                    setupLiveDvr(liveStartTime: 2500, dvrWindowStart: 2000, dvrWindowEnd: 3000)
                                    
                                    let expectedPositionToSeek = 500.0
                                    
                                    var didCallUpdatePosition = false
                                    var positionToSeek: Double = 0
                                    
                                    playback.on(Event.didUpdatePosition.rawValue) { userInfo in
                                        didCallUpdatePosition = true
                                        positionToSeek = userInfo!["position"] as! Double
                                    }
                                    
                                    playback.handleDvrAvailabilityChange()
                                    
                                    expect(didCallUpdatePosition).toEventually(beTrue())
                                    expect(positionToSeek).toEventually(equal(expectedPositionToSeek))
                                }
                            }
                            
                            context("and liveStartTime is before dvrWindow range") {
                                it("should not seek") {
                                    setupLiveDvr(liveStartTime: 1500, dvrWindowStart: 2000, dvrWindowEnd: 3000)
                                    
                                    var didSeek = false
                                    
