[wdmaudiodev] Re: Streaming SPEEX encoded voice over USB Audio class 1.0

  • From: Szabolcs Sandoly <szabolcs.sandoly@xxxxxxx>
  • To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Fri, 22 Jan 2010 11:31:07 +0100

Szabolcs Sandoly wrote:

We are in a process of developing drivers for a novel wireless headset and I 
have a concern regarding streaming SPEEX encoded voice over USB Audio class 
1.0. Since SPEEX (or other voice coder) is not a supported format according to 
the USB Audio 1.0 specification, I am wondering if is there any trick to solve 
this streaming problem.

The USB Audio Class Formats spec says in section 3, "It is always possible to 
use vendor-specific definitions if the above procedure [for registering a new 
format] is considered unsatisfactory."

However, I don't know whether usbaudio.sys will know what to do with that.  
Usbaudio.sys is a fabulous resource, as long as you don't push too hard on the 
sharp edges.  It may be that you need to use a filter driver to coerce usbaudio 
into handling things for you.


Tim Roberts, timr@xxxxxxxxx<mailto:timr@xxxxxxxxx>

Providenza & Boekelheide, Inc.

Hi Tim,

Thanks for the reply!

I have already found this citation in the mentioned documents, but I have not 
found the way how to configure the format descriptors for exploit the "vendor 
specific format" yet.
This document says nothing about it.

I have something in my mind to solve this. What happens if, I add new format 
code OR use the TYPE_II_UNDEFINED code at the Audio Data Format Type II Codes, 
which will declare the SPEEX codec.
The filter driver will sit on top of the usbaudio.sys and identify the stream 
as SPEEX and routes it to the proper audio codec in the system.
Does this sounds reasonable?


Szabolcs Sandoly
MFKK Invention and Research Center Services Co. Ltd.

Other related posts: