When indicators are determinate they indicate how long an operation will take when the percentage complete is detectable.
When indicators are indeterminate they request that the user wait while something finishes when it’s not necessary to indicate how long it will take.
Both linear and circular progress indicators may be either determinate or indeterminate.
A linear progress indicator should always fill from 0% to 100% and never decrease in value. It should be represented by bars on the edge of a header or sheet that appear and disappear.
For multiple operations happening in sequence, use the indicator to represent the progress as a whole, and not each individual operation.
Buffering progress indicator on a video
Circular with integration