Skip navigation
cyberhex
Currently Being Moderated

FMLE 3.2 audio format provided by audio capture device is not supported

Jan 14, 2011 12:09 PM

I have developed an audio capture filter for direct show that appears in FMLE as an available audio capture source. When I select this device I get the error message "Audio format provided by audio capture device is not supported by this application". This direct show filter (device) outputs PCM (wav) stereo audio, 2 channels at a 44.1k sample rate which is pretty generic and the same format provided by another capture device on my system.

 

Why is FMLE reporting this error? The FMLE documentation says that it supports any direct show available capture devices so my direct show filter should work. My filter works in other applications and with the graphedit application included with the windows SDK.

 

Can anyone shed any light on what is required from a direct show filter for audio to work with FMLE. My filter does video as well from my capture device and that work perfectly.

 

 

 

What am I missing?

 

PLEASE HELP!!!!

 

thanks.

 
Replies
  • Currently Being Moderated
    Jan 15, 2011 7:16 AM   in reply to cyberhex

    I have the same problem described above with the "MV Audio Pipe Source" listed below.  I've provided 3 other capture devices for comparison.   Is it possible that FMLE isn't working with the "MV Audio Pipe Source" (virtual) capture device because FMLE expects a higher or lower quality input format?  My other devices output 23 different audio sampling rates.  The "MV Audio Pipe Source" only outputs 1 audio sampling rate. See below.

     

    using device: MV Audio Pipe Source

    EnumDeviceCaps: output pin: Capture

    EnumDeviceCaps: trying pin Capture

    EnumDeviceCaps: input pin default format configured

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:44100 bits/sample:16

     

    using device: Dazzle DVC100 Audio Device

    EnumDeviceCaps: output pin: Capture

    EnumDeviceCaps: input pin: Microphone

    EnumDeviceCaps: trying pin Capture

    EnumDeviceCaps: input pin default format configured

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:44100 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:44100 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:44100 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:32000 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:32000 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:22050 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:22050 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:11025 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:11025 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:8000 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:8000 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:44100 bits/sample:8

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:44100 bits/sample:8

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:22050 bits/sample:8

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:22050 bits/sample:8

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:11025 bits/sample:8

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:11025 bits/sample:8

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:8000 bits/sample:8

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:8000 bits/sample:8

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:48000 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:48000 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:96000 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:96000 bits/sample:16

     

    using device: Osprey-230 Audio Device 1

    EnumDeviceCaps: output pin: Capture

    EnumDeviceCaps: input pin: Unbalanced

    EnumDeviceCaps: input pin: Balanced

    EnumDeviceCaps: trying pin Capture

    EnumDeviceCaps: input pin default format configured

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:44100 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:44100 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:44100 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:32000 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:32000 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:22050 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:22050 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:11025 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:11025 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:8000 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:8000 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:44100 bits/sample:8

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:44100 bits/sample:8

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:22050 bits/sample:8

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:22050 bits/sample:8

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:11025 bits/sample:8

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:11025 bits/sample:8

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:8000 bits/sample:8

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:8000 bits/sample:8

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:48000 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:48000 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:96000 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:96000 bits/sample:16

     

    using device: USB 2821 Device

    EnumDeviceCaps: output pin: Capture

    EnumDeviceCaps: input pin: Line

    EnumDeviceCaps: trying pin Capture

    EnumDeviceCaps: input pin default format configured

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:44100 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:44100 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:44100 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:32000 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:32000 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:22050 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:22050 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:11025 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:11025 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:8000 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:8000 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:44100 bits/sample:8

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:44100 bits/sample:8

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:22050 bits/sample:8

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:22050 bits/sample:8

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:11025 bits/sample:8

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:11025 bits/sample:8

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:8000 bits/sample:8

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:8000 bits/sample:8

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:48000 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:48000 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:2, samples/sec:96000 bits/sample:16

    EnumDeviceCaps: input pin accepts format: araw, channels:1, samples/sec:96000 bits/sample:16

     

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 18, 2011 11:15 AM   in reply to cyberhex

    cyberhex, thanks for the followup. - Nick

     
    |
    Mark as:
  • Currently Being Moderated
    May 31, 2011 5:02 PM   in reply to cyberhex

    Would you like to explain this "better"? I'm new and I have the same problem Would like some help!

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 2, 2012 11:05 AM   in reply to cyberhex

    @cyberhex could you share the source? I'm having trouble getting it to work for some reason my own virtual capture device...

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 17, 2012 2:26 PM   in reply to cyberhex

    Thank you for the help I really appreciate it.  Unfortunately FME still rejects my stream! Gah!  Would it be possible/too much for me to ask for you to e-mail me your source code so I can compare it with my own? (rogerdpack@gmail.com).  I wouldn't release it, of course, just compare it with mine (https://github.com/rdp/virtual-audio-capture-grabber-device) or if you can see an immediate problem then please do let me know

    Thanks much!

    -roger-

     
    |
    Mark as:
  • Currently Being Moderated
    Oct 18, 2012 10:35 AM   in reply to rogerdpack

    Ok following the suggestion that cyberhex gave me (I thought I had implemented IAMBufferNegotiation but hadn't all the way--I needed to pass back a cast version from QueryInterface as well), it now works (after also making setFormat so that it rejects bad media types--weird).

     

    Also it only supports 16 bit PCM so don't try using 32

     

    Thanks so much!

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points