Example #1
0
        internal static Channel_T GetChannel( Frontend frontend )
        {
            // Create
            Channel_T channel;

            // Process
            DVBException.ThrowOnError( _GetChannel( frontend.ClassPointer, out channel ), "Unable to request tune status" );

            // Report
            return channel;
        }
Example #2
0
        internal Channel_T SetChannel( Frontend frontend )
        {
            // Process
            DVBException.ThrowOnError( _SetChannel( frontend.ClassPointer, this, false ), "Unable to tune" );

            // Get channel once
            GetChannel( frontend );

            // Report second
            return GetChannel( frontend );
        }
        private void Open()
        {
            // Already did it
            if (null != m_DeviceManager) return;

            // Once only
            if (!m_Initialized)
            {
                // Lock out
                m_Initialized = true;

                // Call initializer
                InitDvbApiDll();
            }

            // Create device manager
            m_DeviceManager = new Common();

            // Open the hardware channel
            m_DeviceManager.Open( m_DeviceIndex );

            // Attach to board
            m_Board = new BoardControl();

            // Do a full reset
            m_Board.Initialize();

            // Attach to frontend
            m_Frontend = new Frontend();

            // Start it up
            m_Frontend.Initialize();

            // Enable DMA access
            m_Board.EnableDMA();

            // Create CI accessor
            m_CI = new CommonInterface();
        }
        /// <summary>
        /// Beendet die Nutzung des Gerätes endgültig.
        /// </summary>
        public void Dispose()
        {
            // Stop all filters
            StopFilters();

            // Forward to all
            using (m_CI)
                m_CI = null;
            using (m_Frontend)
                m_Frontend = null;
            using (m_Board)
                m_Board = null;
            using (m_DeviceManager)
                m_DeviceManager = null;
        }