haiku/headers/os/media
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
..
Buffer.h Sorry for this large commit in advance; it's not really possible to divide this 2009-12-05 11:11:28 +00:00
BufferConsumer.h Sorry for this large commit in advance; it's not really possible to divide this 2009-12-05 11:11:28 +00:00
BufferGroup.h Sorry for this large commit in advance; it's not really possible to divide this 2009-12-05 11:11:28 +00:00
BufferProducer.h * A BBuffer does not know where it came from, so 2010-04-12 13:15:46 +00:00
Controllable.h Rewrote headers. 2009-08-27 13:49:18 +00:00
FileInterface.h Revert "Rename header params to match BeBook. No implementation." 2012-12-24 17:03:46 -05:00
MediaAddOn.h Rewrote headers. 2009-08-27 13:49:18 +00:00
MediaDecoder.h Moved creating and destroying of Reader and Decoder plugins into the PluginManager class. 2007-06-02 20:00:48 +00:00
MediaDefs.h Add new version of launch_media_server 2015-07-29 18:03:32 +02:00
MediaEncoder.h * Rewrote last of the MediaKit headers. 2009-08-28 15:06:12 +00:00
MediaEventLooper.h Rewrote header. 2009-08-28 12:58:59 +00:00
MediaFile.h Implemented an API to get arbitrary meta-data about 2010-09-17 08:04:26 +00:00
MediaFiles.h Beware! The following commit will crash your system when open "Sounds"; I'll 2009-12-08 14:22:56 +00:00
MediaFormats.h * This header couldn't actually be used from C code, since C doesn't support 2009-07-30 22:10:11 +00:00
MediaNode.h 64 bit fixes for libmedia.so, ActivityMonitor, and Sudoku. 2012-11-30 13:16:38 +01:00
MediaRoster.h Add BMediaRoster::IsRunning 2015-07-24 12:19:31 +02:00
MediaTheme.h * Rewrote BeBuild.h which had "a few" consequences (got rid of all those class 2007-10-15 20:13:55 +00:00
MediaTrack.h MediaTrack: Style fixes 2013-08-31 15:40:18 -04:00
ParameterWeb.h * Fixed bug I introduced when deleting parameters (no more crashing). 2009-04-09 09:39:58 +00:00
PlaySound.h Rewrote more headers, style updates in some 2009-08-28 14:39:55 +00:00
RealtimeAlloc.h * Replaced rtm_* placeholders with a real implementation based on the boot 2009-12-01 17:21:46 +00:00
Sound.h Rewrote more headers, style updates in some 2009-08-28 14:39:55 +00:00
SoundFile.h Rewrote more headers, style updates in some 2009-08-28 14:39:55 +00:00
SoundPlayer.h * Reverted part of r34474 that broke binary compatibility. 2010-04-13 13:01:56 +00:00
TimeCode.h Rewrote header, updated source. 2009-08-28 14:50:09 +00:00
TimedEventQueue.h BMediaEventLooper: Rewrite ControlLoop() 2015-08-03 01:35:09 +02:00
TimeSource.h Remove remaining unnecessary 'volatile' qualifiers 2013-11-06 00:03:07 +01:00