Roger, thanks for this patch, but that's not quite what I had in mind. Specifically, I'd like to keep calculating the download speed exactly as now -- based only on current timings.
However, I would like the ETA to be based on the smarter model of predicting overall speed. I'll try to modify your code to only use the exponential decay model for the ETA.