[wdmaudiodev] Re: MSVAD: synchronization of MSVAD and WMP with a real soundcard
- From: Bosser Frédéric <frederic_bosser@xxxxxxxx>
- To: wdmaudiodev@xxxxxxxxxxxxx
- Date: Fri, 14 Oct 2005 11:16:21 +0200 (CEST)
hello Richard,
I am agree with you when you say that WMP will send the data based on the clock
time returned by the driver it has opened. And there is no problem when WMP
opens the driver of a REAL soundcard.
And what you have described then sounds exactly like my scenario. The clock
time returned by the driver that WMP has opened is running at a different rate
then the clock that represents actual audio playback.
I join a diagram of my software with this mail.
To be more accurate, WMP is synchronized with a VIRTUAL driver MSVAD. So WMP
will send the data based on the clock time returned by the MSVAD driver. You
must know that, in MSVAD, the REAL interrupt notifications are simulated with a
periodic timer each 10 ms. So WMP is synchronized with this timer.
If you look at the diagram I have joined, you will see that I send then these
sound data in a proprietary software (visioconference). This proprietary
software is synchronized with the real soundcard. And my problem is that my
MSVAD driver and the proprietary software are not synchronized.
So, how can I simulate in a very accurate way (more accurate that the one in
MSVAD sample), in the MSVAD driver, the clock of the real soundcard? As I have
said in my last email, I think WMP does not really send the data each 10ms.
I hope that you understand my explanation. It is a very blocking problem.
Thank you
fred
Richard Fricks <Richard.Fricks@xxxxxxxxxxxxx> a écrit :
WMP will send the data based on the clock time returned by the driver it has
opened. If that clock is running at a different rate then the clock that
represents actual audio playback I could see where you would get the condition
you are describing below. Is what I am describing sound like your scenario?
Richard Fricks
Technical Lead, Microsoft DDK
-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Bosser Frédéric
Sent: Wednesday, October 12, 2005 8:38 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] MSVAD: synchronization of MSVAD and WMP with a real
soundcard
hello,
I am developping a virtual audio driver based on the MSVAD sample. The goal is
to get the sound coming from windows media player (for example...) in the
driver and add it to the speech in a visioconference application. I have
modified the CopyTo function and I have the sound buffers in my application ( I
used shared buffer between kernel and user mode). In my visioconference
application, I put the sound buffer in a FIFO and add the "music" sound buffer
with the speech coming from the visioconference.
My problem is that my driver seems to not be synchronized! If I play a sound
file at the same frequency that the one used by the real soundcard (used by the
visioconference application) my FIFO becomes nearly EMPTY! Then I miss some
"music" sound buffers when I add the speech samples (from visioconference) with
the music samples*.
So my conclusion is that WMP sends the sound data (10 ms. We cannot change this
value, can we?) too slowly. Since MSVAD is virtual, the interrupt notification
are not hardware but software with a timer. Each 10 ms this timer simulates the
real harware interrupt. This timer doesn't seem to be accurate enougth...
So, here are my questions:
- Can I use multimedia timers in the driver? I think they are more accurate.I
would like to use them in my driver in order to tell WMP to send 10ms of sound
date EACH 7ms (for example). Is it possible?
- How can I synchronize WMP with my soundcard? but it is important to know that
the sound coming from WMP passes by my virtual driver , THEN by my
visioconference application, and FINALLY by the soundcard.
Tell me if you want more details.
thank you for your answers.
Fred
Software engineer
---------------------------------
Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger
Téléchargez le ici !
---------------------------------
Appel audio GRATUIT partout dans le monde avec le nouveau Yahoo! Messenger
Téléchargez le ici !
- References:
- [wdmaudiodev] Re: MSVAD: synchronization of MSVAD and WMP with a real soundcard
- From: Richard Fricks
Other related posts:
- » [wdmaudiodev] MSVAD: synchronization of MSVAD and WMP with a real soundcard
- » [wdmaudiodev] Re: MSVAD: synchronization of MSVAD and WMP with a real soundcard
- » [wdmaudiodev] Re: MSVAD: synchronization of MSVAD and WMP with a real soundcard
- » [wdmaudiodev] Re: MSVAD: synchronization of MSVAD and WMP with a real soundcard
- » [wdmaudiodev] Re: MSVAD: synchronization of MSVAD and WMP with a real soundcard
- » [wdmaudiodev] Re: MSVAD: synchronization of MSVAD and WMP with a real soundcard
- » [wdmaudiodev] Re: MSVAD: synchronization of MSVAD and WMP with a real soundcard
- » [wdmaudiodev] Re: MSVAD: synchronization of MSVAD and WMP with a real soundcard
- » [wdmaudiodev] Re: MSVAD: synchronization of MSVAD and WMP with a real soundcard
- » [wdmaudiodev] Re: MSVAD: synchronization of MSVAD and WMP with a real soundcard
- [wdmaudiodev] Re: MSVAD: synchronization of MSVAD and WMP with a real soundcard
- From: Richard Fricks