OSDN Git Service

停止時でも再生位置を移動できるようにした。
[winaudioj/async.git] / async / application.cpp
index 1376a97..c2d0016 100644 (file)
@@ -242,10 +242,13 @@ namespace sf {
         read_index_ = 0;
         change_status(status_backup_);
         break;
+      case player_prep_stop:
+        break;
       case player_stop:
         reader_->reset_data_position();
         ringbuffer_.reset();
         output_counter_ = 0;
+        change_status(player_ready);
         break;
       }
       Sleep(1);
@@ -322,8 +325,11 @@ loop_end:
         break;
       case player_seek:
         break;
-      case player_stop:
+      case player_prep_stop:
         wasapi_->stop();
+        change_status(player_stop);
+        break;
+      case player_stop:
         break;
       }
       Sleep(0);
@@ -380,7 +386,7 @@ loop_end:
 
   void application::stop()
   {
-    change_status(player_stop);
+    change_status(player_prep_stop);
     window_->stop();
   }