[wdmaudiodev] Re: disabling a wdm audio driver during playback

  • From: "Martin Gagnon" <martin.gagnon@xxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Mon, 27 Jun 2005 10:44:58 -0400

Thanks for your input Uwe and Harry.

I am aware of the surprise removal event on the USB and IEEE1394 buses for
having delt with that in the past, however the problem seems to lie where
Harry pointed out, e.g. there is no surprise removal event on the PCI bus.

Nonetheless, shouldn't drivers be able to deallocate all ressources
dynamically when a removal request is sent to it? Even though it is actually
playing a stream?

I'm starting to think that if it is not possible, then maybe instead of
diabling/enabling the audio device I could create a "stub" driver that could
insert itself somewhere in the driver stack and trap any request for the
audio device and either keep them in a queue or discard them until the
device is back on. Has anybody done that in the past and could confirm it is
doable?

The problem i am trying to solve is to keep the os (Win2K/XP) alive if ever
my pci audio device loses power (while the system keeps running). I want it
to fail gracefully and then get back on its feet when the power is up,
ideally resuming where it was or simply catch up with whatever application
was running before the failure.

Again, thank you very much for your input, it is quite welcome!

Martin


-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Harry Graham
Sent: Friday, June 24, 2005 11:43 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: disabling a wdm audio driver during playback

Martin,

The case of unplugging a Firwire audio device while playing is actually a
"surprise removal", not a disable.
I think if you attempt to eject the Firware audio device while playing, the
eject operation would fail, because the device is in use.  The eject is
actually a "remove".
The real problem is that there is no way to force a surprise removal (that I
know of) to a device on a non-removalable bus, e.g., PCI.

Harry

-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of uwe kirst
Sent: Friday, June 24, 2005 6:28 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: disabling a wdm audio driver during playback


Hello,
I think disable / enable a device without reboot is the normal case. 
Imagine a Firewire audio device where you unplug the cable. It restarts
playing when you restore the cable connection.
This is a OS feature I think.
Uwe

Martin Gagnon wrote:

> Hi all!
>  
> I have been away from this list since a couple of years now. But 
> circumstances have recently gotten me back into the PC audio world, 
> although not doing specific driver development.
>  
> My question: i want to disable an audio device while a stream is 
> playing back, and then re-enable it sometime afterwards. My testing 
> with 4 different audio cards (based on different audio controllers) 
> indicates that the system needs to be restarted in order to apply the 
> change after i have disabled the audio device (while playing) . Would 
> that be an OS constraint? Or could the driver be made in a way that 
> allows enable/disable (while playing) without triggering a system
reboot?
>  
> Thank you for any insight.
>  
> Regards,
>  
> Martin
>  

******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.de/


******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.de/

Other related posts: