• 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
Limitations on DefaultOutput unit format converter?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Limitations on DefaultOutput unit format converter?


  • Subject: Limitations on DefaultOutput unit format converter?
  • From: Christopher Liscio <email@hidden>
  • Date: Fri, 16 Oct 2009 11:36:59 -0400

I have an AU graph which doesn't want to play any audio in certain cases. I thought I localized the issue to when you're feeding audio sampled above 96kHz into a DefaultOutput unit that is set to a sample rate below 96kHz on its output scope, but some random testing on my part appears to tell a more complex story.

Here are some scenarios, with ASBDs for the Input/Output scopes of the DefaultOutput unit.

Works (Built-In Output):

inasbd 1ch-96000.00hz-32bit-'mcpl' floating-point little-endian packed
outasbd 2ch-44100.00hz-32bit-'mcpl'

Doesn't work (Built-In Output):

inasbd 1ch-176400.00hz-32bit-'mcpl' floating-point little-endian packed
outasbd 2ch-44100.00hz-32bit-'mcpl'

Works (MOTU Traveler):

inasbd 1ch-44100.00hz-32bit-'mcpl' floating-point little-endian packed
outasbd 22ch-44100.00hz-32bit-'mcpl' floating-point little-endian packed

Doesn't work (MOTU Traveler):

inasbd 1ch-192000.00hz-32bit-'mcpl' floating-point little-endian packed
outasbd 22ch-44100.00hz-32bit-'mcpl' floating-point little-endian packed

Works (MOTU Traveler):

inasbd 1ch-192000.00hz-32bit-'mcpl' floating-point little-endian packed
outasbd 8ch-192000.00hz-32bit-'mcpl'

Doesn't Work (MOTU Traveler, odd because sample rates match):

inasbd 1ch-176400.00hz-32bit-'mcpl' floating-point little-endian packed
outasbd 8ch-176400.00hz-32bit-'mcpl'

When I say "Doesn't work", I mean:

* AUGraphStart( mGraph ) returns noErr.
* My render callback that's attached to the varispeed unit (see below) doesn't get called.


The graph looks like this, for the last scenario above (they're all the same, save for the sample rate):

AudioUnitGraph 0xD5C015:
  Member Nodes:
	node 1: 'aufc' 'vari' 'appl', instance 0x810014 O
	node 2: 'auou' 'def ' 'appl', instance 0x810015 O
  Connections:
	node   1 bus   0 => node   2 bus   0  [1 ch, 176400 Hz]
  CurrentState:
	mLastUpdateError=0, eventsToProcess=F, isRunning=F

So are there known limitations to what the DefaultOutput unit will and will not do in terms of a sample rate conversion? Should I instead be placing a format converter unit earlier in the output chain under some condition?

(PS: This is not the same app as the last issue I posted here. I'm trying to tackle two separate issues at once. :P)

Thanks,

Chris Liscio
http://supermegaultragroovy.com
Learn _your_ music with Capo: http://capoapp.com
_______________________________________________
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


  • Follow-Ups:
    • Re: Limitations on DefaultOutput unit format converter?
      • From: William Stewart <email@hidden>
  • Prev by Date: Re: Use of RegisterComponent
  • Next by Date: Re: ExtAudioFileRead Crash
  • Previous by thread: Re: Use of RegisterComponent
  • Next by thread: Re: Limitations on DefaultOutput unit format converter?
  • Index(es):
    • Date
    • Thread