                     let videoPlayer = TinyVideoPlayer(resourceUrl: url, mediaContext: mediaContext)
                     let spy = PlayerTestObserver(player: videoPlayer)
                     
-                    expect(videoPlayer.startPosition).toEventually(equal(9.0), timeout: 2.0)
-                    expect(videoPlayer.endPosition).toEventually(equal(15.0), timeout: 2.0)
+                    expect(videoPlayer.startPosition).toEventually(equal(9.0), timeout: 2.0 * tm)
+                    expect(videoPlayer.endPosition).toEventually(equal(15.0), timeout: 2.0 * tm)
                     
                     /* Wait until the player receives the ready signal. */
-                    waitUntilPlayerIsReady(withSpy: spy)
+                    /// CST
+                    self.waitExpectation(timeout: 5.0*tm) { done -> Void in
+                        spy.onPlayerReady = {
+                            done()
+                        }
+                    }
+                    //waitUntilPlayerIsReady(withSpy: spy)
                     
                     videoPlayer.play()
 
                     /* Test if the player start at the 0.0 (absolute: 9.0) position, 
                        and ends at the 6.0 (absolute: 15.0) position;. */
-                    expect(videoPlayer.playbackState).toEventually(equal(TinyPlayerState.playing), timeout: 5.0)
-                    expect(videoPlayer.playbackPosition).toEventually(beCloseTo(0.0, within: 0.01), timeout: 5.0)
-                    expect(videoPlayer.playbackPosition).toEventually(beCloseTo(1.0, within: 0.1), timeout: 5.0)
-                    expect(videoPlayer.playbackPosition).toEventually(beCloseTo(2.0, within: 0.1), timeout: 5.0)
-                    expect(videoPlayer.playbackPosition).toEventually(beCloseTo(6.0, within: 0.01), timeout: 5.0)
+                    expect(videoPlayer.playbackState).toEventually(equal(TinyPlayerState.playing), timeout: 5.0 * tm)
+                    expect(videoPlayer.playbackPosition).toEventually(beCloseTo(0.0, within: 0.01), timeout: 5.0 * tm)
+                    expect(videoPlayer.playbackPosition).toEventually(beCloseTo(1.0, within: 0.1), timeout: 5.0 * tm)
+                    expect(videoPlayer.playbackPosition).toEventually(beCloseTo(2.0, within: 0.1), timeout: 5.0 * tm)
+                    expect(videoPlayer.playbackPosition).toEventually(beCloseTo(6.0, within: 0.01), timeout: 5.0 * tm)
                     
                     /* Test the player ends before the 7.0 position. */
-                    expect(videoPlayer.playbackPosition).toEventuallyNot(beCloseTo(7.0, within: 0.01), timeout: 8.0)
-                    expect(videoPlayer.playbackState).toEventually(equal(TinyPlayerState.finished), timeout: 8.0)
+                    expect(videoPlayer.playbackPosition).toEventuallyNot(beCloseTo(7.0, within: 0.01), timeout: 8.0 * tm)
+                    expect(videoPlayer.playbackState).toEventually(equal(TinyPlayerState.finished), timeout: 8.0 * tm)
                 }
             }
             

                    let spy = PlayerTestObserver(player: videoPlayer)
                    var delegateCalled = false
                    
                    waitUntil(timeout: 10.0) { done -> Void in
                        
                        spy.onSeekableRangeUpdated = { _ in
                            delegateCalled = true

                    let spy = PlayerTestObserver(player: videoPlayer)
                    var delegateCalled = false
                    
                    ///CST
                    self.waitExpectation(timeout: 10.0 * tm) { done -> Void in
                        
                        spy.onPlaybackFinished = {
                            delegateCalled = true
