private static IDisposable[] GetDisposables(IRewindable rewindable, bool disposeOfRewindableOnDispose) { if (disposeOfRewindableOnDispose) { return new IDisposable[] { rewindable }; } return null; }
public FrameDroppingStreamBuilder SetRewindable(IRewindable value) { if (value == null) throw new ArgumentNullException("value"); _rewindable = value; return this; }
public RewindableStream(IRewindable rewindable, bool disposeOfRewindableOnDispose) : base(rewindable.Stream, rewindable.Stream, rewindable.Stream, GetDisposables(rewindable, disposeOfRewindableOnDispose)) { _rewindable = rewindable; _rewindable.PositionIncremented += RewindablePositionIncremented; _rewindable.PositionDecremented += RewindablePositionDecremented; }
public FrameDroppingStreamBuilder(IRewindable rewindable, IFrameFinder frameFinder) { if (rewindable == null) throw new ArgumentNullException("rewindable"); if (frameFinder == null) throw new ArgumentNullException("frameFinder"); _rewindable = rewindable; _frameFinder = frameFinder; }
public FrameDroppingStream(IRewindable rewindable, IFrameFinder frameFinder) { _rewindable = rewindable; _frameFinder = frameFinder; }
public static RewindableStream CreateRewindableStream(IRewindable rewindable, bool disposeOfRewindableOnDispose) { return new RewindableStream(rewindable, disposeOfRewindableOnDispose); }
public void UnRegisterSnapshot(IRewindable snapshot) { _SnapShots.Remove(snapshot); }
public void RegisterSnapshot(IRewindable snapshot) { _SnapShots.Add(snapshot); }
public void Unregister(IRewindable rewindable) { rewindable.PositionIncremented -= RewindablePositionIncremented; rewindable.PositionDecremented -= RewindablePositionDecremented; }