[Portaudio] Hotplug

Ross Bencina rossb-lists at audiomulch.com
Mon Oct 24 22:15:13 EDT 2011


Hi Robert

On 25/10/2011 10:34 AM, Robert Bielik wrote:
> Hi Ross et al,
>
> I'm currently facing a situation where I'd really need the hotplug
> functionality.
>
> Just to recap the design ideas: The main idea is to be able to have an
> opened PA stream playing whilst reinitializing PA,
> WITHOUT the playing stream being affected, right ?

There are a couple of facets:

- Notification when devices are connected/disconnected
- Safe reinitialization of PA device lists and device info

It's not really reinitializing PA, just reinitializing the device lists 
and device info.

In theory playing streams should not be affected but that's difficult to 
guarantee. Some host APIs (eg ASIO) wouldn't necessarily support 
re-enumeration while a stream is open without a lot of work. It would 
work better with other host APIs.

Right now PA exposes nothing about the relationship between an open 
stream and a device -- and we don't intend to change that. So in effect, 
from the user's point of view, a stream is "detached" from the device 
enumeration process.

 From memory, so far the work has been on designing the API and a 
reliable two-phase commit protocol for handling errors during 
rescanning. Rescanning itself is implemented by individual host API 
implementations. We have that working with DirectSound but I'd have to 
review my notes to work out exactly where things are up to.

Ross.



More information about the Portaudio mailing list