• 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
Fwd: HALOutputUnit (Pt 1)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Fwd: HALOutputUnit (Pt 1)


  • Subject: Fwd: HALOutputUnit (Pt 1)
  • From: Robert Grant <email@hidden>
  • Date: Wed, 14 Jan 2004 21:09:16 -0500

The last try was too long for the listserv.

Begin forwarded message:

From: Robert Grant <email@hidden>
Date: January 14, 2004 9:04:33 PM EST
To: Brad Ford <email@hidden>
Cc: Doug Wyatt <email@hidden>, CoreAudio API <email@hidden>
Subject: Re: HALOutputUnit (Pt 1)

Ahah!

So here are the steps that I'm now performing:

1) Open a HALOutputUnit that you want to use for input.
2) Disable the Output bus
3) Enable the Input bus
4) Set the CurrentDevice to an input device
5) Check that the input bus is ready to do IO

If the input unit is ready to go:

6) Configure the render callback
7) Initialize the input unit
8) Start the input unit.

In the render callback call AudioUnitRender and store the data in the buffers.

When I try this HasIO is coming back with 1 - yay! But shortly after my computer freezes (except for the mouse) - boo.

Any other steps I'm missing? :-)

BTW Panther is so much faster at coming back from a hard reboot than Jaguar, which is nice, because it's happening a lot ;-)

Thanks,

Robert.


On Jan 14, 2004, at 8:18 PM, Brad Ford wrote:

You must have QT 6.5 in order for this to work. There were some bugs before this update. The order is also important. Don't try to set the CurrentDevice property before you've set up the unit for input. So:

1. EnableIO - enable input with SetProperty
2. EnableIO - disable output with SetProperty
3. CurrentDevice - set the device to the appropriate input device.

-Brad

On Jan 14, 2004, at 4:41 PM, Robert Grant wrote:

Hi Doug,

Well that explains why EnableIO seemed to be happy but HasIO was not. And I was trying to do this on the OutputUnit - somewhere along the line I didn't register the fact that even though USB devices are two separate beasts I still need two separate HALOutputUnits (i have a meme in my head that says "only one output unit per graph!"). I thought you guys were doing some magic to bring them back together behind the scenes...

So I'm now loading the Input device into a second HALOutputUnit, but I'm still unable to get it to think it can do input... It's doing exactly the same as before. EnableIO works and HasIO returns NO.

Does the HALOutputUnit need to be initialized before configuring the inputs?

Thanks,

Robert.


On Jan 14, 2004, at 5:55 PM, Doug Wyatt wrote:

N.B., I am looking at the source that shipped with QT 6.5, which is newer than what shipped with Panther. A couple things related to input changed in the interim...

HasIO and EnableIO are different properties.

HasIO will return 1 or 0 to indicate whether the currently selected device has any input streams (when you are interrogating the input scope's element 1) or any output streams (when you are interrogating the output scope's element 0). (These scope/element pairs are the ones that are associated with the hardware, their opposites reflect the format being communicated to the outside world.)

So if HasIO is returning 0, you may be looking at a USB output device and not a USB input device. Or you may be encountering something that was fixed in QT 6.5.

It looks like enabling input fails to fail if the device doesn't have any input streams (and the same applies to output). It could be considered a bug.

Doug
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.

  • Follow-Ups:
    • Re: HALOutputUnit (Pt 1)
      • From: Jeff Moore <email@hidden>
  • Prev by Date: Beginners Midi Questions
  • Next by Date: Panther Changes
  • Previous by thread: Re: HALOutputUnit (Pt 1)
  • Next by thread: Re: HALOutputUnit (Pt 1)
  • Index(es):
    • Date
    • Thread