Commit Graph

5 Commits

Author SHA1 Message Date
Timothy Drews 38f70c5aeb Recover from failed segment requests.
* Reject Task Promise if one of its stages fails so that the caller's
  catch handler is invoked.
* Use TypedBind consistently in affected Promise chains.

Closes #131

Change-Id: I94fa6688949444212fa0b1edd3a94e0de4d6956f
2015-07-21 20:05:15 +00:00
Timothy Drews fbea2279b3 Re-work stream switching.
* Allow segments from different streams (Representations) to coexist
  in buffer.
* Only fetch a single segment at a time.
* Remove id field from SegmentReference and remove SegmentRange.
* Only start the Streams once the buffer is "full".
* Stop DashVideoSource from triggering an extra resync during startup.
* Make Task.abort call order deterministic.

A follow-up patch is required to handle certain seek patterns in
live streams.

Issue #51

Change-Id: Ib7c9021471f1ed89323f19764463202b119cb491
2015-06-18 12:54:25 -07:00
Joey Parrish bbf1f21a2d Correct calling of Task.end() cannot be enforced.
Since a task stage is asynchronous, some async part of it may need to
call end().  Because of this, we cannot realistically know if the
caller is part of the stage or not.

Change-Id: I2a31515b9a4c6dd1bf246079fb42effe7a2da622
2015-04-14 14:49:38 -07:00
Joey Parrish 4afdc4cc53 Correct throws annotations for Task.
Change-Id: I1a2f8ab5923ee6f93b0894ba584465d8e4cd5cca
2015-04-13 11:35:41 -07:00
Joey Parrish 3e0a9c93f3 Task abstraction.
This will help clean up SourceBufferManager.

Change-Id: I4e551ce089b4830da4bb2b3f85d123afff3199d5
2015-03-27 22:50:06 +00:00