problem with installing avssamp to audio capture sources category

device driver

    Sponsored Links

    Next

  • 1. Interrupt issues
    What guarantees that the FIFO is half empty every 400 ms? This can happen when a DPC is called, but the expectation is one ISR, one invocation of a DPC. It doesn't work that way. Every ISR may request a DPC be inserted on the device queue, but if one is already there, then the current request is not honored. If the ISR/DPC interface does not provide for multiple interrupts to occur before or during DPC processing, interrupts "get lost". -- Gary G. Little Seagate Technologies, LLC XXXX@XXXXX.COM "Thorsten Jens" < XXXX@XXXXX.COM > wrote in message news: XXXX@XXXXX.COM ... > Hi! > > What could be the reasons for calling ISRs too late? I've got a device > here which I programmed so that it interrupts once each 400 > milliseconds (at the point where its FIFO is half empty and needs to > be refilled). But sometimes the ISR is called much too late, when the > FIFO is already empty (so more than 400ms too late, sometimes even up > to ~4s too late, verified by looking at the device's output on an > oscilloscope). > > Any ideas? I really don't know what's going on here. > Thorsten
  • 2. resource allocation for a ISA card
    I wrote a WDM driver for a ISA card. The driver works fine, but I have problems to publish the resources to the system. My aim is that the resouces are visible within the device manager! When I receive a filter request (IRP_MN_FILTER_RESOURCE_REQUIREMENTS) the FilterResourceRequirements substructure points to no valid pointer, I can work on (e.g. alter the list of resources). Perhaps I made a mistake within my INF-file. Does anyone knows a simple example (source code)? thanks in advance Ralf
  • 3. Question about timers and timeouts
    Hi, I red some mails in this group and some other articles about timers in NT. The smallest period distinguishable by NT system for KeSetTimerEx is 10miliseconds - depending on motherboard clocks. (If I am not mistaken) I have two questions: 1. Consider KeSetTimer function (not KeSetTimerEx to avoid confusing) Second parameter is DueTime - timeout in 100 of nanoseconds. What is the smallest (but really setable) timeout ? Which clocks (or mechanism) NT uses for counting so smalest timeouts ? 2. When I need timer with smaller period than 10 miliseconds, can not be used repeatedly called KeSetTimer with timeout smaller than 10 miliseconds this way: KeInitializeTimer(..... //initialization KeInitializeDPC(..... //init DPC KeSetTimer(.... DPCRoutine) //first setting of timeout smaller than 10 miliseconds DPCRoutine { Some actions... KeSetTimer(.... //setting of timeout smallest than 10 miliseconds again } ??? Thanks ! Peter
  • 4. Floppy & LS120
    Hi, If I have both Floppy & LS120 connected to my system, both gets the drive letter A assigned. What should I do to get a different drive letter for my LS120 drive? Thanks & Regards, Priya

problem with installing avssamp to audio capture sources category

Postby VHVsdXA » Thu, 05 May 2005 16:44:08 GMT

Hi all!

DDK Build 3790.
is it possible to do this ? this sample has a dynamically created audio pin. 
Why i can't register it in audio sources Dshow Category? what i need to 
modify (filter.cpp) or *.inf  file ?

Re: problem with installing avssamp to audio capture sources category

Postby Max Paklin » Fri, 06 May 2005 14:56:37 GMT

You will have to modify the category both in the source code and in the INF.

-- Max.










Re: problem with installing avssamp to audio capture sources category

Postby Tulup » Fri, 06 May 2005 16:46:47 GMT

Hi, Max.
Thank you for reply about uninstallation avstream class drivers. It is 
worked well now.
About audio category and avssamp example. Of course, i try it first. It 
doesn't help. I tried it on the DDK 2600.1106 example and on DDK 3970 too.

filter.cpp major parts of code:
const
GUID
KsCategories[] =
{
    STATICGUIDOF( KSCATEGORY_AUDIO ),
    STATICGUIDOF( KSCATEGORY_VIDEO ),
    STATICGUIDOF( KSCATEGORY_CAPTURE )
};

inf file modification:
[avssamp.RunOnce.AddReg]
HKLM,%RunOnce%,"avssamp.Reader.Capture",,"rundll32.exe 
streamci,StreamingDeviceSetup 
%avssamp.DeviceId%,%KSNAME_Filter%,%KSCATEGORY_CAPTURE%,%17%\avssamp.inf,avssamp.Reader.Install"
HKLM,%RunOnce%,"avssamp.Reader.Video",,"rundll32.exe 
streamci,StreamingDeviceSetup 
%avssamp.DeviceId%,%KSNAME_Filter%,%KSCATEGORY_VIDEO%,%17%\avssamp.inf,avssamp.Reader.Install"
HKLM,%RunOnce%,"avssamp.Reader.Audio",,"rundll32.exe 
streamci,StreamingDeviceSetup 
%avssamp.DeviceId%,%KSNAME_Filter%,%KSCATEGORY_AUDIO%,%17%\avssamp.inf,avssamp.Reader.Install"

...

[avssamp.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Wave%,avssamp.Reader.Install
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_Wave%,avssamp.Reader.Install
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_Wave%,avssamp.Reader.Install
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Topology%,avssamp.Reader.Install

[avssamp.NT.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Wave%,avssamp.Reader.Install
AddInterface=%KSCATEGORY_RENDER%,%KSNAME_Wave%,avssamp.Reader.Install
AddInterface=%KSCATEGORY_CAPTURE%,%KSNAME_Wave%,avssamp.Reader.Install
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Topology%,avssamp.Reader.Install

...
[Strings]
; non-localizeable
RunOnce="SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce"
Proxy.CLSID="{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
avssamp.DeviceId="{fecf1508-78f0-4853-8445-871eb7e7b21e}"
KSNAME_Filter="{9B365890-165F-11D0-A195-0020AFD156E4}"
KSCATEGORY_VIDEO="{6994AD05-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_AUDIO="{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_RENDER="{65E8773E-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_CAPTURE="{65E8773D-8F56-11D0-A3B9-00A0C9223196}"
AudioCapturePinGUID="{BA1184B9-1FE6-488a-AE78-6E997B02CAEA}"
AudioCapturePinName="Audio Capture"
KSNAME_Wave="Wave"
KSNAME_Topology="Topology"


Install successfull.
I open graphedit, there is "avssamp device" in category WDM Streaming 
Capture Devices and Video Capture Sources. But Audio Capture Sources doesn't 
contain my driver :((
Now, i don't know what to do. Heared about sysaudio debug logging or 
similar, can somebody tell where to find a problem?











Re: problem with installing avssamp to audio capture sources category

Postby Max Paklin » Fri, 06 May 2005 17:32:02 GMT

WENUM doesn't support multiple interfaces per device. What this means is
that only one filter belonging to a single category can be exposed per
SWENUM device.

Leave KSCATEGORY_AUDIO only in KsCategories array in the code and in
avssamp.RunOnce.AddReg section. That should work fine.

-- Max.



"Tulup" < XXXX@XXXXX.COM > wrote in message
news: XXXX@XXXXX.COM ...



Re: problem with installing avssamp to audio capture sources category

Postby Tulup » Fri, 06 May 2005 18:22:21 GMT

mm. it is strange, but i successfully installed this sample under two
categories (CAPTURE & VIDEO)...
anyway modifications of

filter.cpp

const
GUID
KsCategories[] =
{
STATICGUIDOF( KSCATEGORY_AUDIO )
};

&

inf file
[avssamp.RunOnce.AddReg]
HKLM,%RunOnce%,"avssamp.Reader.Audio",,"rundll32.exe
streamci,StreamingDeviceSetup
%avssamp.DeviceId%,%KSNAME_Filter%,%KSCATEGORY_AUDIO%,%17%\avssamp.inf,avssamp.Reader.Install"

recompiled & reinstalled (both examples, 3970 & 2600.1106) - no results. now
my filter doesn't appear in any dshow category.
can i use root enumeration for installation of this device, like testcap
example do this ? because i want to make 1 driver binary that instantiates 2
filter in audio & video categories simultaneously. i'll try it but first i
need to be sure that avstream drivers can appear in audio capture category
at all !


"Max Paklin" < XXXX@XXXXX.COM > wrote in message
news: XXXX@XXXXX.COM ...



Re: problem with installing avssamp to audio capture sources category

Postby Tulup » Fri, 06 May 2005 21:17:28 GMT

was very surprised when i saw that DDK ks studio show up my driver under
KSCATEGORY_AUDIO but graphedit don't.
what difference between CLSID_AudioInputDeviceCategory in dshow and
KSCATEGORY_AUDIO in ks?

"Max Paklin" < XXXX@XXXXX.COM > wrote in message
news: XXXX@XXXXX.COM ...




Re: problem with installing avssamp to audio capture sources category

Postby Max Paklin » Tue, 10 May 2005 14:19:14 GMT

hat's strange to me as well. I don't remember all the quirks of SWENUM, but
IIRC you can have one filter in a single category per SWENUM device. Note
that you specify the category you want your filter to appear as a parameter
to streamci::StreamingDeviceSetup. You can not call this multiple times per
a single device object.
The fact that it works for KSCATEGORY_VIDEO is a mystery to me.

Anyways, to address your problem with KSCATEGORY_AUDIO. I am speculating
here, but I think the problem is somewhat funny. On my machine
KSCATEGORY_AUDIO is not registered by KS. It is totally surprising to me to
see multiple devices registering their interfaces under that category, but
it is missing on my machine. You could be having the same problem.
To fix it add the following to your INF

[avshws.Installation]
CopyFiles=avshws.inf.CopyFiles
AddReg=avshws.RunOnce.AddReg, CategoryRegistration

[CategoryRegistration]
HKCR,%ActiveMovieCategories%\%KSCATEGORY_AUDIO%,CLSID,,%KSCATEGORY_AUDIO%
HKCR,%ActiveMovieCategories%\%KSCATEGORY_AUDIO%,FriendlyName,,%Category_Audio%

where
ActiveMovieCategories="CLSID\{da4e3da0-d07d-11d0-bd50-00a0c911ce86}\Instance"

I just added that on my system and to my amu{*filter*}t saw modified AVStream
sample (used KSCATEGORY_AUDIO instead of KSCATEGORY_CAPTURE) filter popup
under that category along with dozen of other filters.

-- Max.



"Tulup" < XXXX@XXXXX.COM > wrote in message
news: XXXX@XXXXX.COM ...



Re: problem with installing avssamp to audio capture sources category

Postby Max Paklin » Tue, 10 May 2005 14:21:40 GMT

here is no difference between categories in KS and DShow. They are used
directly with no mapping or translation of any kind.
You see your filter under KSCATEGORY_AUDIO in ksstudio and sure enough it
doesn't show up under CLSID_AudioInputDeviceCategory because those are two
completely different categories.

CLSID_AudioInputDeviceCategory is where all WaveIn devices end up.

-- Max.



"Tulup" < XXXX@XXXXX.COM > wrote in message
news: XXXX@XXXXX.COM ...



Re: problem with installing avssamp to audio capture sources category

Postby Tulup » Wed, 11 May 2005 21:16:08 GMT

try workaround that you post, really funny :) But it was not that i
wanted.
by the way, i sucessfully install & uninstall my driver under 3 categories
simultaneously (AUDIO, VIDEO, CAPTURE) using SWENUM.

I want make kernel mode driver (AVStream minidriver), that appears in both
dshow categories:
CLSID_VideoInputDeviceCategory
CLSID_AudioInputDeviceCategory
This driver has no physic device attached, it it sowtware emulated driver
that appear as real device to application such as AMCap.

i study some posts from very begining and have done following modifications:
KSNODE_DESCRIPTOR
KsNodeDescriptors[] =
{
DEFINE_NODE_DESCRIPTOR( NULL, &VolumeNodeType, NULL ),
DEFINE_NODE_DESCRIPTOR( NULL, &VolumeNodeType, NULL )



};


const
KSTOPOLOGY_CONNECTION
KsConnections[] =
{
{ KSFILTER_NODE, 1, 0, 1 },
{ 0, 0, KSFILTER_NODE, 0 },
{ KSFILTER_NODE, 2, 1,1},
{1,0,KSFILTER_NODE, 3}


};
as Richars Fricks wrotes. this doesn't solve my problem yet.
He was used debug build of sysaudio to debug the problem, i can't do this,
it is difficult for me (install debug build on the second machine and use
windbg...). can anybody help with topology connections ? i feel that i do
not understand nothing at all :)

"Max Paklin" < XXXX@XXXXX.COM > wrote in message
news: XXXX@XXXXX.COM ...



Re: problem with installing avssamp to audio capture sources category

Postby Max Paklin » Thu, 12 May 2005 02:29:22 GMT

K, I think I remember what my problem was. I was trying to create
_different_ filters belonging to different categories for the same PDO. And
that didn't work. I can be mistaken, but it seems to me that I got a
confirmation from MS that it was by design.

What you are doing is you use the same filter descriptor and put it under
different categories. That appears to work fine.

As for putting filter under CLSID_AudioInputDeviceCategory you can do it
with no problem at all. Just generate KS-style of GUID that corresponds to
CLSID_AudioInputDeviceCategory and use it.

I don't know anything about things specific to audio drivers, but topology
connections structure that you have below looks wrong.

-- Max.



"Tulup" < XXXX@XXXXX.COM > wrote in message
news:% XXXX@XXXXX.COM ...



Re: problem with installing avssamp to audio capture sources category

Postby Tulup » Thu, 12 May 2005 15:15:44 GMT

here is no KS category with GUID of CLSID_AudioInputDeviceCategory.
SysAudio monitors KSCATEGORY_AUDIO Device Interface Class Registration and
register new device under KSCATEGORY_AUDIO_DEVICE (virtual sysaudio
devices), so i sure that it is impossible to register device in following
way you wrote.
if i have any experience with KS audio, i didn't ask too...
I wrote a letter to Richard Fricks (MS DDK Developer Support), but there is
no probability that he answer.

"Max Paklin" < XXXX@XXXXX.COM > wrote in message
news:% XXXX@XXXXX.COM ...



Re: problem with installing avssamp to audio capture sources category

Postby tulupchik » Fri, 13 May 2005 20:24:41 GMT

test test test


Re: problem with installing avssamp to audio capture sources category

Postby Tulup » Fri, 13 May 2005 20:29:31 GMT

It seems to me that this task is impossible to complete. There is no way to
register AVStream class minidriver under Audio Capture Source category, i
should use only PortCls adapter driver.
Install GFX audio sample (AVStream), and this sample doen't appears in
audio sources category too.








Re: problem with installing avssamp to audio capture sources category

Postby Max Paklin » Tue, 17 May 2005 06:12:59 GMT

ou can add filter to any category you want. The fact that
CLSID_AudioInputDeviceCategory is not "KS" category (i.e. not defined in KS
headers) doesn't mean anything.
Out of curiosity I just tried defining CLSID_AudioInputDeviceCategory KS
category and registering sample AVSTream driver under it. Works fine as
expected.

The fact that maybe it doesn't satisfy SysAudio is a different story. That I
don't know.

So if ultimately what you want is to keep SysAudio happy then you probably
right, e.g. what I mentioned is not enough. If however all you want is to
add a filter under non-KS category then it works just fine.

-- Max.



"Tulup" < XXXX@XXXXX.COM > wrote in message
news: XXXX@XXXXX.COM ...



Similar Threads:

1.avstream driver registering in Audio Capture Sources category?

I want  AVStream driver to be registered in the  Audio Capture   Sources 
category. I made changes in .inf file and added one more catagory
  KSCATAGORY_AUDIO/RENDER. But still it does not work. Is there something 
more  that I need to mention ??
           I have done any changes in KSFILTER_DESCRIPTOR but I have added 
one more GUID in CaptureFilterCatagories array like,



const
GUID
CaptureFilterCategories [CAPTURE_FILTER_CATEGORIES_COUNT] = {
    STATICGUIDOF (KSCATEGORY_VIDEO),
    STATICGUIDOF (KSCATEGORY_AUDIO),
    STATICGUIDOF (KSCATEGORY_RENDER),
    STATICGUIDOF (KSCATEGORY_CAPTURE)
};

and it is added in KSFILTER_DESCRIPTOR  in this way ,
const
KSFILTER_DESCRIPTOR
CaptureFilterDescriptor = {
    &CaptureFilterDispatch,
    NULL,                          
    KSFILTER_DESCRIPTOR_VERSION,
    KSFILTER_FLAG_DISPATCH_LEVEL_PROCESSING,
    &KSNAME_Filter,
    DEFINE_KSFILTER_PIN_DESCRIPTORS (CaptureFilterPinDescriptors),

    DEFINE_KSFILTER_CATEGORIES 
(CaptureFilterCategories),//*******************************

    DEFINE_KSFILTER_NODE_DESCRIPTORS_NULL,
    DEFINE_KSFILTER_DEFAULT_CONNECTIONS,

    NULL                  
};

I have also modified inf file, but that too does not work. My inf file looks 
like this
[avssamp.RunOnce.AddReg]
HKLM,%RunOnce%,"avssamp.Reader.Capture",,"rundll32.exe
streamci,StreamingDeviceSetup
%avssamp.DeviceId%,%KSNAME_Filter%,%KSCATEGORY_CAPTURE%,%17%\avssamp.inf,avssamp.Reader.Install"
HKLM,%RunOnce%,"avssamp.Reader.Video",,"rundll32.exe
streamci,StreamingDeviceSetup
%avssamp.DeviceId%,%KSNAME_Filter%,%KSCATEGORY_VIDEO%,%17%\avssamp.inf,avssamp.Reader.Install"
HKLM,%RunOnce%,"avssamp.Reader.Audio",,"rundll32.exe
streamci,StreamingDeviceSetup
%avssamp.DeviceId%,%KSNAME_Filter%,%KSCATEGORY_AUDIO%,%17%\avssamp.inf,avssamp.Reader.Install"

[Strings]
KSCATEGORY_AUDIO="{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_RENDER="{65E8773E-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_CAPTURE="{65E8773D-8F56-11D0-A3B9-00A0C9223196}"

Is it the correct way to do it  ? What else do we need to mention ?





-- 
...Swapnil

|| Hare Krishna Hare Krishna Krishna Krishna Hare Hare ||
|| Hare Rama    Hare Rama   Rama   Rama    Hare Hare ||

2.About the Filter in Audio Capture Sources Category

Dear All:

I have written an audio AVStream driver.
It registers successfully an audio capture filter into two different 
categories, Audio Capture Sources and WDM Streaming Capture Devices.
The capture filter, which is in WDM Streaming Capture Devices folder, is 
workable well for any operations.
However, when I use the corresponded filter within Audio Capture Sources, 
there is serious problem below:
I can listen the sound from this filter, but I can't stop it.
When I push the "stop" button, the graphedit will be blocked!!
The OnPinClose function cannot be called by directshow in my driver.

Can you help me?

Best Regards,
H.P.

3.Audio Delay From Audio Capture Source Filter

Dear All:
I designed a AVstream driver with video and audio streams. 
Then, using the graphedit to play and capture it.
The audio stream is offered from Audio Capture Source (qcap.dll).
The video stream is offered from Video Capture Source filter's capture pin.
However, the audio sound has a serious dealy (about 1 ~ 2 sec) to video in 
previewing.
But, its captured avi file is AV-Sync well.
This is my driver's bug?

I had tried other video devices (USB2.0 Video Grabber).
Their preview and capture are AV-Sync both.
The USB device is a standard USB Audio Class device.
It uses Microsoft's USBAUDIO.sys driver.
Why cannot MS's driver cause the preview delay?

Best Regards,
H.P.

4.Can't registe in "Audio Capture Sources" folder

Hi all :


  I have developed an audio driver now .
  I can add the driver to "WDM Streaming Capture Devices" category .
  But I can't add the driver to  "Audio Capture Sources"  .

  I have set the data in INF file

  AddInterface=%KSCATEGORY_AUDIO%,GLOBAL,AUD_Interface,
  AddInterface=%KSCATEGORY_CAPTURE%,GLOBAL,AUD_Interface,

  KSCATEGORY_AUDIO  = "{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
  KSCATEGORY_CAPTURE= "{65E8773D-8F56-11D0-A3B9-00A0C9223196}"

  But I still can't see the driver in "Audio Capture Sources" .

  I haven't implement "AudioInputMixer" , Is that will be problem ??

  Can anyone please explain me how I can do it?

  thanks and regards. 

Small Chang

5.Can't registe in "Audio Capture Sources" folder

Igor Slewsarev 

>> Hi!
>>
>> First of all use debug version of DX and check output of sysadio driver.
>> Probably you'll find the reason.

How to do that check output of sysaudio ???


>> Also check a topology of your captuer filter (this the most common issue
>> for audio miniports). It should be at least one node connected to bridge
>> input and capture output pins. Also check pin names  (guids); e.g.
>> capture pin should have PINNAME_CAPTURE category and name.
yes .I have PINNAME_CAPTURE for the capture ping ...
>>
>> IVS

Hi IVS :

   Thank you for your relay .
   I can see the KSCATEGORY_AUDIO in KSStido, But Can't see in the
   "Audio Capture Source" in graphedit  .

    I has install DX9.b debug version  , but how to check the sysaudio
output .

    forgive my poor english ..

Small Chang

   I

6. Again, avstream driver registering in Audio Capture Sources category?

7. Pin Categories for an Analog TV Avstream Capture Filter

8. AVSSamp as default audio device



Return to device driver

 

Who is online

Users browsing this forum: No registered users and 7 guest