Decouple SegmentDownloader.Core from System.Windows.Forms and System.Drawing dependencies - more lightweight and less depended packages.
Fix network failure during segments download - override default value of 5 minutes and set stream timeout value to 30 sec.
Set EndedWithError state when reaching max retries.
Add InitialRetryDelay and InitialMaxRetries settings - differentiate first info fetch from downloading phase which gives you error faster in case max retry/delay have high numbers.