• 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: Channels and frames (correction)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Channels and frames (correction)


  • Subject: Re: Channels and frames (correction)
  • From: William Stewart <email@hidden>
  • Date: Mon, 7 Nov 2005 10:42:26 -0800

One correction:

On 04/11/2005, at 7:32 PM, William Stewart wrote:

In thinking of how best to summarise this discussion (and answer some of the misconceptions, confusions, etc that were raised), I generally think this is best explained in the docs we already have prepared for this:

/Developer/Examples/CoreAudio/Documentation/AudioUnits/ IOChannelConfigurations.rtf

Please read this document with some attention, as I doubt I can put this in better detail than has been explained there.

Just to try to clarify (I hope!) a couple of points:

Think of the stereo mixer we ship. It has multiple inputs and a single output. Its output is always stereo. Its inputs can be mono or stereo. We express this AU's channel handling capabilities through the following:
{ {1, 2} {2, 2} }


These pair of entries describe the relationship that can exist for *any* input of this mixer, to *any* (in this case one) of its output (s). There is no expression of any constraints here - there is no limitation that some buses would only be mono, or others stereo, etc... but rather any (and every) input bus can be either mono or stereo.

The mono to stereo case was included in Michael's post about this question originally - he stated in that post that he wanted to allow the following configs (and that any other configs would be "strange" - his quotes, not mine):

(A) In0:1 In1:1 Out0:1
(B) In0:1 In1:1 Out0:2
(C) In0:2 In1:2 Out0:2

This would be expressed as:
{ {1, 1} {1, 2} {2, 2} }

To express these three possibilities, you have two possibilities that overlap, that is: { 1, 2 } and { 2, 2 }

Once you publish this, we explicitly state that you must accept any possible configuration and "do your best". So, the two following configurations are also valid:
(D) In0:1 In1:2 Out0:2
(E) In0:2 In1:1 Out0:2


He wanted to express the constraint I believe, that the input channels should all be the same (either mono or stereo) on both buses. As I said previously, this constraint cannot be expressed.

Finally, if you wanted to just deal with mono or stereo, then the situation is much less complex, because you don't have an overlapping case. Thus:
{ {1, 1} {2, 2}}
would result in 2 possible channel configurations for an AU (regardless of how many inputs or outputs it had):
(A) In0:1 In1:1 Out0:1
(C) In0:2 In2:1 Out0:2

Should read: (C) In0:2 In1:2 Out0:2

We've erred on the side of caution as we have found that trying to express constrained capabilities (such as all input buses must have the same number of channels, etc... ) are not easily generalised and quickly become overly complex. We believe the AU developer can achieve the affect they want (a flexible feature for the user) with some good UI or documentation that describes how different features of an AU are used to best advantage.

Bill
_______________________________________________
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

--
mailto:email@hidden
tel: +1 408 974 4056
________________________________________________________________________ __
"Much human ingenuity has gone into finding the ultimate Before.
The current state of knowledge can be summarized thus:
In the beginning, there was nothing, which exploded" - Terry Pratchett
________________________________________________________________________ __


_______________________________________________
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: Channels and frames (correction)
      • From: "john smith" <email@hidden>
References: 
 >Re: Channels and frames (From: "B.J. Buchalter" <email@hidden>)
 >Re: Channels and frames (From: William Stewart <email@hidden>)

  • Prev by Date: Re: Updating a View component about indexed parameter states
  • Next by Date: Re: Updating a View component about indexed parameter states
  • Previous by thread: Re: Channels and frames
  • Next by thread: Re: Channels and frames (correction)
  • Index(es):
    • Date
    • Thread