diff --git a/src/qconnect.rs b/src/qconnect.rs index ec76735..208dd2a 100644 --- a/src/qconnect.rs +++ b/src/qconnect.rs @@ -1332,9 +1332,10 @@ async fn run_connection( // If currently playing, restart at new quality if current_playing_state == 2 && current_track_id != 0 { + let restart_pos = player.status().position_ms; info!("Restarting track {} at new quality format_id={}", current_track_id, format_id); current_buffer_state = 1; // BUFFERING - current_position_ms = 0; + current_position_ms = restart_pos; send_state!(ws_tx, msg_id); let track_id_str = current_track_id.to_string(); @@ -1384,7 +1385,7 @@ async fn run_connection( track_id: current_track_id, queue_item_id: current_queue_item_id, duration_ms, - start_position_ms: 0, + start_position_ms: restart_pos, }); let (fallback_sr, fallback_bits, fallback_ch) = quality_fallback_audio_params(*quality);