session :已經(jīng)創(chuàng)建的RTP會(huì)話對(duì)象69f平坦軟件園
paytype: 負(fù)載類型(整數(shù))69f平坦軟件園 【返回值】:0表示成功,-1表示該負(fù)載類型未定義69f平坦軟件園 69f平坦軟件園
rtp_session_get_recv_payload_type69f平坦軟件園 【原型】:int rtp_session_get_recv_payload_type(const RtpSession *session) 69f平坦軟件園 【功能】:獲取當(dāng)前的rtp數(shù)據(jù)流的媒體類型69f平坦軟件園 【返回值】: 媒體類型(整數(shù))69f平坦軟件園 rtp_session_send_with_ts69f平坦軟件園
【原型】:int rtp_session_send_with_ts(RtpSession *session,const char *buffer, int len,uint32_t userts) 69f平坦軟件園 【功能】:向目的地址發(fā)送rtp數(shù)據(jù)包69f平坦軟件園 【參數(shù)】:69f平坦軟件園 session :已經(jīng)創(chuàng)建的RTP會(huì)話對(duì)象69f平坦軟件園 buffer :包含要發(fā)送數(shù)據(jù)的緩沖區(qū)69f平坦軟件園 len : 要發(fā)送的數(shù)據(jù)長度69f平坦軟件園 userts : 被發(fā)送數(shù)據(jù)的時(shí)間戳,具體內(nèi)容請(qǐng)參考RFC協(xié)議 69f平坦軟件園 【返回值】: 成功發(fā)送的字節(jié)數(shù)69f平坦軟件園 rtp_session_recv_with_ts69f平坦軟件園
【原型】:int rtp_session_recv_with_ts(RtpSession *session,uint8_t *buffer,int len,uint32_t ts,int *have_more)69f平坦軟件園 【功能】:接收/讀取發(fā)送端發(fā)來的rtp數(shù)據(jù)包69f平坦軟件園 【參數(shù)】:69f平坦軟件園 session :已經(jīng)創(chuàng)建的RTP會(huì)話對(duì)象69f平坦軟件園 buffer : 存放接收的rtp數(shù)據(jù)包的緩沖區(qū)69f平坦軟件園 len : 接收的數(shù)據(jù)長度69f平坦軟件園 ts : 指定的數(shù)據(jù)包時(shí)間戳,在第一次調(diào)用本函數(shù)時(shí),建議從0開始。69f平坦軟件園 have_more: 當(dāng)參數(shù)中buffer緩沖區(qū)大小不足時(shí),此標(biāo)志置1,來提示調(diào)用者再次以同一時(shí)間戳獲取剩余的數(shù)據(jù)。69f平坦軟件園 rtp_session_destroy69f平坦軟件園
【原型】: void rtp_session_destroy(RtpSession *session)69f平坦軟件園 【功能】:摧毀rtp會(huì)話對(duì)象,釋放資源69f平坦軟件園 【參數(shù)】:session已經(jīng)創(chuàng)建的RTP會(huì)話對(duì)象69f平坦軟件園 三、程序示例
下面,我簡(jiǎn)單地通過程序演示了怎么使用ortp進(jìn)行rtp數(shù)據(jù)包的發(fā)送,接收端的程序待以后有時(shí)間再整理出來吧。69f平坦軟件園 ////////////////////////////////////////////////////////////////////////// /// COPYRIGHT NOTICE /// Copyright (c) 2009, 華中科技大學(xué)ticktick Group /// All rights reserved. /// /// @file ortpSend.c /// @brief ortpSend的測(cè)試 /// /// 本文件示例使用ortp庫進(jìn)行rtp數(shù)據(jù)包的發(fā)送 /// /// @version 1.0 /// @author lujun /// @date 2010/07/07 /// @E-mail lujun.hust@gmail.com /// /// 修訂說明:創(chuàng)建文件 ////////////////////////////////////////////////////////////////////////// #include <ortp/ortp.h> #include <stdlib.h> #ifndef _WIN32 #include <sys/types.h> #include <sys/time.h> #include <stdio.h> #endif // 每次發(fā)送的包的大小 160個(gè)字節(jié) #define BYTES_PER_COUNT 160 // 時(shí)間戳 uint32_t g_user_ts=0; /** 初始化 * * 主要用于對(duì)ortp以及其它參數(shù)進(jìn)行初始化 * @param: char * ipStr 目的端IP地址描述串 * @param: iint port 目的端RTP監(jiān)聽端口 * @return: RtpSession * 返回指向RtpSession對(duì)象的指針,如果為NULL,則初始化失敗 * @note: */ RtpSession * rtpInit(char * ipStr,int port) { /r/n/n本文來自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://www./article/program/c/2010-08-24/9645.html
|
|