private static void FileStreamWorkerThread(Stream stream) { var data = new byte[188]; var factory = new TsPacketFactory(); while (stream?.Read(data, 0, 188) > 0) { try { var tsPackets = factory.GetTsPacketsFromData(data); if (tsPackets == null) { break; } _analyser.AnalysePackets(tsPackets); } catch (Exception ex) { LogMessage($@"Unhandled exception within file streamer: {ex.Message}"); } } _pendingExit = true; Thread.Sleep(250); Console.WriteLine("Completed reading of file - hit enter to exit!"); Console.ReadLine(); }