android HLS 初始化過程

2021-06-21 23:47:33 字數 1139 閱讀 4622

記錄android 上http live streaming初始化過程,學習之用

只揀最關鍵部分記錄,其餘的未作詳細記錄

1 httplivesource.cpp  :: prepareasync()-->  這個是比較通用的**初始化過程,和本地一樣

---> new livesession(..)

---> mlivesession->connectasync(...)

2 livesession.cpp :: connectasync(...)

---> new amessage(kwhatconnect)

--->onmessagereceived(...)

------->kwhatconnect->onconnect(msg)

3  livesession.cpp::onconnect(...)

--->fetchplaylist(...)

---->changeconfiguration(...)

4 livesession.cpp::changeconfiguration()

-->changeconfiguration2(...)

5 livesession.cpp::changeconfiguration2(...)

-->changeconfiguration3(..)

5 livesession.cpp::changeconfiguration3(...)

--->fetcher->startasync(..)

6 playlistfetcher::startasync(...)

--->send kwhatstart msg

7 playlistfetcher::onstart(...)

---->postmonitorqueue(...)

8 playlistfetcher::postmonitorqueue()

-->send message ... onmonitorqueue(...)

9 playlistfetcher:: onmonitorqueue(...)

--->ondownloadnext(...)

ondownloadnext 就會在onmonitorqueue的不斷驅動下一直在讀資料,直到收到主動停止訊息以及結束為止。

類初始化和例項初始化過程

類初始化過程 乙個類要建立例項需要先載入並初始化該類 main方法所在的類需要先載入和初始化 乙個子類要初始化需要先初始化父類 乙個類初始化就是執行 方法 由靜態類變數賦值 和靜態 塊組成 靜態類變數賦值 和靜態 塊從上往下執行 方法只執行一次 例項初始化過程 例項初始化就是執行 方法 方法可能過載...

記憶體初始化過程

1,物理記憶體資訊的獲取 0x15中斷,功能號 e820h,e801h,e88h 見檔案 linux arch i386 boot setup.s 執行完上面的 後,記憶體資訊被分為多條資訊放在e820map位置處,每個資訊條目長20位元組,包含乙個記憶體區間的資訊,條目數放在e820nr處。即實際...

Struts初始化過程

sturts初始化過程取決於在web.xml檔案中配置的初始化引數,servlet容器在首次啟動或servlet的第一次請求到達時載入struts actionservlet。在這兩種情況下,要保證init 方法被呼叫,並且必須在servlet處理任何請求之前完成。當init 被呼叫時,struts...