⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rtpsessionapi.sgml

📁 linphone源码-1.3.5.tar.gz所需要的库文件
💻 SGML
📖 第 1 页 / 共 3 页
字号:
<title><anchor id="rtp-session-set-local-addr">rtp_session_set_local_addr ()</title><indexterm><primary>rtp_session_set_local_addr</primary></indexterm><programlisting><link linkend="int">int</link>         rtp_session_set_local_addr      (<link linkend="RtpSession">RtpSession</link> *session,                                             const <link linkend="gchar">gchar</link> *addr,                                             <link linkend="gint">gint</link> port);</programlisting><para>Specify the local addr to be use to listen for rtp packets or to send rtp packet from.In case where the rtp session is send-only, then it is not required to call this function:when calling <link linkend="rtp-session-set-remote-addr"><function>rtp_session_set_remote_addr()</function></link>, if no local address has been set, then the default INADRR_ANY (0.0.0.0) IP address with a random port will be used. Calling <link linkend="rtp-sesession-set-local-addr"><function>rtp_sesession_set_local_addr()</function></link> is mandatory when the session is recv-only or duplex.</para><para></para><variablelist role="params"><varlistentry><term><parameter>session</parameter>&nbsp;:</term><listitem><simpara>		a rtp session freshly created.</simpara></listitem></varlistentry><varlistentry><term><parameter>addr</parameter>&nbsp;:</term><listitem><simpara>		a local IP address in the xxx.xxx.xxx.xxx form.</simpara></listitem></varlistentry><varlistentry><term><parameter>port</parameter>&nbsp;:</term><listitem><simpara>		a local port.</simpara></listitem></varlistentry><varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> 0 on success.</simpara></listitem></varlistentry></variablelist></refsect2><refsect2><title><anchor id="rtp-session-set-remote-addr">rtp_session_set_remote_addr ()</title><indexterm><primary>rtp_session_set_remote_addr</primary></indexterm><programlisting><link linkend="gint">gint</link>        rtp_session_set_remote_addr     (<link linkend="RtpSession">RtpSession</link> *session,                                             const <link linkend="gchar">gchar</link> *addr,                                             <link linkend="gint">gint</link> port);</programlisting><para>Sets the remote address of the rtp session, ie the destination address where rtp packetare sent. If the session is recv-only or duplex, it also sets the origin of incoming RTP packets. Rtp packets that don't come from addr:port are discarded.</para><para></para><variablelist role="params"><varlistentry><term><parameter>session</parameter>&nbsp;:</term><listitem><simpara>		a rtp session freshly created.</simpara></listitem></varlistentry><varlistentry><term><parameter>addr</parameter>&nbsp;:</term><listitem><simpara>		a local IP address in the xxx.xxx.xxx.xxx form.</simpara></listitem></varlistentry><varlistentry><term><parameter>port</parameter>&nbsp;:</term><listitem><simpara>		a local port.</simpara></listitem></varlistentry><varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> 0 on success.</simpara></listitem></varlistentry></variablelist></refsect2><refsect2><title><anchor id="rtp-session-set-jitter-compensation">rtp_session_set_jitter_compensation ()</title><indexterm><primary>rtp_session_set_jitter_compensation</primary></indexterm><programlisting><link linkend="void">void</link>        rtp_session_set_jitter_compensation                                            (<link linkend="RtpSession">RtpSession</link> *session,                                             <link linkend="int">int</link> milisec);</programlisting><para>Sets the time interval for which packet are buffered instead of being delivered to the application.</para><para></para><variablelist role="params"><varlistentry><term><parameter>session</parameter>&nbsp;:</term><listitem><simpara> a RtpSession</simpara></listitem></varlistentry><varlistentry><term><parameter>milisec</parameter>&nbsp;:</term><listitem><simpara> the time interval in milisec to be jitter compensed.</simpara></listitem></varlistentry></variablelist></refsect2><refsect2><title><anchor id="rtp-session-set-ssrc">rtp_session_set_ssrc ()</title><indexterm><primary>rtp_session_set_ssrc</primary></indexterm><programlisting><link linkend="void">void</link>        rtp_session_set_ssrc            (<link linkend="RtpSession">RtpSession</link> *session,                                             <link linkend="guint32">guint32</link> ssrc);</programlisting><para>Sets the SSRC for the outgoing stream. If not done, a random ssrc is used.</para><para></para><variablelist role="params"><varlistentry><term><parameter>session</parameter>&nbsp;:</term><listitem><simpara> a rtp session.</simpara></listitem></varlistentry><varlistentry><term><parameter>ssrc</parameter>&nbsp;:</term><listitem><simpara> an unsigned 32bit integer representing the synchronisation source identifier (SSRC).</simpara></listitem></varlistentry></variablelist></refsect2><refsect2><title><anchor id="rtp-session-set-seq-number">rtp_session_set_seq_number ()</title><indexterm><primary>rtp_session_set_seq_number</primary></indexterm><programlisting><link linkend="void">void</link>        rtp_session_set_seq_number      (<link linkend="RtpSession">RtpSession</link> *session,                                             <link linkend="guint16">guint16</link> seq);</programlisting><para>sets the initial sequence number of a sending session.</para><para></para><variablelist role="params"><varlistentry><term><parameter>session</parameter>&nbsp;:</term><listitem><simpara>		a rtp session freshly created.</simpara></listitem></varlistentry><varlistentry><term><parameter>seq</parameter>&nbsp;:</term><listitem><simpara></simpara></listitem></varlistentry></variablelist></refsect2><refsect2><title><anchor id="rtp-session-set-payload-type">rtp_session_set_payload_type ()</title><indexterm><primary>rtp_session_set_payload_type</primary></indexterm><programlisting><link linkend="int">int</link>         rtp_session_set_payload_type    (<link linkend="RtpSession">RtpSession</link> *session,                                             <link linkend="int">int</link> paytype);</programlisting><para>Sets the payload type of the rtp session. It decides of the payload types written in theof the rtp header for the outgoing stream, if the session is SENDRECV or SENDONLY.For the incoming stream, it sets the waited payload type. If that value does not matchat any time this waited value, then the application can be informed by registeringfor the "payload_type_changed" signal, so that it can make the necessary changeson the downstream decoder that deals with the payload of the packets.</para><para></para><variablelist role="params"><varlistentry><term><parameter>session</parameter>&nbsp;:</term><listitem><simpara> a rtp session</simpara></listitem></varlistentry><varlistentry><term><parameter>paytype</parameter>&nbsp;:</term><listitem><simpara> the payload type</simpara></listitem></varlistentry><varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> 0 on success, -1 if the payload is not defined.</simpara></listitem></varlistentry></variablelist></refsect2><refsect2><title><anchor id="rtp-session-signal-connect">rtp_session_signal_connect ()</title><indexterm><primary>rtp_session_signal_connect</primary></indexterm><programlisting><link linkend="int">int</link>         rtp_session_signal_connect      (<link linkend="RtpSession">RtpSession</link> *session,                                             const <link linkend="gchar">gchar</link> *signal,                                             <link linkend="RtpCallback">RtpCallback</link> cb,                                             <link linkend="gpointer">gpointer</link> user_data);</programlisting><para>This function provides the way for an application to be informed of various events thatmay occur during a rtp session. <parameter>signal</parameter> is a string identifying the event, and <parameter>cb</parameter> is a user supplied function in charge of processing it. The application can registerseveral callbacks for the same signal, in the limit of <link linkend="RTP-CALLBACK-TABLE-MAX-ENTRIES:CAPS"><type>RTP_CALLBACK_TABLE_MAX_ENTRIES</type></link>.Here are name and meaning of supported signals types:</para><para>"ssrc_changed" : the SSRC of the incoming stream has changed.</para><para>"payload_type_changed" : the payload type of the incoming stream has changed.</para><para>"telephone-event_packet" : a telephone-event rtp packet (RFC2833) is received.</para><para>"telephone-event" : a telephone event has occured. This is a high-level shortcut for "telephone-event_packet".</para><para>"network_error" : a network error happened on a socket. Arguments of the callback functions are					a const char * explaining the error, an int errno error code and the user_data as usual.</para><para>"timestamp_jump" : we have received a packet with timestamp in far future compared to last timestamp received.					The farness of far future is set by <link linkend="rtp-sesssion-set-time-jump-limit"><function>rtp_sesssion_set_time_jump_limit()</function></link></para><para></para><variablelist role="params"><varlistentry><term><parameter>session</parameter>&nbsp;:</term><listitem><simpara> 	a rtp session</simpara></listitem></varlistentry><varlistentry><term><parameter>signal</parameter>&nbsp;:</term><listitem><simpara>		the name of a signal</simpara></listitem></varlistentry><varlistentry><term><parameter>cb</parameter>&nbsp;:</term><listitem><simpara>			a <link linkend="RtpCallback"><type>RtpCallback</type></link></simpara></listitem></varlistentry><varlistentry><term><parameter>user_data</parameter>&nbsp;:</term><listitem><simpara>	a pointer to any data to be passed when invoking the callback.</simpara></listitem></varlistentry><varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> 0 on success, -EOPNOTSUPP if the signal does not exists, -1 if no more callbackscan be assigned to the signal type.</simpara></listitem></varlistentry></variablelist></refsect2><refsect2><title><anchor id="rtp-session-signal-disconnect-by-callback">rtp_session_signal_disconnect_by_callback ()</title><indexterm><primary>rtp_session_signal_disconnect_by_callback</primary></indexterm><programlisting><link linkend="int">int</link>         rtp_session_signal_disconnect_by_callback                                            (<link linkend="RtpSession">RtpSession</link> *session,                                             const <link linkend="gchar">gchar</link> *signal,                                             <link linkend="RtpCallback">RtpCallback</link> cb);</programlisting><para>Removes callback function <parameter>cb</parameter> to the list of callbacks for signal <parameter>signal</parameter>.</para><para></para><variablelist role="params"><varlistentry><term><parameter>session</parameter>&nbsp;:</term><listitem><simpara> a rtp session</simpara></listitem></varlistentry><varlistentry><term><parameter>signal</parameter>&nbsp;:</term><listitem><simpara>	a signal name</simpara></listitem></varlistentry><varlistentry><term><parameter>cb</parameter>&nbsp;:</term><listitem><simpara>		a callback function.</simpara></listitem></varlistentry><varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> 0 on success, -ENOENT if the callbacks was not found.</simpara></listitem></varlistentry></variablelist></refsect2><refsect2><title><anchor id="rtp-session-send-with-ts">rtp_session_send_with_ts ()</title><indexterm><primary>rtp_session_send_with_ts</primary></indexterm><programlisting><link linkend="gint">gint</link>        rtp_session_send_with_ts        (<link linkend="RtpSession">RtpSession</link> *session,                                             const <link linkend="gchar">gchar</link> *buffer,                                             <link linkend="gint">gint</link> len,                                             <link linkend="guint32">guint32</link> userts);</programlisting><para>Send a rtp datagram to the destination set by <link linkend="rtp-session-set-remote-addr"><function>rtp_session_set_remote_addr()</function></link> containingthe data from <parameter>buffer</parameter> with timestamp <parameter>userts</parameter>. This is a high level function that uses<link linkend="rtp-session-create-packet"><function>rtp_session_create_packet()</function></link> and <link linkend="rtp-session-sendm-with-ts"><function>rtp_session_sendm_with_ts()</function></link> to send the data.</para><para></para><variablelist role="params"><varlistentry><term><parameter>session</parameter>&nbsp;:</term><listitem><simpara> a rtp session.</simpara></listitem></varlistentry><varlistentry><term><parameter>buffer</parameter>&nbsp;:</term><listitem><simpara>	a buffer containing the data to be sent in a rtp packet.</simpara></listitem></varlistentry><varlistentry><term><parameter>len</parameter>&nbsp;:</term><listitem><simpara>		the length of the data buffer, in bytes.</simpara></listitem></varlistentry><varlistentry><term><parameter>userts</parameter>&nbsp;:</term><listitem><simpara>	the timestamp of the data to be sent. Refer to the rfc to know what it is.</simpara></listitem></varlistentry><varlistentry><term><emphasis>Returns</emphasis>&nbsp;:</term><listitem><simpara> the number of bytes sent over the network.</simpara></listitem></varlistentry></variablelist></refsect2><refsect2><title><anchor id="rtp-session-recv-with-ts">rtp_session_recv_with_ts ()</title><indexterm><primary>rtp_session_recv_with_ts</primary></indexterm><programlisting><link linkend="gint">gint</link>        rtp_session_recv_with_ts        (<link linkend="RtpSession">RtpSession</link> *session,                                             <link linkend="gchar">gchar</link> *buffer,                                             <link linkend="gint">gint</link> len,                                             <link linkend="guint32">guint32</link> time,                                             <link linkend="gint">gint</link> *have_more);</programlisting><para>Tries to read the bytes of the incoming rtp stream related to timestamp <parameter>time</parameter>. In case 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -