[wdmaudiodev] Re: AV Stream renderer

  • From: "Richard Fricks" <Richard.Fricks@xxxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Thu, 13 Oct 2005 09:29:44 -0700

I have seen situations where if a renderer consumes data faster then
kmixer is receiving it from an application kmixer assumes you are
starving and starts sending empty buffers. This manifests itself as a
the "endless loop" you describe. I have seen that problem resolved by
specifying the KSPIN_FLAG_ASYNCHRONOUS_PROCESSING flag. This causes
AVStream to queue the buffer so it gets processed by your minidriver in
a different thread from kmixer. By returning to kmixer before your
buffer is processed, kmixer does not get in the endless loop.

Richard Fricks
Technical Lead, Microsoft DDK

-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Who Cares
Sent: Thursday, October 13, 2005 8:39 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] AV Stream renderer

Hi All,

The situation:

I wrote a virtual filter-centric AV Stream renderer and it works fine in
the 
graphedit - I feed it from the WM ASF reader;  I can see arriving frames
in 
my Process callback- the renderer swallows them by setting BytesUsed = 
BytesAvailable - everything is ok,
But when I access this renderer by the waveOutOpen function and as soon
as I 
submit the only buffer by the waveOutWrite function, my Process callback
is 
called in endless loop, it seems like the same frame is delivered again
and 
again and again...
Any ideas why it happens?
What the difference between these two cases?

TIA
Andrew


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

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.com/

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

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.com/

Other related posts: