Exemple #1
0
        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;
		}
Exemple #4
0
		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;
		}
Exemple #5
0
		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);
        }