/// <summary>Constructor</summary>
 /// <param name="encodingJobs">EncodingJobs handle.</param>
 public AFWorkerThreadBase(string threadName, AFServerMainThread mainThread, AFServerConfig serverConfig, EncodingJobs encodingJobs)
 {
     ThreadName   = threadName;
     MainThread   = mainThread;
     Config       = serverConfig;
     EncodingJobs = encodingJobs;
 }
        static void Main(string[] args)
        {
            Console.WriteLine("Server Start");
            AFServerConfig serverConfig = null;

            //Test o = JsonConvert.DeserializeObject<Test>(File.ReadAllText("Y:\\plex-media\\Hereditary.json"));

            //SideDataList s = o.frames[1].side_data_list.Find(x => x.side_data_type == "Mastering display metadata");

            try
            {
                using (var reader = new StreamReader(CONFIG_FILE_LOCATION))
                {
                    string str          = reader.ReadToEnd();
                    var    deserializer = new DeserializerBuilder().WithNamingConvention(PascalCaseNamingConvention.Instance).Build();

                    serverConfig = deserializer.Deserialize <AFServerConfig>(str);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                Environment.Exit(-2);
            }

            AFServerMainThread mainThread = new AFServerMainThread(serverConfig);

            mainThread.Start();

            while (mainThread.IsAlive())
            {
                ;
            }
        }
 /// <summary>Constructor; Creates Server Socket</summary>
 /// <param name="serverConfig">Server Config</param>
 public AFServerMainThread(AFServerConfig serverConfig) : base(1000)
 {
     _config       = serverConfig;
     _serverSocket = new AFServerSocket(this, _config.ServerSettings.IP, _config.ServerSettings.Port);
     _workerThreads.Add(_encodingJobFinderThread = new EncodingJobFinderThread(this, _config, _encodingJobs));
     _workerThreads.Add(new EncodingJobBuilderThread(this, _config, _encodingJobs));
     _workerThreads.Add(new EncodingThread(this, _config, _encodingJobs));
 }
Example #4
0
 public EncodingThread(AFServerMainThread mainThread, AFServerConfig serverConfig, EncodingJobs encodingJobs)
     : base("EncodingThread", mainThread, serverConfig, encodingJobs)
 {
 }
 /// <summary>Constructor</summary>
 /// <param name="mainThread">AFServerMainThread</param>
 /// <param name="serverConfig">AFServerConfig</param>
 /// <param name="encodingJobs">EncodingJobs</param>
 public EncodingJobFinderThread(AFServerMainThread mainThread, AFServerConfig serverConfig, EncodingJobs encodingJobs)
     : base("EncodingJobFinderThread", mainThread, serverConfig, encodingJobs)
 {
     _searchDirectories = Config.Directories.ToDictionary(x => x.Key, x => (SearchDirectory)x.Value.Clone());
 }