[BreakoutBox] Update queue management in MediaStreamTrackProcessor
This CL updates queue management for MSTP as follows: 1. The main queue management now occurs in the underlying source and not in the stream controller. A frame is enqueued in the controller when pull() is invoked, or a when a new frame becomes available after a previous pull with an empty queue. 2. When the queue is full and more frames arrive (i.e., in a situation of slow consumption), old frames are dropped. Before this CL, incoming frames were dropped when the controller queue desired size exceeded a threshold. 3. The queue size is now configurable from the JS side (via a constructor parameter). This makes it possible to support more use cases than with a fixed queue. The new parameter will also be useful for audio when it becomes available. Fixed: 1157605, 1157604 Change-Id: I0260f7d5fe0495c33cfc022ce534ef04c518e90b Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2587034 Commit-Queue: Guido Urdaneta <guidou@chromium.org> Reviewed-by:Thomas Guilbert <tguilbert@chromium.org> Cr-Commit-Position: refs/heads/master@{#836229}
Showing
Please register or sign in to comment