 */
 extension StreamFrameProducer {
     /// 現在のリーダーが指すアセットの位置を返す
-    public var _currentAsset: (index: Int, asset: AVAsset)! {
+    public func _getCurrentAsset() -> (index: Int, asset: AVAsset)! {
         if let reader = _readers.first {
             if let i = find(self._assets, reader.asset) {
                 return (i, reader.asset)

            }
        }

        /*
        「offset = window * position」であることを利用して位置を求める

        offset = window * position
        → position = offset/window
        (※ offset = t(target) - t0 なので)
        → position = (t(target) - t0)/window
        (※ t0 = t1 - window なので)
        → position = (t(target) - t1 + window)/window
        ∴ position = (window + target - t1) / window
        */
        if let t1 = _getAssetInfoAtOne() {
            let numer = window + _calculateDelta(target, t1)
            let position = numer.f / window.f
            return position
        }
        return nil
    }
}
        return nil
    }

    private func _prepareNextAssetReaders(initial: AVAsset? = nil, atTime time: CMTime = kCMTimeZero) {
        let lock = ScopedLock(self)

        // 読み込み済みリーダーの数が上限になっていれば何もしない
