原创 RTP荷載H264碼流

1.荷載結構   RTP定義了三種荷載H264碼流的結構,採用的結構格式在RTP荷載的H264碼流的第一個字節的後5個bit位,也就是data[0]的後5個bit位。可以通過:   unsigned nalType = data

原创 ARTSPConnection::postReceiveReponseEvent啓動發送請求循環

  下面貼出安卓N版本ARTSPConnection是如何啓動向服務端發送請求,接收服務端的響應這樣一個循環的:    ==> void ARTSPConnection::postReceiveReponseEvent() {

原创 ARTSPConnection::performConnect函數完成RTSP流的連接

void ARTSPConnection::performConnect(const sp<AMessage> &reply, AString host, unsigned port) { //傳遞來的參數

原创 ARTSPConnection::receiveLine

1.RTSP消息格式的格式   RTSP的消息有兩大類: 請求消息(request), 迴應消息(response).      請求消息: 方法 URI RTSP版本 CR LF 消息頭 CR LF

原创 ARTSPConnection對RTSP流的連接過程

  下面貼出安卓N版本ARTSPConnection::connect的調用流程:    ==> void ARTSPConnection::connect(const char *url, const sp<AMessage>

原创 MyHandler::SplitString

//SplitString函數是MyHandler提供的一個靜態函數接口 //該函數的功能是將傳進來的字符串s,按分隔符separator將 //源字符串分割成若干子串,然後存放到iterms容器裏 sta

原创 MyHandler::setupTrack

void setupTrack(size_t index) { //由會話描述對象mSessionDesc和參數index創建一個APacketSource類型對象 sp<APacketSource

原创 ARTPConnection::postPollEvent

==> void ARTPConnection::postPollEvent() { //mPollEventPending的值在構造函數中被初始化爲false if (mPollEventPending) {

原创 NuPlayer從服務端獲取應答消息流程

  本文具體介紹NuPlayer獲取應答消息的代碼流程,流程設計到的每一個行數的詳細介紹在之前的文章都有介紹。   下一篇文章介紹接收到服務端發送來的應答消息後的處理過程:   ARTSPConnection::notifyRespo

原创 ARTPConnection::addStream

==> //新建消息msg,消息名爲'accu',消息處理者爲this,也即MyHandler //該消息的引用最終會傳遞到ARTPConnection的容器mStreams的元素的mNotifyMsg域裏 //該消息被用來通知成功接收到

原创 ASessionDescription::parseNTPRange

// static //該函數的功能是從傳入的參數s中解析出連個時間戳npt1,npt2,用浮點數表示 //數據的組織格式:形如123.45-125 //兩個時間的分隔符是’-‘ // static bool ASessionDes

原创 nuplayer處理服務端的應答消息notifyResponseListener

  NuPlayer具體對服務端的處理消息是在notifyResponseListener函數。 bool ARTSPConnection::notifyResponseListener( const sp<ARTSPRe

原创 MyHandler對'play'消息的處理

case 'play': { //從消息msg的"result"得到result的值 int32_t result;

原创 MyHandler對消息'setu'的處理

case 'setu': { //在消息msg的字段"index"得到index的值 size_t index;

原创 MyHandler.h中的全局函數GetAttribute

//用static修飾使得該全局函數只在MyHandler.h中可見 static bool GetAttribute(const char *s, const char *key, AString *value) { //返回值