From f5d21c9cdbc16096086301387a7c37489788c0ad Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@duempel.org>
Date: Tue, 27 Oct 2015 22:05:41 +0100
Subject: player/Thread: add method ResetCrossFade()

---
 src/player/Thread.cxx | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

(limited to 'src')

diff --git a/src/player/Thread.cxx b/src/player/Thread.cxx
index 8261923c8..81248c826 100644
--- a/src/player/Thread.cxx
+++ b/src/player/Thread.cxx
@@ -162,6 +162,14 @@ public:
 		 elapsed_time(SongTime::zero()) {}
 
 private:
+	/**
+	 * Reset cross-fading to the initial state.  A check to
+	 * re-enable it at an appropriate time will be scheduled.
+	 */
+	void ResetCrossFade() {
+		xfade_state = CrossFadeState::UNKNOWN;
+	}
+
 	void ClearAndDeletePipe() {
 		pipe->Clear(buffer);
 		delete pipe;
@@ -591,7 +599,7 @@ Player::SeekDecoder()
 
 	player_command_finished(pc);
 
-	xfade_state = CrossFadeState::UNKNOWN;
+	ResetCrossFade();
 
 	/* re-fill the buffer after seeking */
 	buffering = true;
@@ -897,7 +905,7 @@ Player::PlayNextChunk()
 inline bool
 Player::SongBorder()
 {
-	xfade_state = CrossFadeState::UNKNOWN;
+	ResetCrossFade();
 
 	FormatDefault(player_domain, "played \"%s\"", song->GetURI());
 
-- 
cgit v1.2.3