Example #1
0
            public StackDisposal SuppressLogMessages(SuppressionMode suppressionMode)
            {
                m_logMessageSuppressionStack.Add(suppressionMode);
                int depth = m_logMessageSuppressionStack.Count;

                if (depth >= s_stackDisposalSuppressionFlags.Length)
                {
                    GrowStackDisposal(depth + 1);
                }
                return(s_stackDisposalSuppressionFlags[depth]);
            }
Example #2
0
        /// <summary>
        /// Aktualisiert die Aktionslisten des DVB Empfangs.
        /// </summary>
        /// <param name="graph">Der DirectShow Graph für den DVB Empfang.</param>
        /// <param name="profile">Das verwendete Geräteprofil.</param>
        /// <param name="types">Die gewünschte Aktivierung.</param>
        void IPipelineExtension.Install(DataGraph graph, Profile profile, PipelineTypes types)
        {
            // Validate
            if (graph == null)
            {
                throw new ArgumentNullException("graph");
            }
            if (profile == null)
            {
                throw new ArgumentNullException("profile");
            }

            // Check supported types
            if ((types & PipelineTypes.CICAM) != 0)
            {
                // Load static settings
                m_suppress     = AdditionalFilterSelector.GetSuppression(PipelineTypes.CICAM, profile.Parameters);
                m_hasBeenReset = (m_suppress != SuppressionMode.None);

                // Analyse settings
                if (!bool.TryParse(profile.Parameters.GetParameter(PipelineTypes.CICAM, AdditionalFilterSelector.CancelEncryptionOnChangedStream), out m_disableOnChange))
                {
                    m_disableOnChange = false;
                }
                if (!int.TryParse(profile.Parameters.GetParameter(PipelineTypes.CICAM, AdditionalFilterSelector.DelayOnChangedStream), out m_changeDelay))
                {
                    m_changeDelay = 0;
                }

                // Register in pipeline
                graph.DecryptionPipeline.AddPostProcessing(Decrypt);

                // Check for additional filter
                var filterDisplayName = profile.Parameters.GetParameter(PipelineTypes.CICAM, AdditionalFilterSelector.FilterName);
                if (!string.IsNullOrEmpty(filterDisplayName))
                {
                    // Load moniker - if available
                    var filterMoniker = profile.Parameters.GetParameter(PipelineTypes.CICAM, AdditionalFilterSelector.FilterMoniker);

                    // Remember position of our extension
                    m_filterIndex = graph.AdditionalFilterInformations.Count;

                    // Register in graph
                    graph.AdditionalFilterInformations.Add(DeviceAndFilterInformations.Cache.AllFilters.FindFilter(filterDisplayName, filterMoniker));
                }
            }
        }
Example #3
0
        /// <summary>
        /// Aktualisiert die Aktionslisten des DVB Empfangs.
        /// </summary>
        /// <param name="graph">Der DirectShow Graph für den DVB Empfang.</param>
        /// <param name="profile">Das verwendete Geräteprofil.</param>
        /// <param name="types">Die gewünschte Aktivierung.</param>
        void IPipelineExtension.Install( DataGraph graph, Profile profile, PipelineTypes types )
        {
            // Validate
            if (graph == null)
                throw new ArgumentNullException( "graph" );
            if (profile == null)
                throw new ArgumentNullException( "profile" );

            // Check supported types
            if ((types & PipelineTypes.CICAM) != 0)
            {
                // Load static settings
                m_suppress = AdditionalFilterSelector.GetSuppression( PipelineTypes.CICAM, profile.Parameters );
                m_hasBeenReset = (m_suppress != SuppressionMode.None);

                // Analyse settings
                if (!bool.TryParse( profile.Parameters.GetParameter( PipelineTypes.CICAM, AdditionalFilterSelector.CancelEncryptionOnChangedStream ), out m_disableOnChange ))
                    m_disableOnChange = false;
                if (!int.TryParse( profile.Parameters.GetParameter( PipelineTypes.CICAM, AdditionalFilterSelector.DelayOnChangedStream ), out m_changeDelay ))
                    m_changeDelay = 0;

                // Register in pipeline
                graph.DecryptionPipeline.AddPostProcessing( Decrypt );

                // Check for additional filter
                var filterDisplayName = profile.Parameters.GetParameter( PipelineTypes.CICAM, AdditionalFilterSelector.FilterName );
                if (!string.IsNullOrEmpty( filterDisplayName ))
                {
                    // Load moniker - if available
                    var filterMoniker = profile.Parameters.GetParameter( PipelineTypes.CICAM, AdditionalFilterSelector.FilterMoniker );

                    // Remember position of our extension
                    m_filterIndex = graph.AdditionalFilterInformations.Count;

                    // Register in graph
                    graph.AdditionalFilterInformations.Add( DeviceAndFilterInformations.Cache.AllFilters.FindFilter( filterDisplayName, filterMoniker ) );
                }
            }
        }
Example #4
0
 public StackDisposal SuppressLogMessages(SuppressionMode suppressionMode)
 {
     m_logMessageSuppressionStack.Add(suppressionMode);
     int depth = m_logMessageSuppressionStack.Count;
     if (depth >= s_stackDisposalSuppressionFlags.Length)
     {
         GrowStackDisposal(depth);
     }
     return s_stackDisposalSuppressionFlags[depth];
 }