     }
 
     /**
-    現在の位置を元に、指定したインデックス、プレゼンテーション時間が表すポジションを返す
+    現在の再生位置を元に、指定したアセット位置が示す再生位置を返す
 
     :param: index アセットのインデックス。_assets内のインデックス番号のこと。
     :param: time  アセット上の時間

    /**
    複数アセットを跨いだ、アセット間の時間を求める。from>toの場合は負値が返る。

    :param: from lhs 起点
    :param: to rhs 終点

    :returns: 指定期間内のduration.
    */

extension StreamFrameProducer {
    // MARK: Internals
    /**
    指定した再生位置(0.0-1.0)に対するアセット位置を計算して返す

    :param: position 再生位置(0.0-1.0)

    :returns: 指定した再生位置に相当するアセット位置
    */
    private func getAssetInfoOf(position: Float) -> (index:Int, time:CMTime)? {
        let lock = ScopedLock(self)

        if _assets.isEmpty || _readers.isEmpty { return nil }

        // 1) 1.0のアセット位置を算出する
        if let one = _getWindowEnd() {

            // 再生位置を1.0位置からのオフセット時間に変換する
            let offset = ( window * (1.0 - position) ) * -1.0

            // 2) 算出した1.0位置からのオフセットを引いたアセット位置を探す
            if let result = _findAsset(_assets, from: one, offset: offset) {

                // 算出した値なので、端数が出ないよう1/600スケールに丸めて返す
