@@ -424,14 +424,13 @@ private void loadTrack(boolean play, @NotNull PushToMixerReason reason) {
424424 crossfadeHandler = null ;
425425
426426 if (trackHandler .isReady ()) {
427+ state .setState (true , !play , false );
427428 updateStateWithHandler ();
428429
429430 try {
430431 state .setPosition (trackHandler .time ());
431432 } catch (Codec .CannotGetTimeException ignored ) {
432433 }
433-
434- state .setState (true , !play , false );
435434 } else {
436435 state .setState (true , !play , true );
437436 }
@@ -451,17 +450,16 @@ private void loadTrack(boolean play, @NotNull PushToMixerReason reason) {
451450 preloadTrackHandler = null ;
452451
453452 if (trackHandler .isReady ()) {
453+ state .setState (true , !play , false );
454454 updateStateWithHandler ();
455455
456456 trackHandler .seek (state .getPosition ());
457- state .setState (true , !play , false );
458457 } else {
459458 state .setState (true , !play , true );
460459 }
461-
462460 } else {
463- trackHandler = runner .load (id , state .getPosition ());
464461 state .setState (true , !play , true );
462+ trackHandler = runner .load (id , state .getPosition ());
465463 }
466464
467465 state .updated ();
@@ -484,9 +482,9 @@ private void loadTrack(boolean play, @NotNull PushToMixerReason reason) {
484482
485483 private void handleResume () {
486484 if (state .isPaused ()) {
485+ state .setState (true , false , false );
487486 if (!trackHandler .isInMixer ()) trackHandler .pushToMixer (PushToMixerReason .None );
488487 runner .playMixer ();
489- state .setState (true , false , false );
490488
491489 state .updated ();
492490 events .playbackResumed ();
@@ -500,8 +498,8 @@ private void handleResume() {
500498
501499 private void handlePause () {
502500 if (state .isPlaying ()) {
503- runner .pauseMixer ();
504501 state .setState (true , true , false );
502+ runner .pauseMixer ();
505503
506504 try {
507505 state .setPosition (trackHandler .time ());
0 commit comments