[wdmaudiodev] Re: AV Stream renderer

  • From: "Who Cares" <universalkludge@xxxxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Thu, 13 Oct 2005 17:32:10 +0000

Richard,

This works, thank you a lot ? this issue really drove me crazy

Thanks again
Andrew



From: "Richard Fricks" <Richard.Fricks@xxxxxxxxxxxxx>
Reply-To: wdmaudiodev@xxxxxxxxxxxxx
To: <wdmaudiodev@xxxxxxxxxxxxx>
Subject: [wdmaudiodev] Re: AV Stream renderer
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/



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

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: