At Mon, 7 Jul 2003 12:39:38 +0200 (CEST), Jaroslav wrote: > > On Sat, 5 Jul 2003, James Courtier-Dutton wrote: > > > Jaroslav Kysela wrote: > > > On Sat, 5 Jul 2003, James Courtier-Dutton wrote: > > > > > > > > >>Hi, > > >> > > >>The current snd-usb-audio driver assumes that the audio device is > > >>attached to this computer, so it only talks to this endpoint. > > >>If I have an audio usb device with USB_CLASS = 0xe0, it will be a > > >>wireless device. I.E. A bluetooth headset. > > >>It uses isoc's just like the current snd-usb-audio driver but adds some > > >>extra requirements, in order to open a connection, one needs to also > > >>know the bd address of the destination device (Like a MAC address for > > >>ethernet) and keep tabs of connection number. > > >>The current bluetooth stack I am using is bluez, from the current 2.4.20 > > >> kernel, and it uses network sockets for the audio. I would prefer to > > >>use alsa for sending and receiving audio to/from the headset, with all > > >>other control of the device going via the bluetooth stack. > > >>So the question is: - > > >>How do I get the bdaddr to alsa so that an application can use > > >>snd_pcm_open with the bluetooth headset, just as if it was a local audio > > >>card. > > > > > > > > > I think that there must be a way to determine new devices with the > > > bluetooth stack, so use the same mechanism as usb or pcmcia: > > > > > > Register all found audio devices and create appropriate new cards in the > > > ALSA driver. The application does not know, if it communicates with usb, > > > bluetooth, PCI or ISA devices so passing some native information for the > > > transport layer is not our goal. > > > > > > Jaroslav > > > > Another approach would be to use some other tool outside alsa to enter > > the bdaddr, and just present a Playback and Capture PCM to alsa lib. > > I was thinking that the "card" would be the bluetooth usb dongle, and > > the pcm's would dynamically appear and disappear as the user attaches > > different bluetooth devices (e.g. headset). > > > > Does alsa allow for PCMs to appear and disappear? > > E.g. Card appears but no pcms listed in /proc/asound/card0 > > User runs a tool (attach-bluetooth-pcm) what sorts out a pairing of > > bluetooth devices and then creates a PCM device in /proc/asound/card0 > > User changes devices, and has to re-run attach-bluetooth-pcm to remove > > the old PCM, and create a new one of the new device. > > OR: - > > Would a new "card" have to be created for each bluetooth headset? > > Is alsa happy with dynamically adding and removing cards ? > > I prefer the allocation of new card for each physical boxes, because it is > common behaviour and the bluetooth devices might have more PCM devices and > / or MIDI devices. It would be difficult to enumerate all devices which > belongs to one physical box. It was one of the major reason, why I > introduced the card/device model rather than device only model used in > OSS. agreed.
in the case of usb audio/midi devices, a card instance is created for each different usb device id (more exactly, the usb_device pointer). this makes clear difference if you connect two different devices with multi-pcm streams. > And, yes, you can add/remove PCM or ALSA cards on the fly (if you handle > locking properly, of course). yep. for example, snd-usb-audio manages the creation/deleteion of card instances on the fly. also, ALSA pcmcia drivers create PCM/mixer devices dynamically after the firmware is loaded by a user-space tool. i see the following scenario: if the hotplug (or whatever a manager) can know the connection state of bluetooth devices, it can invoke a script to notify the connection / disconnection to the ALSA driver. then the driver wil create/delete a corresponding card instance. the question is how to tell the bd addr to the driver. i think the bd addr can be given via hwdep device or via the control API with a certain control. the detailed implemention can be hidden inside the alsa-lib like emu10k1's pcm set-up. Takashi ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01 _______________________________________________ Alsa-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-devel