Esempio n. 1
0
 protected void Decompose()
 {
     base.Decompose();
     if (_pbdaFilter != null)
     {
         Release.ComObject(_pbdaFilter);
         _pbdaFilter = null;
     }
     _bdaCa = null;
 }
Esempio n. 2
0
 /// <summary>
 /// Build the graph.
 /// </summary>
 public override void BuildGraph()
 {
     try
     {
         if (_graphState != GraphState.Idle)
         {
             Log.Log.Info("PBDA CC: device already initialised");
             return;
         }
         Log.Log.Info("PBDA CC: build graph");
         _graphBuilder = (IFilterGraph2) new FilterGraph();
         _capBuilder   = (ICaptureGraphBuilder2) new CaptureGraphBuilder2();
         _capBuilder.SetFiltergraph(_graphBuilder);
         _rotEntry = new DsROTEntry(_graphBuilder);
         AddNetworkProviderFilter(typeof(ATSCNetworkProvider).GUID);
         AddTsWriterFilterToGraph();
         if (!useInternalNetworkProvider)
         {
             AddMpeg2DemuxerToGraph();
         }
         IBaseFilter lastFilter;
         AddAndConnectBDABoardFilters(_device, out lastFilter);
         _bdaCa = _filterTuner as IBDA_ConditionalAccess;
         if (_bdaCa == null)
         {
             throw new TvExceptionGraphBuildingFailed("PBDA CC: tuner filter does not implement required interface");
         }
         AddPbdaFilter(ref lastFilter);
         CompleteGraph(ref lastFilter);
         bool connected = ConnectTsWriter(_filterTuner);
         Log.Log.Debug("PBDA CC: connect OOB pin result = {0}", connected);
         CheckCableCardInfo();
         string graphName = _device.Name + " - NA Cable Graph.grf";
         FilterGraphTools.SaveGraphFile(_graphBuilder, graphName);
         GetTunerSignalStatistics();
         _graphState = GraphState.Created;
     }
     catch (Exception)
     {
         Dispose();
         throw;
     }
 }
 /// <summary>
 /// Build the graph.
 /// </summary>
 public override void BuildGraph()
 {
   try
   {
     if (_graphState != GraphState.Idle)
     {
       Log.Log.Info("PBDA CC: device already initialised");
       return;
     }
     Log.Log.Info("PBDA CC: build graph");
     _graphBuilder = (IFilterGraph2)new FilterGraph();
     _capBuilder = (ICaptureGraphBuilder2)new CaptureGraphBuilder2();
     _capBuilder.SetFiltergraph(_graphBuilder);
     _rotEntry = new DsROTEntry(_graphBuilder);
     AddNetworkProviderFilter(typeof (ATSCNetworkProvider).GUID);
     AddTsWriterFilterToGraph();
     if (!useInternalNetworkProvider)
     {
       AddMpeg2DemuxerToGraph();
     }
     IBaseFilter lastFilter;
     AddAndConnectBDABoardFilters(_device, out lastFilter);
     _bdaCa = _filterTuner as IBDA_ConditionalAccess;
     if (_bdaCa == null)
     {
       throw new TvExceptionGraphBuildingFailed("PBDA CC: tuner filter does not implement required interface");
     }
     AddPbdaFilter(ref lastFilter);
     CompleteGraph(ref lastFilter);
     bool connected = ConnectTsWriter(_filterTuner);
     Log.Log.Debug("PBDA CC: connect OOB pin result = {0}", connected);
     CheckCableCardInfo();
     string graphName = _device.Name + " - NA Cable Graph.grf";
     FilterGraphTools.SaveGraphFile(_graphBuilder, graphName);
     GetTunerSignalStatistics();
     _graphState = GraphState.Created;
   }
   catch (Exception)
   {
     Dispose();
     throw;
   }
 }
 protected void Decompose()
 {
   base.Decompose();
   if (_pbdaFilter != null)
   {
     Release.ComObject(_pbdaFilter);
     _pbdaFilter = null;
   }
   _bdaCa = null;
 }