您的位置:首页 > 编程语言 > Java开发

linphone-LinphoneCallParams.java文件分析

2016-08-01 19:58 148 查看

说明

专门作为Audio和Video的参数

功能

设置视频的带宽

设置音频的带宽

设置媒体的加密数据(encryption)

设置是否允许低带宽

设置RecordFile

设置Sdp

设置会话名称等

是否允许多个rtp请求

UML类图



LinphoneCallParamsImpl.java

package org.linphone.core;

import org.linphone.core.LinphoneCore.MediaDirection;
import org.linphone.core.LinphoneCore.MediaEncryption;
import org.linphone.core.LinphoneCore.StreamType;

public class LinphoneCallParamsImpl implements LinphoneCallParams {
protected final long nativePtr;

public LinphoneCallParamsImpl(long nativePtr) {
this.nativePtr = nativePtr;
}

private native void enableVideo(long nativePtr, boolean b);
private native boolean getVideoEnabled(long nativePtr);
private native void audioBandwidth(long nativePtr, int bw);
private native void setMediaEncryption(long nativePtr, int menc);
private native int getMediaEncryption(long nativePtr);
private native long getUsedAudioCodec(long nativePtr);
private native long getUsedVideoCodec(long nativePtr);
private native void destroy(long nativePtr);
private native void enableLowBandwidth(long nativePtr, boolean enable);
private native boolean isLowBandwidthEnabled(long nativePtr);

public boolean getVideoEnabled() {
return getVideoEnabled(nativePtr);
}

public void setVideoEnabled(boolean b) {
enableVideo(nativePtr, b);
}

@Override
protected void finalize() throws Throwable {
destroy(nativePtr);
super.finalize();
}

public void setAudioBandwidth(int value) {
audioBandwidth(nativePtr, value);
}

public MediaEncryption getMediaEncryption() {
return MediaEncryption.fromInt(getMediaEncryption(nativePtr));
}

public void setMediaEnctyption(MediaEncryption menc) {
setMediaEncryption(nativePtr, menc.mValue);
}

public PayloadType getUsedAudioCodec() {
long ptr = getUsedAudioCodec(nativePtr);
if (ptr == 0) return null;
return new PayloadTypeImpl(ptr);
}

public PayloadType getUsedVideoCodec() {
long ptr = getUsedVideoCodec(nativePtr);
if (ptr == 0) return null;
return new PayloadTypeImpl(ptr);
}

private native boolean localConferenceMode(long nativePtr);
public boolean localConferenceMode() {
return localConferenceMode(nativePtr);
}

public void enableLowBandwidth(boolean enable) {
enableLowBandwidth(nativePtr, enable);
}

public boolean isLowBandwidthEnabled() {
return isLowBandwidthEnabled(nativePtr);
}

private native void setRecordFile(long nativePtr, String path);
@Override
public void setRecordFile(String path) {
setRecordFile(nativePtr,path);
}

private native void addCustomHeader(long nativePtr, String name, String value);
@Override
public void addCustomHeader(String name, String value) {
addCustomHeader(nativePtr,name,value);
}

private native String getCustomHeader(long nativePtr, String name);
@Override
public String getCustomHeader(String name) {
return getCustomHeader(nativePtr,name);
}

private native void addCustomSdpAttribute(long nativePtr, String name, String value);
@Override
public void addCustomSdpAttribute(String name, String value) {
addCustomSdpAttribute(nativePtr, name, value);
}

private native void addCustomSdpMediaAttribute(long nativePtr, int type, String name, String value);
@Override
public void addCustomSdpMediaAttribute(StreamType type, String name, String value) {
addCustomSdpMediaAttribute(nativePtr, type.mValue, name, value);
}

private native String getCustomSdpAttribute(long nativePtr, String name);
@Override
public String getCustomSdpAttribute(String name) {
return getCustomSdpAttribute(nativePtr, name);
}

private native String getCustomSdpMediaAttribute(long nativePtr, int type, String name);
@Override
public String getCustomSdpMediaAttribute(StreamType type, String name) {
return getCustomSdpMediaAttribute(nativePtr, type.mValue, name);
}

private native void clearCustomSdpAttributes(long nativePtr);
@Override
public void clearCustomSdpAttributes() {
clearCustomSdpAttributes(nativePtr);
}

private native void clearCustomSdpMediaAttributes(long nativePtr, int type);
@Override
public void clearCustomSdpMediaAttributes(StreamType type) {
clearCustomSdpMediaAttributes(nativePtr, type.mValue);
}

private native void setPrivacy(long nativePtr, int mask);
@Override
public void setPrivacy(int privacy_mask) {
setPrivacy(nativePtr,privacy_mask);
}

private native int getPrivacy(long nativePtr);
@Override
public int getPrivacy() {
return getPrivacy(nativePtr);
}

private native void setSessionName(long nativePtr, String name);
@Override
public void setSessionName(String name) {
setSessionName(nativePtr,name);
}

private native String getSessionName(long nativePtr);
@Override
public String getSessionName() {
return getSessionName(nativePtr);
}

private native int[] getSentVideoSize(long nativePtr);
@Override
public VideoSize getSentVideoSize() {
int[] nativeSize = getSentVideoSize(nativePtr);
VideoSize vSize = new VideoSize();
vSize.width = nativeSize[0];
vSize.height = nativeSize[1];
return vSize;
}

private native int[] getReceivedVideoSize(long nativePtr);
@Override
public VideoSize getReceivedVideoSize() {
int[] nativeSize = getReceivedVideoSize(nativePtr);
VideoSize vSize = new VideoSize();
vSize.width = nativeSize[0];
vSize.height = nativeSize[1];
return vSize;
}
private native void enableAudioMulticast(long ptr,boolean yesno);
@Override
public void enableAudioMulticast(boolean yesno) {
enableAudioMulticast(nativePtr,yesno);
}
private native boolean audioMulticastEnabled(long ptr);
@Override
public boolean audioMulticastEnabled() {
return audioMulticastEnabled(nativePtr);
}
private native void enableVideoMulticast(long ptr,boolean yesno);

@Override
public void enableVideoMulticast(boolean yesno) {
enableVideoMulticast(nativePtr,yesno);
}
private native boolean videoMulticastEnabled(long ptr);
@Override
public boolean videoMulticastEnabled() {
return videoMulticastEnabled(nativePtr);
}

private native void enableRealTimeText(long nativePtr, boolean yesno);
@Override
public void enableRealTimeText(boolean yesno) {
enableRealTimeText(nativePtr, yesno);
}

private native boolean realTimeTextEnabled(long nativePtr);
@Override
public boolean realTimeTextEnabled() {
return realTimeTextEnabled(nativePtr);
}

private native int getAudioDirection(long nativePtr);
@Override
public MediaDirection getAudioDirection() {
return MediaDirection.fromInt(getAudioDirection(nativePtr));
}

private native int getVideoDirection(long nativePtr);
@Override
public MediaDirection getVideoDirection() {
return MediaDirection.fromInt(getVideoDirection(nativePtr));
}

private native void setAudioDirection(long nativePtr, int direction);
@Override
public void setAudioDirection(MediaDirection direction) {
setAudioDirection(nativePtr, direction.mValue);
}

private native void setVideoDirection(long nativePtr, int direction);
@Override
public void setVideoDirection(MediaDirection direction) {
setVideoDirection(nativePtr, direction.mValue);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linpone