コード例 #1
0
        /// <summary>
        /// Entfernt das aktuelle Zugriffsmodul.
        /// </summary>
        /// <param name="startup">Für den ersten Aufruf gesetzt.</param>
        private void DestroyConnector(bool startup)
        {
            // Stop all
            if (!startup)
            {
                try
                {
                    // Attach to accessor
                    var accessor = Accessor;
                    if (accessor != null)
                    {
                        // Stop sending data
                        accessor.Stop();

                        // Stop graph
                        accessor.StopGraph();
                    }

                    // Restart videotext caching from scratch
                    VideoText.Deactivate(true);
                }
                catch
                {
                    // Ignore any error - maybe we are disposing the instance
                }
            }

            // Forget
            using (m_CurrentConnector)
                m_CurrentConnector = null;
        }
コード例 #2
0
        /// <summary>
        /// Startet die Wiedergabe einer Aufzeichnungsdatei.
        /// </summary>
        /// <param name="path">Voller Pfad einer VCR.NET Aufzeichnungsdatei.</param>
        /// <param name="name">Name der Teilaufzeichnung.</param>
        /// <param name="recording">Detailinformationen zur aktuellen Aufzeichnung.</param>
        /// <param name="startup">Während des Starts der Anwendung gesetzt.</param>
        private void StartReplay(string path, string name, VCRNETRestProxy.Current recording, bool startup)
        {
            // Shut down
            DestroyConnector(startup);

            // All files
            var files = new List <string>();

            // Try to count number of files
            if (!string.IsNullOrEmpty(path))
            {
                // Add self
                files.Add(path);

                // See if there are more
                if (recording != null)
                {
                    if (recording.files != null)
                    {
                        if (path.ToLower().EndsWith(".ts"))
                        {
                            // Get prefix
                            var prefix = path.Substring(0, path.Length - 3) + " - ";

                            // Search all
                            foreach (var test in recording.files)
                            {
                                if (test.ToLower().EndsWith(".ts"))
                                {
                                    if (string.Compare(test, 0, prefix, 0, prefix.Length, true) == 0)
                                    {
                                        files.Add(test);
                                    }
                                }
                            }
                        }
                    }
                }
            }

            // Restart
            m_CurrentConnector = new FileConnector(this, path, name, files.ToArray());

            // Done on first call
            if (startup)
            {
                return;
            }

            // Reset all
            ChannelListChanged();

            // Reload all
            ShowMessage(RestartAudio(false), Properties.Resources.NameTitle, true);
        }
コード例 #3
0
        /// <summary>
        /// Verbindet sich mit der laufenden Aufzeichnung im VCR.NET Recording Service.
        /// </summary>
        /// <param name="startup">Während des Starts der Anwendung gesetzt.</param>
        /// <param name="startWith">Auszuwählende Aufzeichnung.</param>
        private void StartWatch(string startWith, bool startup)
        {
            // Shut down
            DestroyConnector(startup);

            // Restart
            m_CurrentConnector = new CurrentConnector(this, startWith);

            // Reload all
            if (!startup)
            {
                ChannelListChanged();
            }
        }
コード例 #4
0
        /// <summary>
        /// Aktiviert eine Verbindung zum VCR.NET Recording Service.
        /// </summary>
        /// <param name="startup">Während des Starts der Anwendung gesetzt.</param>
        private void StartLIVE(bool startup)
        {
            // Shut down
            DestroyConnector(startup);

            // Restart
            m_CurrentConnector = new LiveConnector(this);

            // Reload all
            if (!startup)
            {
                ChannelListChanged();
            }
        }
コード例 #5
0
        /// <summary>
        /// Verbindet sich mit der laufenden Aufzeichnung im VCR.NET Recording Service.
        /// </summary>
        /// <param name="startup">Während des Starts der Anwendung gesetzt.</param>
        /// <param name="startWith">Auszuwählende Aufzeichnung.</param>
        private void StartWatch( string startWith, bool startup )
        {
            // Shut down
            DestroyConnector( startup );

            // Restart
            m_CurrentConnector = new CurrentConnector( this, startWith );

            // Reload all
            if (!startup)
                ChannelListChanged();
        }
コード例 #6
0
        /// <summary>
        /// Aktiviert eine Verbindung zum VCR.NET Recording Service.
        /// </summary>
        /// <param name="startup">Während des Starts der Anwendung gesetzt.</param>
        private void StartLIVE( bool startup )
        {
            // Shut down
            DestroyConnector( startup );

            // Restart
            m_CurrentConnector = new LiveConnector( this );

            // Reload all
            if (!startup)
                ChannelListChanged();
        }
コード例 #7
0
        /// <summary>
        /// Startet die Wiedergabe einer Aufzeichnungsdatei.
        /// </summary>
        /// <param name="path">Voller Pfad einer VCR.NET Aufzeichnungsdatei.</param>
        /// <param name="name">Name der Teilaufzeichnung.</param>
        /// <param name="recording">Detailinformationen zur aktuellen Aufzeichnung.</param>
        /// <param name="startup">Während des Starts der Anwendung gesetzt.</param>
        private void StartReplay( string path, string name, VCRNETRestProxy.Current recording, bool startup )
        {
            // Shut down
            DestroyConnector( startup );

            // All files
            var files = new List<string>();

            // Try to count number of files
            if (!string.IsNullOrEmpty( path ))
            {
                // Add self
                files.Add( path );

                // See if there are more
                if (recording != null)
                    if (recording.files != null)
                        if (path.ToLower().EndsWith( ".ts" ))
                        {
                            // Get prefix
                            var prefix = path.Substring( 0, path.Length - 3 ) + " - ";

                            // Search all
                            foreach (var test in recording.files)
                                if (test.ToLower().EndsWith( ".ts" ))
                                    if (string.Compare( test, 0, prefix, 0, prefix.Length, true ) == 0)
                                        files.Add( test );
                        }
            }

            // Restart
            m_CurrentConnector = new FileConnector( this, path, name, files.ToArray() );

            // Done on first call
            if (startup)
                return;

            // Reset all
            ChannelListChanged();

            // Reload all
            ShowMessage( RestartAudio( false ), Properties.Resources.NameTitle, true );
        }
コード例 #8
0
        /// <summary>
        /// Entfernt das aktuelle Zugriffsmodul.
        /// </summary>
        /// <param name="startup">Für den ersten Aufruf gesetzt.</param>
        private void DestroyConnector( bool startup )
        {
            // Stop all
            if (!startup)
                try
                {
                    // Attach to accessor
                    var accessor = Accessor;
                    if (accessor != null)
                    {
                        // Stop sending data
                        accessor.Stop();

                        // Stop graph
                        accessor.StopGraph();
                    }

                    // Restart videotext caching from scratch
                    VideoText.Deactivate( true );
                }
                catch
                {
                    // Ignore any error - maybe we are disposing the instance
                }

            // Forget
            using (m_CurrentConnector)
                m_CurrentConnector = null;
        }