[wdmaudiodev] Re: One Audio Driver Problem

  • From: "Sam Tertzakian" <sam@xxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Sat, 29 Jan 2005 07:52:35 -0800

I don't have the code here right now.but, I think it is called
"IAMBufferNegotiation".

In that interface there is a function called something like
"SetAllocatorProperties".

You should search for "AllocatorProperties" or "BufferNegotiation" because I
cannot think of the exact names now.

 

Oh, and an important point is.you must use this interface before the graph
is connected because the function operates during the connection. It does
not work after the graph is connected.

 

I hope that helps.let me know if I can be of more assistance. 

 

Qcap.dll uses WaveAPI, I think. And the other is KxProxy.

  _____  

From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of ???
Sent: Saturday, January 29, 2005 7:39 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: One Audio Driver Problem

 

Dear Sam Tertzakian:

 

>> When you say "serious delay" do you mean that the audio is out of sync
with the video?

Yes, this is my problem.

 

>> One of the filters use KxProxy which uses very small buffers. That is
probably the one that works well.

 

>> The other filter uses the WaveAPI and uses big buffers. 

>> So what happens is that the video starts playing immediately while it
takes a short time for audio buffer to fill up.

You mean that the filter within "Audio Capture Sources" folder which is
based on WaveAPI filter, right?

 

>> If you are capturing audio/video to a file, it should not be a problem as
both streams are time stamped. But if you are previewing audio/video, then
it can be a problem >> to use the WaveAPI filter since the WaveAPI buffers
are so large. And, you cannot time stamp the audio/video preview stream
because then the video renderer will >> cause the video to start and stop.
If you are using GraphEdit to build the graph, there is no solution (that I
know of). But, if you write a program using direct show

>> (basically doing the same thing as GraphEdit), you can use the WaveAPI
filter and you change the buffer size that it uses in the program. 

But, why the preview problem can't be happened for these USB Audio Class
device. 

I can use the filter well (Just using GraphEdit only).

 

>> I have done this before and it works great.but, right now I cannot
remember the exact details. If you need to know, let me know and I will post
the information. From >> what I remember, there is no sample in the DDK that
shows this. But the functions are documented somewhere.I just cannot
remember the com interface name right >> now. I may have posted an answer
similar to this in this forum, but I am not sure.

Dear Sam Tertzakian, Thank you very much. ^______________^

Can you get me more information about the problem?

 

Best Regards,

H.P.

----- Original Message ----- 

From: Sam Tertzakian <mailto:sam@xxxxxxxxxxx>  

To: wdmaudiodev@xxxxxxxxxxxxx 

Sent: Saturday, January 29, 2005 11:16 PM

Subject: [wdmaudiodev] Re: One Audio Driver Problem

 

When you say "serious delay" do you mean that the audio is out of sync with
the video?

 

One of the filters use KxProxy which uses very small buffers. That is
probably the one that works well.

 

The other filter uses the WaveAPI and uses big buffers. So what happens is
that the video starts playing immediately while it takes a short time for
audio buffer to fill up.

 

If you are capturing audio/video to a file, it should not be a problem as
both streams are time stamped. But if you are previewing audio/video, then
it can be a problem to use the WaveAPI filter since the WaveAPI buffers are
so large. And, you cannot time stamp the audio/video preview stream because
then the video renderer will cause the video to start and stop.

 

If you are using GraphEdit to build the graph, there is no solution (that I
know of). But, if you write a program using direct show (basically doing the
same thing as GraphEdit), you can use the WaveAPI filter and you change the
buffer size that it uses in the program. I have done this before and it
works great.but, right now I cannot remember the exact details. If you need
to know, let me know and I will post the information. From what I remember,
there is no sample in the DDK that shows this. But the functions are
documented somewhere.I just cannot remember the com interface name right
now.

 

I may have posted an answer similar to this in this forum, but I am not
sure.


  _____  


From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of ???
Sent: Saturday, January 29, 2005 7:01 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] One Audio Driver Problem

 

Dear All:

 

I am developing an audio driver which is based on Streaming Minidriver
framework.

When I use the filter within "WDM Streaming Capture Devices" category, the
audio stream (44100MHz) is listened well.

However, when I use the filter of "Audio Capture Sources" folder, there is a
serious delay (1 ~ 2 secs) which is happened.

I don't know what's happened in this delay.

The filter within "Audio Capture Sources" folder is a virtual filter, right?

Why can't the MasterClock be offered from DirectShow manager for this
filter?

Can you help me to solve this problem?

 

Best Regards,

H.P.

 

Other related posts: