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/