[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