mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-18 03:28:07 +00:00
add conference recording API.
This commit is contained in:
parent
75583926a1
commit
0b9b574db7
3 changed files with 69 additions and 2 deletions
|
|
@ -2060,9 +2060,11 @@ extern "C" void Java_org_linphone_core_LinphoneCoreImpl_leaveConference(JNIEnv *
|
|||
extern "C" void Java_org_linphone_core_LinphoneCoreImpl_addAllToConference(JNIEnv *env,jobject thiz,jlong pCore) {
|
||||
linphone_core_add_all_to_conference((LinphoneCore *) pCore);
|
||||
}
|
||||
|
||||
extern "C" void Java_org_linphone_core_LinphoneCoreImpl_addToConference(JNIEnv *env,jobject thiz,jlong pCore, jlong pCall) {
|
||||
linphone_core_add_to_conference((LinphoneCore *) pCore, (LinphoneCall *) pCall);
|
||||
}
|
||||
|
||||
extern "C" void Java_org_linphone_core_LinphoneCoreImpl_removeFromConference(JNIEnv *env,jobject thiz,jlong pCore, jlong pCall) {
|
||||
linphone_core_remove_from_conference((LinphoneCore *) pCore, (LinphoneCall *) pCall);
|
||||
}
|
||||
|
|
@ -2073,6 +2075,22 @@ extern "C" void Java_org_linphone_core_LinphoneCoreImpl_terminateConference(JNIE
|
|||
extern "C" jint Java_org_linphone_core_LinphoneCoreImpl_getConferenceSize(JNIEnv *env,jobject thiz,jlong pCore) {
|
||||
return (jint)linphone_core_get_conference_size((LinphoneCore *) pCore);
|
||||
}
|
||||
|
||||
extern "C" jint Java_org_linphone_core_LinphoneCoreImpl_startConferenceRecording(JNIEnv *env,jobject thiz,jlong pCore, jstring jpath){
|
||||
int err=-1;
|
||||
if (jpath){
|
||||
const char *path=env->GetStringUTFChars(jpath, NULL);
|
||||
err=linphone_core_start_conference_recording((LinphoneCore*)pCore,path);
|
||||
env->ReleaseStringUTFChars(jpath,path);
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
extern "C" jint Java_org_linphone_core_LinphoneCoreImpl_stopConferenceRecording(JNIEnv *env,jobject thiz,jlong pCore){
|
||||
int err=linphone_core_stop_conference_recording((LinphoneCore*)pCore);
|
||||
return err;
|
||||
}
|
||||
|
||||
extern "C" void Java_org_linphone_core_LinphoneCoreImpl_terminateAllCalls(JNIEnv *env,jobject thiz,jlong pCore) {
|
||||
linphone_core_terminate_all_calls((LinphoneCore *) pCore);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -761,25 +761,63 @@ public interface LinphoneCore {
|
|||
*/
|
||||
void adjustSoftwareVolume(int i);
|
||||
|
||||
/**
|
||||
* Pause a call.
|
||||
**/
|
||||
boolean pauseCall(LinphoneCall call);
|
||||
/**
|
||||
* Resume a call.
|
||||
**/
|
||||
boolean resumeCall(LinphoneCall call);
|
||||
boolean pauseAllCalls();
|
||||
|
||||
void setZrtpSecretsCache(String file);
|
||||
void enableEchoLimiter(boolean val);
|
||||
|
||||
/**
|
||||
* Indicates whether the local user is part of the conference.
|
||||
**/
|
||||
boolean isInConference();
|
||||
/**
|
||||
* Connect the local user to the conference.
|
||||
**/
|
||||
boolean enterConference();
|
||||
/**
|
||||
* Disconnect the local user from the conference.
|
||||
**/
|
||||
void leaveConference();
|
||||
|
||||
/**
|
||||
* Add an established call to the conference. The LinphoneCore is able to manage one client based conference.
|
||||
**/
|
||||
void addToConference(LinphoneCall call);
|
||||
void addAllToConference();
|
||||
/**
|
||||
* Remove an established call from the conference.
|
||||
**/
|
||||
void removeFromConference(LinphoneCall call);
|
||||
|
||||
void addAllToConference();
|
||||
|
||||
/**
|
||||
* Terminate the conference, all users are disconnected.
|
||||
**/
|
||||
void terminateConference();
|
||||
int getConferenceSize();
|
||||
|
||||
/**
|
||||
* Request recording of the conference into a supplied file path.
|
||||
* The format is wav.
|
||||
**/
|
||||
void startConferenceRecording(String path);
|
||||
|
||||
/**
|
||||
* Stop recording of the conference.
|
||||
**/
|
||||
void stopConferenceRecording();
|
||||
|
||||
void terminateAllCalls();
|
||||
/**
|
||||
* Returns all calls.
|
||||
**/
|
||||
LinphoneCall[] getCalls();
|
||||
int getCallsNb();
|
||||
|
||||
|
|
|
|||
|
|
@ -897,4 +897,15 @@ class LinphoneCoreImpl implements LinphoneCore {
|
|||
public String getUpnpExternalIpaddress() {
|
||||
return getUpnpExternalIpaddress(nativePtr);
|
||||
}
|
||||
private native int startConferenceRecording(long nativePtr, String path);
|
||||
@Override
|
||||
public void startConferenceRecording(String path) {
|
||||
startConferenceRecording(nativePtr,path);
|
||||
}
|
||||
|
||||
private native int stopConferenceRecording(long nativePtr);
|
||||
@Override
|
||||
public void stopConferenceRecording() {
|
||||
stopConferenceRecording(nativePtr);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue