首页 > 编程语言 >linphone-PayloadType.java文件分析

linphone-PayloadType.java文件分析

时间:2023-05-29 14:35:32浏览次数:44  
标签:java String long fmtp PayloadType nativePtr return linphone public


说明

这个类主要是设置一些类型的参数,如MIME, RATE, FMTP等

功能

  1. 设置MIME
  2. 设置RATE
  3. 设置FMT

UML类图

linphone-PayloadType.java文件分析_linphone

PayloadType.java

package org.linphone.core;

public interface PayloadType {
    /**
     * Obtain the registered mime-type (actually submime) of the PayloadType. For example: "H264", "speex"...
     * @return the (sub) mime type.
     */
    String getMime();

    /**
     * Return the RTP clockrate. It is usually the same as the audio sampling rate, and 90000 for video payload types.
     * @return
     */
    int getRate();

    /**
     * Set format parameter string wished for incoming stream. It is advertised in SDP.
     * @param fmtp the fmtp string, like "octet-align=1;mode-set=4,5,6,7"
     */
    void setRecvFmtp(String fmtp);

    /**
     * Return the format parameters wished for incoming stream.
     * @return the format parameter string.
     */
    String getRecvFmtp();

    /**
     * Set the format parameter effective for the outgoing stream (unusual).
     * @param fmtp
     */
    void setSendFmtp(String fmtp);

    /**
     * Return the format parameter effective for the outgoing stream.
     * @return
     */
    String getSendFmtp();
}

PayloadTypeImpl.java

package org.linphone.core;

class PayloadTypeImpl implements PayloadType {

    public final long nativePtr;

    private native String toString(long ptr);
    private native String getMime(long ptr);
    private native int getRate(long ptr);

    protected PayloadTypeImpl(long aNativePtr)  {
        nativePtr = aNativePtr;
    }

    public int getRate() {
        return getRate(nativePtr);
    }

    public String getMime() {
        return getMime(nativePtr);
    }

    public String toString() {
        return toString(nativePtr);
    }

    private native void setRecvFmtp(long ptr, String fmtp);
    @Override
    public void setRecvFmtp(String fmtp) {
        setRecvFmtp(nativePtr,fmtp);
    }
    private native String getRecvFmtp(long ptr);
    @Override
    public String getRecvFmtp() {
        return getRecvFmtp(nativePtr);
    }

    private native void setSendFmtp(long ptr, String fmtp);
    @Override
    public void setSendFmtp(String fmtp) {
        setSendFmtp(nativePtr,fmtp);
    }
    private native String getSendFmtp(long ptr);
    @Override
    public String getSendFmtp() {
        return getSendFmtp(nativePtr);
    }
}


标签:java,String,long,fmtp,PayloadType,nativePtr,return,linphone,public
From: https://blog.51cto.com/u_11797608/6370715

相关文章

  • linphone-LinphoneProxyConfig.java文件分析
    说明这个是linphone的纯配置文件,可能需要保存到文件中,是长久的数据.如何保存c/c++分析.功能设置Identity设置Address设置Proxy设置register设置Domain设置Dial设置Route设置Route设置Expires设置AVPF设置Realm设置ContactParameters设置PublichExpiresUML类图LinphoneProxyConfi......
  • linphone-LinphonePreferences.java文件分析
    说明这个文件比较长,主要是对于linphone的配置文件等设置。对于前面文章中文件的调用。其中大多数是对底层的调用设置。功能设置用户信息设置端口号设置显示名称设置密码设置代理设置编码设置编码速率设置DMTF等设置加密解密设置是否使用ipv6设置tunnel设置相机等UML类图LinphonePre......
  • linphone-NetworkManger.java文件分析
    功能InterceptnetworkstatechangesandupdatelinphonecorethroughLinphoneManger翻译拦截网络状态的变化,并通过LinphoneManger更新linphone核心内容。NetworkManager.java/**......
  • 使用 Java 代码调用 openAI 的 ChatGPT API
    前提:在https://beta.openai.com/account/api-keys注册一个自己的APIkey.要在JavaSpringFramework中使用OpenAIAPI,您需要使用一个能够处理HTTP请求的库。其中一个流行的库是SpringRestTemplate库。RestTemplate是一个强大而灵活的库,可以轻松地发送HTTP请求并处理响应。首......
  • linphone-KeepAliveReceiver.java文件分析
    说明Purposeofthisreceiveristodisablekeepaliveswhenscreenisoff解释这个接收器的目的是屏幕关闭的时候进行保活。<—翻译的准确性,等更加深刻的分析源码时更正,或者读者自己在下面评论也可以。介绍此类为接收器,接收外部传来的广播。KeepAliveReceiver.java/**Purpos......
  • linphone-BootReceiver.java文件分析
    说明这是个在android发送开机广播的时候调用的类功能主要就是为了在开机的时候启动LinphoneService开启后台服务。其中有一个.linphonerc的文件,这个文件应该是LpConfig的对应的配置文件。如果有错请更正。BootReceiver.javapublicclassBootReceiverextendsBroadcastReceiver{......
  • linphone-PresenceNote.java文件分析
    说明这个没什么好说的,一个普通的的类。UML类图PresenceNoteImpl.javapackageorg.linphone.core;publicclassPresenceNoteImplimplementsPresenceNote{privatelongmNativePtr;protectedPresenceNoteImpl(longnativePtr){mNativePtr=nativePtr;......
  • linphone-Tunnelconfig.java文件分析
    说明此类的主要作用主要是配置Host,port等。功能设置获取Host设置获取Port设置获取RemoteUdpMirrorPort获取设置maximumamountoftimeUML类图TunnelConfig.javapackageorg.linphone.core;publicclassTunnelConfigImplimplementsTunnelConfig{longmNativePtr;pr......
  • linphone-PresencePerson.java文件分析
    说明同上一张PresenceService和PresenceActivity的分析,但是不明白的是,为啥PresencePerson函数跟PresenceModel的函数很类似。唯一我现在能想到的原因是,每个Person主要存储。《—-放弃了,往后看吧。UML类图PresencePersonImpl.javapackageorg.linphone.core;publicclassPresenc......
  • linphone-PresenceActivity.java文件分析
    说明此类的对象供PresenceModel使用UML类图PresenceActivityImpl.javapackageorg.linphone.core;publicclassPresenceActivityImplimplementsPresenceActivity{privatelongmNativePtr;protectedPresenceActivityImpl(longnativePtr){mNativePtr=......