Example #1
0
        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;
        }
Example #3
0
        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;
        }
Example #6
0
 public static RewindableStream CreateRewindableStream(IRewindable rewindable, bool disposeOfRewindableOnDispose)
 {
     return new RewindableStream(rewindable, disposeOfRewindableOnDispose);
 }
Example #7
0
 public void UnRegisterSnapshot(IRewindable snapshot)
 {
     _SnapShots.Remove(snapshot);
 }
Example #8
0
 public void RegisterSnapshot(IRewindable snapshot)
 {
     _SnapShots.Add(snapshot);
 }
 public void Unregister(IRewindable rewindable)
 {
     rewindable.PositionIncremented -= RewindablePositionIncremented;
     rewindable.PositionDecremented -= RewindablePositionDecremented;
 }