 
                     // 再生中のムービーを削除する場合、advanceToNextAsset()を呼ぶ
                     if readerIndex == 0 {
-                        shouldAdvance = true
-                    }
-                }
-            }
-        }
-        if shouldAdvance {
-            advanceToNextAsset()
+                        me.advanceToNextAsset(shouldLock: false)
+                    }
+                }
+            }
         }
     }
 

    }

    func removeAsset(asset: AVAsset) {
        var shouldAdvance = false
        sync { me in

            if let index = me._assets.indexOf({ $0.asset == asset }) {

                    // TODO: 取得したサンプルバッファの位置が1.0を超えていた場合も移動する
                    advanceToNextAsset(shouldLock: false)
                } else {
                    NSLog("[\(target.URL!.lastPathComponent!)] Invalid state[\(Int(target.status.rawValue))]. Something is wrong.")
                    _readers.removeAtIndex(0)
                    _currentPresentationTimestamp = kCMTimeZero
                }
