     */
     func appendAsset(asset: AVAsset) {
 
-        let holder = AssetHolder(asset)
+        let holder = AssetHolder(asset, producer: self)
         self._assets.append(holder)
     }
 


    /// 格納しているアセットの合計再生時間を返す
    var amountDuration: CMTime {
        let lock = ScopedLock(self)
        return _amountDuration
    }

    /// アセット全体のうち再生対象となる時間。いわゆる時間窓に相当
    var window = CMTime(value: 5, 1)

    /// 再生のスピード。1.0が通常再生、2.0だと倍速再生。負数は非対応
    var playbackRate: Float {


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