             stop-playback-chan nil))) ; do nothing, break the loop
       (dispatch [:update-state reset-blink]))
     (-> state
-        (apply-diff (prev-diff (:frames state) play-from))
+        (apply-diff (prev-diff (:frames state) start-at))
         (assoc :stop stop-fn))))
 
 (defn stop-playback

  (if-let [stop (:stop state)]
    (let [t (stop)]
      (-> state
          (update-in [:play-from] + t)
          (update-in [:speed] change-fn)
          (start-playback dispatch)))
    (update-in state [:speed] change-fn)))

    (when playing?
      ((:stop state)))
    (let [new-state (-> state
                        (assoc :current-time new-time :start-at new-time)
                        (apply-diff diff))]
      (if playing?
        (start-playback new-state dispatch)
