protected override bool Open(Binding.IGraph graph, string file) { bool result = false; DirectShow.Binding.Filters.SampleGrabber.All samplegrabber = new DirectShow.Binding.Filters.SampleGrabber.All() { Rate = this.Rate, FuzzyMatch = this.Fuzzy }; if (this.Fuzzy) { result = graph.Open(new DirectShow.Binding.Filters.File.AsfReader(file, samplegrabber)); } else { result = graph.Open(new DirectShow.Binding.Filters.File.AsfReader(file, new DirectShow.Binding.Filters.Decoder.Wmv(samplegrabber)) { Output = 0 }) || graph.Open(new DirectShow.Binding.Filters.File.AsfReader(file, new DirectShow.Binding.Filters.Decoder.Wmv(samplegrabber)) { Output = 1 }) || graph.Open(new DirectShow.Binding.Filters.File.AsfReader(file, new DirectShow.Binding.Filters.Decompressor.Mjpeg(samplegrabber)) { Output = 0 }) || graph.Open(new DirectShow.Binding.Filters.File.AsfReader(file, new DirectShow.Binding.Filters.Decompressor.Mjpeg(samplegrabber)) { Output = 1 }); } return(result); }
protected override bool Open(Binding.IGraph graph, string file) { bool result = false; DirectShow.Binding.Filters.SampleGrabber.All samplegrabber = new DirectShow.Binding.Filters.SampleGrabber.All() { Rate = this.Rate, FuzzyMatch = this.Fuzzy }; if (this.Fuzzy) { result = graph.Open(new DirectShow.Binding.Filters.File.Source(file, samplegrabber)); } else { result = graph.Open(new DirectShow.Binding.Filters.File.Source(file, new DirectShow.Binding.Filters.Demultiplexer.Mpeg2(new DirectShow.Binding.Filters.Decoder.Mpeg2(new DirectShow.Binding.Filters.Dmo.ColorConverter(samplegrabber))) { Output = 0 })) || graph.Open(new DirectShow.Binding.Filters.File.Source(file, new DirectShow.Binding.Filters.Demultiplexer.Mpeg2(new DirectShow.Binding.Filters.Decoder.Mpeg2(new DirectShow.Binding.Filters.Dmo.ColorConverter(samplegrabber))) { Output = 1 })); } return(result); }
protected override bool Open(Binding.IGraph graph, string file) { bool result = false; DirectShow.Binding.Filters.SampleGrabber.All samplegrabber = new DirectShow.Binding.Filters.SampleGrabber.All() { Rate = this.Rate, FuzzyMatch = this.Fuzzy }; if (this.Fuzzy) result = graph.Open(new DirectShow.Binding.Filters.File.Source(file, samplegrabber)); else result = graph.Open(new DirectShow.Binding.Filters.File.Source(file, new DirectShow.Binding.Filters.Demultiplexer.Mpeg2(new DirectShow.Binding.Filters.Decoder.Mpeg2(new DirectShow.Binding.Filters.Dmo.ColorConverter(samplegrabber))) { Output = 0 })) || graph.Open(new DirectShow.Binding.Filters.File.Source(file, new DirectShow.Binding.Filters.Demultiplexer.Mpeg2(new DirectShow.Binding.Filters.Decoder.Mpeg2(new DirectShow.Binding.Filters.Dmo.ColorConverter(samplegrabber))) { Output = 1 })); return result; }
protected override bool Open(Binding.IGraph graph, string file) { bool result = false; DirectShow.Binding.Filters.SampleGrabber.All samplegrabber = new DirectShow.Binding.Filters.SampleGrabber.All() { Rate = this.Rate, FuzzyMatch = this.Fuzzy }; if (this.Fuzzy) result = graph.Open(new DirectShow.Binding.Filters.File.AsfReader(file, samplegrabber)); else { result = graph.Open(new DirectShow.Binding.Filters.File.AsfReader(file, new DirectShow.Binding.Filters.Decoder.Wmv(samplegrabber)) { Output = 0 }) || graph.Open(new DirectShow.Binding.Filters.File.AsfReader(file, new DirectShow.Binding.Filters.Decoder.Wmv(samplegrabber)) { Output = 1 }) || graph.Open(new DirectShow.Binding.Filters.File.AsfReader(file, new DirectShow.Binding.Filters.Decompressor.Mjpeg(samplegrabber)) { Output = 0 }) || graph.Open(new DirectShow.Binding.Filters.File.AsfReader(file, new DirectShow.Binding.Filters.Decompressor.Mjpeg(samplegrabber)) { Output = 1 }); } return result; }
protected override bool Open(Binding.IGraph graph, string file) { bool result = false; DirectShow.Binding.Filters.SampleGrabber.All samplegrabber = new DirectShow.Binding.Filters.SampleGrabber.All() { Rate = this.Rate, FuzzyMatch = this.Fuzzy }; if (this.Fuzzy) result = graph.Open(new DirectShow.Binding.Filters.File.Source(file, samplegrabber)); else result = graph.Open(new DirectShow.Binding.Filters.File.Source(file, new DirectShow.Binding.Filters.Demultiplexer.AviSplitter(new DirectShow.Binding.Filters.Decoder.Wmv(samplegrabber)))) || graph.Open(new DirectShow.Binding.Filters.File.Source(file, new DirectShow.Binding.Filters.Demultiplexer.AviSplitter(new DirectShow.Binding.Filters.Decompressor.Mjpeg(samplegrabber)))) || graph.Open(new DirectShow.Binding.Filters.File.Source(file, new DirectShow.Binding.Filters.Demultiplexer.AviSplitter(new DirectShow.Binding.Filters.Dmo.Mpeg4(samplegrabber)))) || graph.Open(new DirectShow.Binding.Filters.File.Source(file, new DirectShow.Binding.Filters.Demultiplexer.AviSplitter(new DirectShow.Binding.Filters.Dmo.Mpeg43(samplegrabber)))) || graph.Open(new DirectShow.Binding.Filters.File.Source(file, new DirectShow.Binding.Filters.Demultiplexer.AviSplitter(new DirectShow.Binding.Filters.Dmo.Mpeg4s(samplegrabber)))) || graph.Open(new DirectShow.Binding.Filters.File.Source(file, new DirectShow.Binding.Filters.Demultiplexer.AviSplitter(new DirectShow.Binding.Filters.Decompressor.Avi(samplegrabber)))) || graph.Open(new DirectShow.Binding.Filters.File.Source(file, new DirectShow.Binding.Filters.Demultiplexer.AviSplitter(new DirectShow.Binding.Filters.Decoder.Dv(samplegrabber)))); return result; }
protected override DirectShow.Binding.IGraph Open(Uri.Locator locator) { Timeshift.Graph.NonLive result = null; if (locator.Scheme == "elecard+udp" && locator.Query["video"].NotNull()) { string filename = locator.Query["video"]; locator = locator.Copy(); locator.Scheme = "udp"; locator.Query.Remove("video"); result = new Graph.NonLive(); result.Recorder = new DirectShow.Binding.Graph(); if (result.Recorder.Open(new Filters.Net.SourcePlus(locator, new Filters.File.Sink(filename)))) { result.Recorder.Play(); System.Threading.Thread.Sleep(1000); DirectShow.Binding.Filters.SampleGrabber.All samplegrabber = new DirectShow.Binding.Filters.SampleGrabber.All() { FuzzyMatch = this.Fuzzy }; bool built = result.Open(new Filters.File.Source(filename, new Filters.Demultiplexer.Mpeg(new Filters.Decoder.All(samplegrabber)) { Output = 0 })) || result.Open(new Filters.File.Source(filename, new Filters.Demultiplexer.Mpeg(new Filters.Decoder.All(samplegrabber)) { Output = 1 })); if (built) { System.Threading.Thread.Sleep(1000); result.Play(); } else { result.Close(); result = null; } } else { result.Close(); result = null; } } return(result as DirectShow.Binding.IGraph); }
protected override DirectShow.Binding.IGraph Open(Uri.Locator locator) { Timeshift.Graph.NonLive result = null; if (locator.Scheme == "elecard+udp" && locator.Query["video"].NotNull()) { string filename = locator.Query["video"]; locator = locator.Copy(); locator.Scheme = "udp"; locator.Query.Remove("video"); result = new Graph.NonLive(); result.Recorder = new DirectShow.Binding.Graph(); if (result.Recorder.Open(new Filters.Net.SourcePlus(locator, new Filters.File.Sink(filename)))) { result.Recorder.Play(); System.Threading.Thread.Sleep(1000); DirectShow.Binding.Filters.SampleGrabber.All samplegrabber = new DirectShow.Binding.Filters.SampleGrabber.All() { FuzzyMatch = this.Fuzzy }; bool built = result.Open(new Filters.File.Source(filename, new Filters.Demultiplexer.Mpeg(new Filters.Decoder.All(samplegrabber)) { Output = 0 })) || result.Open(new Filters.File.Source(filename, new Filters.Demultiplexer.Mpeg(new Filters.Decoder.All(samplegrabber)) { Output = 1 })); if (built) { System.Threading.Thread.Sleep(1000); result.Play(); } else { result.Close(); result = null; } } else { result.Close(); result = null; } } return result as DirectShow.Binding.IGraph; }
protected override bool Open(Binding.IGraph graph, string file) { bool result = false; DirectShow.Binding.Filters.SampleGrabber.All samplegrabber = new DirectShow.Binding.Filters.SampleGrabber.All() { Rate = this.Rate, FuzzyMatch = this.Fuzzy }; if (this.Fuzzy) { result = graph.Open(new DirectShow.Binding.Filters.File.Source(file, samplegrabber)); } else { result = graph.Open(new DirectShow.Binding.Filters.File.Source(file, new DirectShow.Binding.Filters.Demultiplexer.AviSplitter(new DirectShow.Binding.Filters.Decoder.Wmv(samplegrabber)))) || graph.Open(new DirectShow.Binding.Filters.File.Source(file, new DirectShow.Binding.Filters.Demultiplexer.AviSplitter(new DirectShow.Binding.Filters.Decompressor.Mjpeg(samplegrabber)))) || graph.Open(new DirectShow.Binding.Filters.File.Source(file, new DirectShow.Binding.Filters.Demultiplexer.AviSplitter(new DirectShow.Binding.Filters.Dmo.Mpeg4(samplegrabber)))) || graph.Open(new DirectShow.Binding.Filters.File.Source(file, new DirectShow.Binding.Filters.Demultiplexer.AviSplitter(new DirectShow.Binding.Filters.Dmo.Mpeg43(samplegrabber)))) || graph.Open(new DirectShow.Binding.Filters.File.Source(file, new DirectShow.Binding.Filters.Demultiplexer.AviSplitter(new DirectShow.Binding.Filters.Dmo.Mpeg4s(samplegrabber)))) || graph.Open(new DirectShow.Binding.Filters.File.Source(file, new DirectShow.Binding.Filters.Demultiplexer.AviSplitter(new DirectShow.Binding.Filters.Decompressor.Avi(samplegrabber)))) || graph.Open(new DirectShow.Binding.Filters.File.Source(file, new DirectShow.Binding.Filters.Demultiplexer.AviSplitter(new DirectShow.Binding.Filters.Decoder.Dv(samplegrabber)))); } return(result); }