Where audio support ?

Where audio support group ??? Almost two weeks nobody answers to my
question, no activity at all ! …

P.S.

Who may describe how to create fully functional capture group with all
elements in parameters of ado_mixer_capture_group_create API call. Who may
help me with mux elements, how to use it, in ddk documentation no any
information at all about mux callbacks and its parameters !!!

Mike Gorchak <mike@malva.com.ua> wrote:
: Where audio support group ??? Almost two weeks nobody answers to my
: question, no activity at all ! …

: P.S.

: Who may describe how to create fully functional capture group with all
: elements in parameters of ado_mixer_capture_group_create API call. Who may
: help me with mux elements, how to use it, in ddk documentation no any
: information at all about mux callbacks and its parameters !!!

We’ve updated the Audio DDK docs. Here’s the description of
ado_mixer_capture_group_create() – I hope this helps you:


ado_mixer_capture_group_create()

Create a capture group

Synopsis:

#include <audio_driver.h>

ado_mixer_dgroup_t *ado_mixer_capture_group_create
( ado_mixer_t *mixer,
char *name,
uint32_t channels,
ado_mixer_delement_t *vol_elem,
ado_mixer_delement_t *mute_elem,
ado_mixer_delement_t *cap_elem,
ado_mixer_delement_t *mux_in_elem );

Arguments:

mixer
A pointer to the ado_mixer_t structure that specifies the mixer
to create the group in. This structure was created by
ado_mixer_create().

name
The name of the group, which can be up to 31 characters long.
Elements are referred to by name, so be careful; for some
standard names, see <asound.h>.

channels
A bitmap of the channels in the group; any combination of:

  • SND_MIXER_CHN_MASK_MONO
  • SND_MIXER_CHN_MASK_FRONT_LEFT
  • SND_MIXER_CHN_MASK_FRONT_RIGHT
  • SND_MIXER_CHN_MASK_FRONT_CENTER
  • SND_MIXER_CHN_MASK_REAR_LEFT
  • SND_MIXER_CHN_MASK_REAR_RIGHT
  • SND_MIXER_CHN_MASK_WOOFER
  • SND_MIXER_CHN_MASK_STEREO

vol_elem
The volume element for the group.

mute_elem
The mute element for the group.

cap_elem
The capture element for the group.

mux_in_elem
If the cap_elem is a multiplexer, the multiplexer takes its
input from this element when capturing. This is the element
that’s immediately upstream from the multiplexer.

Description:

The ado_mixer_capture_group_create() function automates the allocation
and filling of an ado_mixer_dgroup_t structure representing a channel
in the capture direction.

Returns:

A pointer to the newly created capture group.

Classification:

QNX 6

Safety:
Cancellation point No
Interrupt handler No
Signal handler No
Thread No

See also:

ado_mixer_playback_group_create()

\

Steve Reid stever@qnx.com
TechPubs (Technical Publications)
QNX Software Systems

mux_in_elem
If the cap_elem is a multiplexer, the multiplexer takes its
input from this element when capturing. This is the element
that’s immediately upstream from the multiplexer.

I like phrase ‘If the cap_elem is a multiplexer’ :wink: I’m trying to use ALL
elements as the cap_elem, but only mux1 element approach in that place !

How to handle mux callbacks its args doesn’t described in ddk documentation
at all ?

I think in ddk documentation you must describe what the elements must be in
place of cap_elem and mux_in_elem, beacuse now process of creation of
capture group is very hazily.

I hope this helps you

Thank you. But I still need good sample for capture group creation, I spent
about 30 hours because of this problem. All rest code of driver I port to
QNX in 15 hours :slight_smile:. Now I’m confused, because can’t port rest of code …

Thanks !