Пример #1
0
        /// <summary>
        /// Beendet die Datenübertragung in den DirectShow Graphen und zusätzlich
        /// eine eventuell laufende Aufzeichnung.
        /// </summary>
        /// <param name="pictureOnly">Gesetzt, wenn die Aufzeichnung selbst weiter laufen soll.</param>
        private void StopReceivers(bool pictureOnly)
        {
            // Stop all consumers we registered
            Device.RemoveProgramGuideConsumer(ReceiveEPG);
            Device.SetConsumerState(VideoId, null);
            Device.SetConsumerState(AudioId, null);
            Device.SetConsumerState(TextId, null);

            // Restart videotext caching from scratch
            VideoText.Deactivate(true);

            // Partial mode
            if (pictureOnly)
            {
                return;
            }

            // Stop reader
            using (var reader = m_InfoReader)
            {
                // Forget
                m_InfoReader = null;

                // Enforce proper shutdown
                if (reader != null)
                {
                    reader.Cancel();
                }
            }

            // Reset flag
            m_HasPendingGroupInformation = false;

            // Stop portal parser
            if (null != ServiceParser)
            {
                // Stop it
                ServiceParser.Disable();

                // Forget it
                ServiceParser = null;
            }

            // Stop recording, too
            using (SourceStreamsManager recording = RecordingStream)
                RecordingStream = null;
        }
 /// <summary>
 /// Beendet die Auswertung der programmzeitschrift für die NVOD Dienste.
 /// </summary>
 private void DisableServiceParser()
 {
     // Stop service parser
     if (m_ServiceParser != null)
     {
         try
         {
             // Shut down
             m_ServiceParser.Disable();
         }
         catch
         {
             // Ignore any error
         }
         finally
         {
             // Forget
             m_ServiceParser = null;
         }
     }
 }