protected override DirectShow.Binding.IGraph Open(Uri.Locator name)
		{
			DirectShow.Binding.IGraph result = null;
			if (name.Scheme == "directshow+capture" && name.Authority.NotNull() && name.Query["video"].IsEmpty())
			{
				DirectShow.Binding.Graph temporary = new DirectShow.Binding.Graph();
				bool built = temporary.Open(new DirectShow.Binding.Filters.Capture.All(name.Authority, new DirectShow.Binding.Filters.SampleGrabber.Yuyv(new DirectShow.Binding.Filters.NullRenderer()) { FuzzyMatch = this.Fuzzy }));
				if (built)
				{
					temporary.Play();
					System.Threading.Thread.Sleep(500);
				}
				temporary.Close();
				temporary = null;
				result = new DirectShow.Binding.Graph();
				built = result.Open(new DirectShow.Binding.Filters.Capture.All(name.Authority, new DirectShow.Binding.Filters.SampleGrabber.Yuyv(new DirectShow.Binding.Filters.NullRenderer()) { FuzzyMatch = this.Fuzzy }));
				if (built)
				{
					result.Play();
					System.Threading.Thread.Sleep(500);
					result.Close();
					built = result.Open(new DirectShow.Binding.Filters.Capture.All(name.Authority, new DirectShow.Binding.Filters.SampleGrabber.Yuyv(new DirectShow.Binding.Filters.NullRenderer()) { FuzzyMatch = this.Fuzzy }));
				}
				if (built)
					result.Play();
				else
				{
					result.Close();
					result = null;
				}
			}
			return result;
		}
Пример #2
0
 protected override DirectShow.Binding.IGraph Open(Uri.Locator name)
 {
     DirectShow.Binding.IGraph result = null;
     if (name.Scheme == "directshow+capture" && name.Authority.NotNull() && name.Query["video"].IsEmpty())
     {
         DirectShow.Binding.Graph temporary = new DirectShow.Binding.Graph();
         bool built = temporary.Open(new DirectShow.Binding.Filters.Capture.All(name.Authority, new DirectShow.Binding.Filters.SampleGrabber.Yuyv(new DirectShow.Binding.Filters.NullRenderer())
         {
             FuzzyMatch = this.Fuzzy
         }));
         if (built)
         {
             temporary.Play();
             System.Threading.Thread.Sleep(500);
         }
         temporary.Close();
         temporary = null;
         result    = new DirectShow.Binding.Graph();
         built     = result.Open(new DirectShow.Binding.Filters.Capture.All(name.Authority, new DirectShow.Binding.Filters.SampleGrabber.Yuyv(new DirectShow.Binding.Filters.NullRenderer())
         {
             FuzzyMatch = this.Fuzzy
         }));
         if (built)
         {
             result.Play();
             System.Threading.Thread.Sleep(500);
             result.Close();
             built = result.Open(new DirectShow.Binding.Filters.Capture.All(name.Authority, new DirectShow.Binding.Filters.SampleGrabber.Yuyv(new DirectShow.Binding.Filters.NullRenderer())
             {
                 FuzzyMatch = this.Fuzzy
             }));
         }
         if (built)
         {
             result.Play();
         }
         else
         {
             result.Close();
             result = null;
         }
     }
     return(result);
 }