• 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: Do not want multiple clients mixing my audio
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Do not want multiple clients mixing my audio


  • Subject: Re: Do not want multiple clients mixing my audio
  • From: Daniel Mack <email@hidden>
  • Date: Fri, 14 May 2010 22:39:31 +0200

On Fri, May 14, 2010 at 08:53:12AM -0500, John Johnson wrote:
> I'm trying to figure out if there's a way to prevent audio streams from mixing data, whether by one client having exclusive access or whatever.

Don't know whether I completely understand what you're aming for, but it
seems you can iterate the connected clients and access their sample
buffers directly. However, I didn't try that yet.

FWIW, I started a little project some time ago which implements a
kernel-space driver and loops back audio to userspace, in full-duplex.
>From there, it is transported to a PulseAudio daemon. This whole thing
is totally unstable and not suited for any real use yet, but I'm
planning to continue work on it. PulseAudio also needs some changes in
the API though.

However, accessing sample buffers provided by individual client drivers
rather then the mixed buffer is one of the things I definitely want to
have, as we can then finally have application-level mixing on Mac OS X,
just like PulseAudio does it on Linux since years.

If you want to have a look at the code, it's publically available here:

  http://github.com/zonque/PulseAudioOSX

In particular, have a look what kext/PAStream.cpp does. It subclasses
IOAudioStream and keeps track of connected users. Again - this is
untested, don't try this at home :)

I would appreciate any feedback. In case your project is also going to
be free software, you could of course also think about integrating your
ideas into my project, make it more versatile etc. The userspace daemon
could be completely replaced by anything else, while keeping the kernel
driver common.

Daniel

 _______________________________________________
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: Do not want multiple clients mixing my audio
      • From: John Johnson <email@hidden>
References: 
 >Do not want multiple clients mixing my audio (From: John Johnson <email@hidden>)

  • Prev by Date: Re: Do not want multiple clients mixing my audio
  • Next by Date: Re: Do not want multiple clients mixing my audio
  • Previous by thread: Re: Do not want multiple clients mixing my audio
  • Next by thread: Re: Do not want multiple clients mixing my audio
  • Index(es):
    • Date
    • Thread