linphone-LinphoneCallParams.java文件分析

来源:互联网 发布:用stata怎么导面板数据 编辑:程序博客网 时间:2024/06/01 15:30

说明

专门作为Audio和Video的参数

功能

  1. 设置视频的带宽
  2. 设置音频的带宽
  3. 设置媒体的加密数据(encryption)
  4. 设置是否允许低带宽
  5. 设置RecordFile
  6. 设置Sdp
  7. 设置会话名称等
  8. 是否允许多个rtp请求

UML类图

LinphoneCallParams

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);    }}
0 0
原创粉丝点击