[haiku-bugs] Re: [Haiku] #7285: BSoundPlayer sends buffers late, with ever-increasing latency

  • From: "Pete" <trac@xxxxxxxxxxxx>
  • Date: Mon, 14 Nov 2011 03:48:57 -0000

#7285: BSoundPlayer sends buffers late, with ever-increasing latency
------------------------------+------------------------
   Reporter:  Pete            |      Owner:  pulkomandy
       Type:  bug             |     Status:  assigned
   Priority:  normal          |  Milestone:  R1
  Component:  Kits/Media Kit  |    Version:  R1/alpha2
 Resolution:                  |   Keywords:
 Blocked By:  8007            |   Blocking:
Has a Patch:  1               |   Platform:  All
------------------------------+------------------------

Comment (by Pete):

 Replying to [comment:37 pulkomandy]:
 > Ok, tried running the patch under some stress tests...

 I can't really reproduce what you're seeing.

 With MediaPlayer, however hard I work the system, I can't get it to
 glitch, with or without the patch!  Without the patch I can push the
 latency up to 163ms (which ISRT is a system-set limit) but I guess it has
 allocated enough buffer space to handle this (dunno how many buffers it
 allocates, but they're 40ms each).  With the patch, I haven't managed to
 push the latency beyond ~30ms...

 MediaPlayer is not quite typical, I think, because it doesn't use
 SoundPLayNode, and may have done some tricks of its own  (haven't looked
 yet).  Try something like MidiPlayer instead, which on my system goes mad
 almost immediately with an unpatched libmedia, but survives with the patch
 most of the time.  Once it fails, though, it won't recover until it's quit
 and restarted.
 > We need to have a closer look at things, but, if you want to keep short
 latency and have the sound skip to catch up on system delays, instead of
 increasing the latency until they aren't visible anymore, increase latency
 mode is not for you.
 You say that you heard the sound "catching up" with the patch, but I've
 never encountered this.  As I say, once the sound gets garbled, you have
 to restart the app.

 The problem with increase-latency mode is that unless you allocate a
 ''lot'' of extra buffers, it may increase (especially when unpatched!)
 beyond the available capacity.  That's the trouble with the "ever-
 increasing latency that was the original topic!  A limit ''is'' set
 somewhere in the chain (about 1/5 sec?), but most apps have too little
 buffer space to reach this.

 You're right that with the current blackout problems, short latency and
 increase-latency mode are not compatible.  (For my live MIDI stuff, I'm
 using B_RECORDING where I can,but that's not always possible to set -- for
 SqueekySynth for instance.) However, as MidiPlayer shows, the problem is
 wider.

 Glad you've taken ownership.  This needs a solution.

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/7285#comment:39>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: