 
                 // 算出した値なので、端数が出ないよう1/600スケールに丸めて返す
                 let time = CMTimeConvertScale(result.time, 600, .RoundHalfAwayFromZero)
-                return (result.index, time)
+                return AssetPosition(index: result.index, time: time)
             }
         }
         return nil

                    // 取得したサンプルバッファの指す時間位置が1.0を超えていなければ、
                    // 表示用としてサンプルバッファを返す
                    let pts = CMSampleBufferGetPresentationTimeStamp(sbuf) + target.startTime
                    let pos = getPositionOf(find(_assets, target.asset)!, time: pts)
                    if pos <= 1.0 + 0.02/*tolerance*/ {
                        return ( sbuf, pts, target.frameInterval )
                    }

        }
        var currentAsset: AVAsset? = nil
        if let pos = pos {
            if let playerInfo = _getAssetPositionOf(pos) {
                currentAsset = _assets[playerInfo.index]
                position = pos
                _currentPresentationTimestamp = playerInfo.time
