haiku/headers
Dario Casalinuovo 7771139cdf BMediaEventLooper: Rewrite ControlLoop()
* The first problem was the O(n^2) complexity of the algorithm, it's
  now linear and try to act in a circular way by dispatching
  events and reading the port in a balanced way. This exclude
  a certain degree of possible deadlocks.
* Add detection and escape when the system try to kill the
  thread. This solve some blocking issues on exit et similia
  that i had with libjackcompat.
* The algorithm choose soon which event to focus on.
* Lateness is calculated just before the event is dispatched
  as it is the more appropriate place, otherwise we would be
  calculating something imprecise/guessed.
* Remove timed_event_queue::queued_time. It's more precise to
  just use the RealTime() before to Dispatch the event.
* It should solve the BSoundPlayer lateness problems.
* With those improvements the media_kit is not going to lock
  completely under stress conditions, instead it try to work
  in a best effort shape.
* There's still room for improvements, for example i'm considering some
  strategies in lateness situations such as update scheduling latency,
  try to decrease waiting time and detect when we are too early on
  the other hand to recover when the load go down.
* Thanks to Julian Harnath for sharing his WIP patch which helped
  with some controls such as avoiding negative lateness.
* Comments are welcome!
2015-08-03 01:35:09 +02:00
..
build headers/os: Add gcc 5 to BeBuild.h 2015-06-24 23:06:23 -05:00
compatibility build: Convert to external libedit build package 2015-07-04 15:29:05 -05:00
config ARM: Be aware of ARMEL and ARMEL 2014-01-01 23:41:02 -07:00
cpp Add a <limits> header for gcc2. 2014-11-27 12:14:39 +01:00
glibc Make public glibc header printf.h usable. 2013-07-17 18:07:56 +02:00
libs Force use of std::isnan() in agg_conv_curve.h. 2015-07-25 23:42:14 +02:00
os BMediaEventLooper: Rewrite ControlLoop() 2015-08-03 01:35:09 +02:00
posix Added execvpe(). 2015-07-23 13:30:30 +02:00
private Clean up various whitespace and fix one header guard. 2015-08-02 23:19:07 +02:00
tools Remove preprocessor checks from TestShell.h 2014-07-29 23:05:52 +02:00