public override bool Seek(double absoluteTimestamp) { #if PARALLEL OutStreams.AsParallel().ForAll(x => { if (!x.InStream.SignalSeek(ref absoluteTimestamp)) { Logger.WARN("Unable to signal seek on an outbound stream"); } }); #else foreach ( var baseOutStream in OutStreams.Where( baseOutStream => !baseOutStream.SignalSeek(ref absoluteTimestamp))) { Logger.WARN("Unable to signal seek on an outbound stream"); } #endif if (!SignalSeek(ref absoluteTimestamp)) { Logger.FATAL("Unable to signal seek"); return(false); } return(true); }
public override bool Stop() { if (!SignalStop()) { Logger.FATAL("Unable to signal stop"); return(false); } #if PARALLEL OutStreams.AsParallel().ForAll(x => { if (!x.InStream.SignalStop()) { Logger.WARN("Unable to signal stop on an outbound stream"); } }); #else foreach ( var baseOutStream in OutStreams.Where( baseOutStream => !baseOutStream.SignalStop())) { Logger.WARN("Unable to signal stop on an outbound stream"); } #endif return(true); }
public override bool Play(double absoluteTimestamp, double length) { if (!SignalPlay(ref absoluteTimestamp, ref length)) { Logger.FATAL("Unable to signal play"); return(false); } #if PARALLEL OutStreams.AsParallel().ForAll(x => { if (!x.InStream.SignalPlay(ref absoluteTimestamp, ref length)) { Logger.WARN("Unable to signal play on an outbound stream"); } }); #else foreach ( var baseOutStream in OutStreams.Where( baseOutStream => !baseOutStream.SignalPlay(ref absoluteTimestamp, ref length))) { Logger.WARN("Unable to signal play on an outbound stream"); } #endif return(true); }