Exemplo n.º 1
0
        /// <summary>
        /// Erzeugt eine Kommunikationseinheit.
        /// </summary>
        /// <param name="adaptor">Verbindung zur aktuellen Anwendung.</param>
        /// <param name="path">Volller Pfad einer VCR.NET Aufzeichnungsdatei.</param>
        /// <param name="name">Name der Teilaufzeichnung.</param>
        /// <param name="paths">Alle Dateien zur Teilaufzeichnung.</param>
        public FileConnector(VCRAdaptor adaptor, string path, string name, string[] paths)
            : base(adaptor)
        {
            // Remember
            m_Name         = string.IsNullOrEmpty(name) ? Path.GetFileNameWithoutExtension(path) : name;
            m_OriginalName = m_Name;
            m_Paths        = paths;
            m_Path         = path;

            // Load dynamic data
            var interval = ConfigurationManager.AppSettings["RestartInterval"];

            if (!string.IsNullOrEmpty(interval))
            {
                RestartInterval = int.Parse(interval);
            }
            var trigger = ConfigurationManager.AppSettings["RestartTrigger"];

            if (!string.IsNullOrEmpty(trigger))
            {
                RestartTrigger = long.Parse(trigger) * -10000000;
            }
            var ahead = ConfigurationManager.AppSettings["MaximumAheadTime"];

            if (!string.IsNullOrEmpty(ahead))
            {
                MaximumAheadTime = long.Parse(ahead) * 10000000;
            }
            var chunk = ConfigurationManager.AppSettings["ChunkSize"];

            if (!string.IsNullOrEmpty(chunk))
            {
                ChunkSize = int.Parse(chunk);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Erzeugt eine neue Kommunikationsinstanz.
        /// </summary>
        /// <param name="adaptor">Zugehörige Verbindung zur Anwendung.</param>
        public LiveConnector( VCRAdaptor adaptor )
            : base( adaptor )
        {
            // Load REST base address
            m_serverRoot = adaptor.EndPoint + "/zapping/";

            // Be safe
            try
            {
                // Start LIVE mode
                OnProfileChanged();
            }
            catch
            {
                // For now any error is ignored
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Erzeugt eine neue Kommunikationsinstanz.
        /// </summary>
        /// <param name="adaptor">Zugehörige Verbindung zur Anwendung.</param>
        public LiveConnector(VCRAdaptor adaptor)
            : base(adaptor)
        {
            // Load REST base address
            m_serverRoot = adaptor.EndPoint + "/zapping/";

            // Be safe
            try
            {
                // Start LIVE mode
                OnProfileChanged();
            }
            catch
            {
                // For now any error is ignored
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// Erzeugt eine Kommunikationseinheit.
        /// </summary>
        /// <param name="adaptor">Verbindung zur aktuellen Anwendung.</param>
        /// <param name="path">Volller Pfad einer VCR.NET Aufzeichnungsdatei.</param>
        /// <param name="name">Name der Teilaufzeichnung.</param>
        /// <param name="paths">Alle Dateien zur Teilaufzeichnung.</param>
        public FileConnector( VCRAdaptor adaptor, string path, string name, string[] paths )
            : base( adaptor )
        {
            // Remember
            m_Name = string.IsNullOrEmpty( name ) ? Path.GetFileNameWithoutExtension( path ) : name;
            m_OriginalName = m_Name;
            m_Paths = paths;
            m_Path = path;

            // Load dynamic data
            var interval = ConfigurationManager.AppSettings["RestartInterval"];
            if (!string.IsNullOrEmpty( interval ))
                RestartInterval = int.Parse( interval );
            var trigger = ConfigurationManager.AppSettings["RestartTrigger"];
            if (!string.IsNullOrEmpty( trigger ))
                RestartTrigger = long.Parse( trigger ) * -10000000;
            var ahead = ConfigurationManager.AppSettings["MaximumAheadTime"];
            if (!string.IsNullOrEmpty( ahead ))
                MaximumAheadTime = long.Parse( ahead ) * 10000000;
            var chunk = ConfigurationManager.AppSettings["ChunkSize"];
            if (!string.IsNullOrEmpty( chunk ))
                ChunkSize = int.Parse( chunk );
        }
 /// <summary>
 /// Erzeugt eine Kommunikationseinheit.
 /// </summary>
 /// <param name="adaptor">Verbindung zur aktuellen Anwendung.</param>
 /// <param name="startWith">Vorgabe für die Auswahl der ersten Teilaufzeichnung.</param>
 public CurrentConnector(VCRAdaptor adaptor, string startWith)
     : base(adaptor)
 {
     // Remember
     m_StartupStation = startWith;
 }
Exemplo n.º 6
0
        /// <summary>
        /// Aktiviert den Datenstrom leicht zeitverzögert, so dass der Viewer in jedem Fall
        /// angezeigt wird.
        /// </summary>
        /// <param name="sender">Wird ignoriert.</param>
        /// <param name="e">Wird ignoriert.</param>
        private void tickStart_Tick( object sender, EventArgs e )
        {
            // Once only
            tickStart.Enabled = false;

            // Remember
            string oldText = Text, newText = oldText + Properties.Resources.Connecting;

            // Show progress
            Text = newText;

            // Make sure that text is shown
            Application.DoEvents();

            // The adaptor to use
            Adaptor adaptor;

            // Check mode
            switch (m_Mode)
            {
                case StartupModes.LocalDVB: adaptor = new DeviceAdpator( Profile, theViewer ); break;
                case StartupModes.RemoteVCR: adaptor = new VCRAdaptor( theViewer ); break;
                case StartupModes.ConnectTCP: adaptor = new SlaveAdaptor( theViewer, m_Arguments[0] ); break;
                case StartupModes.PlayLocalFile: adaptor = new FileAdaptor( theViewer, m_Arguments[0] ); break;
                case StartupModes.PlayRemoteFile: m_FixedServer = m_Arguments[1]; adaptor = new VCRAdaptor( theViewer, m_Arguments[0] ); break;
                case StartupModes.WatchOrTimeshift: adaptor = CreateWatch( m_Arguments[0].Split( '/' ) ); break;
                default: throw new ArgumentException( m_Mode.ToString(), "m_Mode" );
            }

            // Startup control
            theViewer.Initialize( adaptor );

            // Create configuration list
            ResetOptions();

            // Reset title
            if (Equals( Text, newText ))
                Text = oldText;

            // Up and running
            m_Starting = false;
        }
Exemplo n.º 7
0
 /// <summary>
 /// Initialisiert die Instanz.
 /// </summary>
 /// <param name="adaptor">Verbindung zur aktuellen Anwendung.</param>
 protected VCRConnector( VCRAdaptor adaptor )
 {
     // Remember
     Adaptor = adaptor;
 }
Exemplo n.º 8
0
 /// <summary>
 /// Initialisiert die Instanz.
 /// </summary>
 /// <param name="adaptor">Verbindung zur aktuellen Anwendung.</param>
 protected VCRConnector(VCRAdaptor adaptor)
 {
     // Remember
     Adaptor = adaptor;
 }
Exemplo n.º 9
0
 /// <summary>
 /// Erzeugt eine Kommunikationseinheit.
 /// </summary>
 /// <param name="adaptor">Verbindung zur aktuellen Anwendung.</param>
 /// <param name="startWith">Vorgabe für die Auswahl der ersten Teilaufzeichnung.</param>
 public CurrentConnector( VCRAdaptor adaptor, string startWith )
     : base( adaptor )
 {
     // Remember
     m_StartupStation = startWith;
 }