[wdmaudiodev] Re: Update for Capture Problem on WavePCI

  • From: "Martin Garcia" <doraemonx7@xxxxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Wed, 28 May 2003 16:42:43 +0000

Hi, Jeff,

Yes, you are correct. When I took out my code to release the outstanding 
mappings, then after KSSTATE_ACQUIRE, Revoke Mapping is called.

I put in the extra releases at the end of capture stream a while back trying 
to solve this problem and I left them in. So, for that reason I have not 
seen the Revoke Mappings call happen recently.

To be honest, I think the code is better this way without me calling release 
mappings. It seems as if that is the way it is supposed to be.

In in any case, it makes no difference in my situation. Regardless of what I 
do, I still get short files.

I am not sure what to do with the mapping that is partially filled? Should I 
release it? Or will it be revoked?

I am going to get some logging from the application point of view. That is 
my new approach. I will track when the buffers are comming back to me vs. 
waveInGetPosition().

Once again, thank you for your time and ideas.

>From: "Jeff Pages" <jeff@xxxxxxxxxxxxxxxx>
>Reply-To: wdmaudiodev@xxxxxxxxxxxxx
>To: <wdmaudiodev@xxxxxxxxxxxxx>
>Subject: [wdmaudiodev] Re: Update for Capture Problem on WavePCI
>Date: Wed, 28 May 2003 16:40:03 +1000
>
>I've just hooked up the XP debugger, and when a recording ends Windows sets
>the stream state to KSSTATE_ACQUIRE then revokes all of the outstanding
>mappings in multiple calls to RevokeMappings. After that it then sets the
>state to KSSTATE_STOP, so by then there aren't any mappings left to release
>anyway.
>
>Maybe you need to look more carefully at your RevokeMappings handler and
>make sure it is doing the right thing.
>
>Jeff
>
> > Well, KSSTATE_STOP happens, usually my situation is that one of my 
>pending
> > descriptors has data, and a couple more are unused. I thought the 
>PortCls
> > driver would basically revoke them...but, it does not seem to. So, in
>fact,
> > I do call ReleaseMapping for all the descriptors remaining. I have tried
> > several variations of this...releasing, not releasing, releasing only 
>the
> > current descriptor...but, all the options yield the same results.
> >
> > The problem only goes away if I use the IPreFetchOffset funtion under XP
>and
> > without KMixer doing sample rate conversion.
> >
> > Otherwise, here are some examples of what happens:
> >
> > At 8k any recording less than 4 seconds yields no data.
> > 5 seconds yields about 4 seconds of data.
> > 6 seconds yields abour 4 seconds of data.
> > 10 seconds yields about 8 seconds of data
> > 60 seconds yields about 57 seconds of data.
> >
> > I am really out of ideas...I have tried everything I can thiink of.
> >
> > Thank you
> >
> > reflecting on your email, I am not sure if I have tried releasing all 
>the
> > descriptors even the ones that have no data. I have tried waiting a 
>little
> > longer and filling the remain descriptors with data, but then I get too
>much
> > data.
>
>
>******************
>
>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/
>

_________________________________________________________________
Protect your PC - get McAfee.com VirusScan Online  
http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963

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

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: