• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: fixed buffer sizes?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: fixed buffer sizes?


  • Subject: Re: fixed buffer sizes?
  • From: William Stewart <email@hidden>
  • Date: Tue, 16 Feb 2010 18:03:47 -0800


On Feb 16, 2010, at 8:40 AM, Paul Davis wrote:

We (ardour/mixbus development team) have been grappling with an issue
with a family of plugins that for now I'm going to leave
unnamed. Using google, its clear that several other AU hosts,
including Reaper, Fruity Loops and Digital Performer have all had
issues with these plugins over the years. At one point, even Logic had
some issues with them as well.

Distilling what we've observed down to its essence, our question is
this: should a host be able to call AudioUnitRender() with any number
of frames as long it is below the last-set maximum-frames-per-slice value?

yes


Or is there some unstated model that has allowed some plugin developers to have an expectation that the host will use the same frame cnt for every render call for every plugin, until the next time maximum-frames-per-slice is set?

no, though I am sure that some have assumed this


It is very clear that other host developers have grappled with these issues (just read various Reaper release notes and search for "fixed size buffers"; or look on various DP or FL forums from a couple of years ago), we are wondering if:

1) the expected behaviour of the host is to always run the entire "graph"
(not necessarily an AUGraph) with a fixed buffer size (in between
any resets, naturally) ?

no


2) if not, is there any interest in extending auval to detect some specific cases that we've found where plugins break (badly) when the buffer size (ie. the frame count passed to AudioUnitRender)

this is actually already a test in auval:

RENDER TESTS:
Input Format: AudioStreamBasicDescription: 2 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
Output Format: AudioStreamBasicDescription: 2 ch, 44100 Hz, 'lpcm' (0x00000029) 32-bit little-endian float, deinterleaved
Render Test at 512 frames
Slicing Render Test at 64 frames
PASS



  is varied (but remains below the maximum-frames-per-slice property)?
 The behaviour we've seen will never be revealed by testing single
 plugin, even with multiple instances of the plugin. This makes the
 use of auval to detect the problem rather difficult ...

well, so I'm not sure what else to do

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden

_______________________________________________ Do not post admin requests to the list. They will be ignored. Coreaudio-api mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
References: 
 >fixed buffer sizes? (From: Paul Davis <email@hidden>)

  • Prev by Date: Re: Media Player and RemoteIO at the same time?
  • Next by Date: Input HAL device connection to audio Converter
  • Previous by thread: Re: fixed buffer sizes?
  • Next by thread: Media Player and RemoteIO at the same time?
  • Index(es):
    • Date
    • Thread