DescriptionStop suspending the pipeline before HaveFutureData while decoding
Previously we could suspend the pipeline before HaveFutureData but
after the media had been completely loaded, relying on the assumption
that we could use the signal of didLoadingProgress() to resume and check
if the new data got us to HaveFutureData. However, if the media is
completely downloaded, there will be no more didLoadingProgress() calls
which meant we could leave the player suspended forever.
Now we check whether loading is stalled (didLoadingProgress() has not
returned true for least 3 seconds) before suspending before
HaveFutureData. If loading is stalled but we haven't reached
HaveFutureData we assume that the pipeline is waiting for more data to
complete preroll.
BUG=655630
TEST=new tests
Committed: https://crrev.com/d026f79cc5949df6bae399f58128b470f8061ad7
Cr-Commit-Position: refs/heads/master@{#430086}
Patch Set 1 #Patch Set 2 : Use loading progress instead of decoding progress #
Total comments: 3
Patch Set 3 : wmpi tests and delegate tests and delegate test refactor #
Total comments: 2
Patch Set 4 : Remove unused variable #
Total comments: 2
Patch Set 5 : comments #Patch Set 6 : fix compiler error from rebase #Messages
Total messages: 49 (29 generated)
|