Prosody speech processing: API: sm_conf_prim_start

Prototype Definition

int sm_conf_prim_start(struct sm_conf_prim_start_parms *confp)

Parameters

*confp
a structure of the following type:
typedef struct sm_conf_prim_start_parms {
	tSMChannelId channel;					/* in */
	tSM_INT volume;						/* in */
	tSM_INT agc;						/* in */
	/* Only in Prosody version 2 (TiNG) */
	enum kSMConfType {
		kSMConfTypeStandard,
		kSMConfTypeIndividualVolume,
	} conf_type;						/* in */
	/* End of part only in Prosody version 2 (TiNG) */
} SM_CONF_PRIM_START_PARMS;

Description

Sets up an output channel channel on which will be output the conferenced sum of all participating input channels (each participant is added to the conference through a call to sm_conf_prim_add()). The volume and agc parameters control the output level, and are specified as for sm_replay_start().

The channel and all the participating input channels will all need to be processed by the same module. This can be ensured by using the group parameter when allocating channels or by using sm_channel_alloc_placed().

Only on Prosody version 2 (TiNG): If you specify the conferencing type kSMConfTypeIndividualVolume then calls to sm_conf_prim_add() can specify a factor by which the participant's input signal is multiplied before being added into the resulting output signal. However, this type of conferencing uses far more resources than standard conferencing.

This requires either the module conf (for standard conferencing) or civ (for conferencing with individual volume control) to have been downloaded.

The channel output is reserved for conferencing until sm_conf_prim_abort() or sm_conf_prim_stop() stops the channel output from being used. No other output activity can take place on the channel during this time.

Fields

channel
The channel on which a conference output is to be started.
volume
The volume adjustment (in dB).
Only on Prosody version 2 (TiNG): This parameter is ignored if the type of conferencing is kSMConfTypeIndividualVolume, which does not implement volume control on outputs.
agc
Indicator of whether automatic gain control is to be enabled (non-zero) or not (zero).
Only on Prosody version 2 (TiNG): This parameter is ignored if the type of conferencing is kSMConfTypeIndividualVolume, which does not implement automatic gain control on outputs.
conf_type (Only in Prosody version 2 (TiNG))
The type of conferencing that will be used.
One of these values:
kSMConfTypeStandard
Standard conferencing.
kSMConfTypeIndividualVolume
Conferencing which permits individual adjustment of the volume of each participant's contribution to each output.

Returns

0 if call completed successfully, otherwise a standard error such as:


This function is part of the Prosody speech processing API.