[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}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.