cnfGetActiveTalkersList

Returns the list of members actively talking in a conference.

Prototype

DWORD cnfGetActiveTalkersList ( CNFRESOURCEHD cnfresourcehd, DWORD confid, unsigned maxmemberids, DWORD *memberidlist, unsigned *nummemberids)

Argument

Description

cnfresourcehd

Handle returned by cnfOpenResource.

confid

Conference identifier returned by cnfCreateConference.

maxmemberids

Maximum number of entries in memberidlist array.

memberidlist

Pointer to an array of DWORD where the function returns the list of member identifiers. If NULL, this function just returns the number of members talking in a conference.

nummemberids

Pointer to a returned number of member identifiers.


Return values

Return value

Description

SUCCESS

 

CTAERR_BAD_ARGUMENT

nummemberids or memberidlist pointer is NULL.

CTAERR_INVALID_HANDLE

cnfresourcehd is not a valid conference resource handle.

CNFERR_INVALID_IDENTIFIER

confid is not a valid conference identifier.


Details

cnfGetActiveTalkersList is typically called after the application receives CNFEVN_ACTIVE_TALKERS_CHANGE. Using this function, the application can compare the actual count of members currently included in the conference with the list of the corresponding member identifiers. To change the number of members selected as active talkers, set the corresponding attribute. Refer to cnfGetConferenceAttribute and cnfSetConferenceAttribute for further details about conference related attributes.

The successive active talkers lists are not queued in NaturalConference. The application receiving the corresponding event must retrieve the list in the appropriate time delay.

For more information, refer to NaturalConference events.

See also

cnfCreateConference, cnfGetMemberList

Example

extern CNFRESOURCEHD cnfresourcehd;

unsigned getTalkerList(DWORD confid, DWORD *talkeridlist,
                        unsigned maxmemberids)
{
 DWORD error;
 unsigned numtalkerids = 0;

 error = cnfGetActiveTalkersList (cnfresourcehd, confid,
                                  maxmemberids, talkeridlist,
                                  &numtalkerids);
 if (error != SUCCESS)
{
printf("Error when retrieving active talker list :%d", error);
}
return (numtalkerids);
}