Making an audio conference.
More...
|
void | linphone_conference_add_callbacks (LinphoneConference *conference, LinphoneConferenceCbs *cbs) |
| Add a listener in order to be notified of LinphoneConference events. More...
|
|
void | linphone_conference_remove_callbacks (LinphoneConference *conference, LinphoneConferenceCbs *cbs) |
| Remove a listener from a LinphoneConference. More...
|
|
LinphoneConferenceCbs * | linphone_conference_get_current_callbacks (const LinphoneConference *conference) |
| Gets the current LinphoneConferenceCbs. More...
|
|
LinphoneCore * | linphone_conference_get_core (const LinphoneConference *conference) |
| Returns core for a LinphoneConference. More...
|
|
const LinphoneAddress * | linphone_conference_get_conference_address (const LinphoneConference *conference) |
| Get the conference address of the conference. More...
|
|
char * | linphone_conference_get_conference_address_as_string (const LinphoneConference *conference) |
|
LinphoneConferenceCbs * | linphone_conference_cbs_ref (LinphoneConferenceCbs *cbs) |
| Acquire a reference to the conference callbacks object. More...
|
|
void | linphone_conference_cbs_unref (LinphoneConferenceCbs *cbs) |
| Release reference to the conference callbacks object. More...
|
|
void * | linphone_conference_cbs_get_user_data (const LinphoneConferenceCbs *cbs) |
| Retrieve the user pointer associated with the conference callbacks object. More...
|
|
void | linphone_conference_cbs_set_user_data (LinphoneConferenceCbs *cbs, void *ud) |
| Assign a user pointer to the conference callbacks object. More...
|
|
LinphoneConferenceCbsParticipantAddedCb | linphone_conference_cbs_get_participant_added (const LinphoneConferenceCbs *cbs) |
| Get the participant added callback. More...
|
|
void | linphone_conference_cbs_set_participant_added (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsParticipantAddedCb cb) |
| Set the participant added callback. More...
|
|
LinphoneConferenceCbsParticipantRemovedCb | linphone_conference_cbs_get_participant_removed (const LinphoneConferenceCbs *cbs) |
| Get the participant removed callback. More...
|
|
void | linphone_conference_cbs_set_participant_removed (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsParticipantRemovedCb cb) |
| Set the participant removed callback. More...
|
|
LinphoneConferenceCbsParticipantDeviceAddedCb | linphone_conference_cbs_get_participant_device_added (const LinphoneConferenceCbs *cbs) |
| Get the participant device added callback. More...
|
|
void | linphone_conference_cbs_set_participant_device_added (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsParticipantDeviceAddedCb cb) |
| Set the participant device added callback. More...
|
|
LinphoneConferenceCbsParticipantDeviceRemovedCb | linphone_conference_cbs_get_participant_device_removed (const LinphoneConferenceCbs *cbs) |
| Get the participant device removed callback. More...
|
|
void | linphone_conference_cbs_set_participant_device_removed (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsParticipantDeviceRemovedCb cb) |
| Set the participant device removed callback. More...
|
|
LinphoneConferenceCbsParticipantAdminStatusChangedCb | linphone_conference_cbs_get_participant_admin_status_changed (const LinphoneConferenceCbs *cbs) |
| Get the participant admin status changed callback. More...
|
|
void | linphone_conference_cbs_set_participant_admin_status_changed (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsParticipantAdminStatusChangedCb cb) |
| Set the participant admin status changed callback. More...
|
|
LinphoneConferenceCbsStateChangedCb | linphone_conference_cbs_get_state_changed (const LinphoneConferenceCbs *cbs) |
| Get the state changed callback. More...
|
|
void | linphone_conference_cbs_set_state_changed (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsStateChangedCb cb) |
| Set the state changed callback. More...
|
|
LinphoneConferenceCbsSubjectChangedCb | linphone_conference_cbs_get_subject_changed (const LinphoneConferenceCbs *cbs) |
| Get the subject changed callback. More...
|
|
void | linphone_conference_cbs_set_subject_changed (LinphoneConferenceCbs *cbs, LinphoneConferenceCbsSubjectChangedCb cb) |
| Set the subject changed callback. More...
|
|
Making an audio conference.
This API allows to create a conference entirely managed by the client. No server capabilities are required. The way such conference is created is by doing the following:
The application shall makes "normal" calls to several destinations (using linphone_core_invite() ), one after another. While initiating the second call, the first one is automatically paused. Then, once the second call is established, the application has the possibility to merge the two calls to form a conference where each participant (the local participant, the remote destination of the first call, the remote destination of the second call) can talk together. This must be done by adding the two calls to the conference using linphone_core_add_to_conference()
Once merged into a conference the LinphoneCall objects representing the calls that were established remain unchanged, except that they are tagged as part of the conference (see linphone_call_is_in_conference() ). The calls in a conference are in the LinphoneCallStreamsRunning state.
Only a single conference can be created: the purpose of this feature is to allow the local user to create, take part and manage the conference. This API is not designed to create a conference server application.
Up to 10 calls can be merged into the conference, however depending on the CPU usage required for doing the encoding/decoding of the streams of each participants, the effective limit can be lower.
◆ LinphoneConferenceCbs
◆ _LinphoneConferenceState
LinphoneConferenceState is used to indicate the current state of a conference.
Enumerator |
---|
LinphoneConferenceStateNone | Initial state.
|
LinphoneConferenceStateInstantiated | Conference is now instantiated on local.
|
LinphoneConferenceStateCreationPending | One creation request was sent to the server.
|
LinphoneConferenceStateCreated | Conference was created on the server.
|
LinphoneConferenceStateCreationFailed | Conference creation failed.
|
LinphoneConferenceStateTerminationPending | Wait for conference termination.
|
LinphoneConferenceStateTerminated | Conference exists on server but not in local.
|
LinphoneConferenceStateTerminationFailed | Conference termination failed.
|
LinphoneConferenceStateDeleted | Conference was deleted on the server.
|
◆ linphone_conference_add_callbacks()
◆ linphone_conference_cbs_get_participant_added()
Get the participant added callback.
- Parameters
-
- Returns
- The current participant added callback.
◆ linphone_conference_cbs_get_participant_admin_status_changed()
Get the participant admin status changed callback.
- Parameters
-
- Returns
- The current participant admin status changed callback.
◆ linphone_conference_cbs_get_participant_device_added()
Get the participant device added callback.
- Parameters
-
- Returns
- The current participant device added callback.
◆ linphone_conference_cbs_get_participant_device_removed()
Get the participant device removed callback.
- Parameters
-
- Returns
- The current participant device removed callback.
◆ linphone_conference_cbs_get_participant_removed()
Get the participant removed callback.
- Parameters
-
- Returns
- The current participant removed callback.
◆ linphone_conference_cbs_get_state_changed()
Get the state changed callback.
- Parameters
-
- Returns
- The current state changed callback.
◆ linphone_conference_cbs_get_subject_changed()
Get the subject changed callback.
- Parameters
-
- Returns
- The current subject changed callback.
◆ linphone_conference_cbs_get_user_data()
Retrieve the user pointer associated with the conference callbacks object.
- Parameters
-
[in] | cr | The conference callbacks object |
- Returns
- The user pointer associated with the conference callbacks object
◆ linphone_conference_cbs_ref()
Acquire a reference to the conference callbacks object.
- Parameters
-
[in] | cbs | The conference callbacks object |
- Returns
- The same conference callbacks object
◆ linphone_conference_cbs_set_participant_added()
Set the participant added callback.
- Parameters
-
◆ linphone_conference_cbs_set_participant_admin_status_changed()
Set the participant admin status changed callback.
- Parameters
-
◆ linphone_conference_cbs_set_participant_device_added()
Set the participant device added callback.
- Parameters
-
◆ linphone_conference_cbs_set_participant_device_removed()
Set the participant device removed callback.
- Parameters
-
◆ linphone_conference_cbs_set_participant_removed()
Set the participant removed callback.
- Parameters
-
◆ linphone_conference_cbs_set_state_changed()
Set the state changed callback.
- Parameters
-
◆ linphone_conference_cbs_set_subject_changed()
Set the subject changed callback.
- Parameters
-
◆ linphone_conference_cbs_set_user_data()
Assign a user pointer to the conference callbacks object.
- Parameters
-
[in] | cr | The conference callbacks object |
[in] | ud | The user pointer to associate with the conference callbacks object |
◆ linphone_conference_cbs_unref()
Release reference to the conference callbacks object.
- Parameters
-
[in] | cr | The conference callbacks object |
◆ linphone_conference_get_conference_address()
Get the conference address of the conference.
- Parameters
-
- Returns
- The conference address of the conference or NULL if it is unknown.
◆ linphone_conference_get_core()
◆ linphone_conference_get_current_callbacks()
Gets the current LinphoneConferenceCbs.
This is meant only to be called from a callback to be able to get the user_data associated with the LinphoneConferenceCbs that is calling the callback.
- Parameters
-
- Returns
- The LinphoneConferenceCbs that has called the last callback.
◆ linphone_conference_remove_callbacks()
Remove a listener from a LinphoneConference.
- Parameters
-