原创 chromium net庫設計 頂 原

總覽 網絡棧主要地是一個單線程跨平臺的庫,主要負責資源獲取。它的主要接口是URLRequest和URLRequestContext。URLRequest, 正如它的名字所表明的那樣,表示一個URL的請求。URLRequestContext包

原创 live555 源碼分析:子會話 SDP 行生成 頂 原

如我們在前文 live555 源碼分析:ServerMediaSession 中看到的,H264VideoFileServerMediaSubsession 的繼承層次體系如下圖: 在這個繼承層次體系中,ServerMediaSubses

原创 在 Android 中使用 OpenGL 頂 原

Android 通過 OpenGL 包含了對高性能 2D 和 3D 圖形的支持,特別是 OpenGL ES API。OpenGL 是一個跨平臺的圖形 API,它爲 3D 圖形處理硬件規定了一個標準的軟件接口。OpenGL ES 是一種用於嵌

原创 Android 圖形驅動初始化 頂 原 薦

從應用程序的角度看 OpenGL 圖形系統的接口,主要包括兩大部分,一部分是 EGL,它爲 OpenGL 渲染準備環境;另一部分是 OpenGL,它執行圖形渲染。通過這些接口構造渲染環境,並執行渲染的過程,可以參考 在 Android 中使

原创 Android 圖形架構 頂 原

每一個開發者都應該瞭解的關於 Surface,SurfaceHolder,EGLSurface,SurfaceView,GLSurfaceView,SurfaceTexture,TextureView,SurfaceFlinger,和 Vu

原创 Chromium Android編譯指南 頂 原

先決條件 需要有一臺裝有Linux操作系統環境的主機來做編譯,這個環境的搭建配置方法可以參考Linux-specific build instructions。目前還不支持在其它(Mac/Windows)平臺上來爲Android編譯Chro

原创 live555 源碼分析:播放啓動 頂 原

本文分析 live555 中,流媒體播放啓動,數據開始通過 RTP/RTCP 傳輸的過程。 如我們在 live555 源碼分析:子會話 SETUP 中看到的,一個流媒體子會話的播放啓動,由 StreamState::startPlaying

原创 OkHttp3中的代理與路由 頂 原

路由是什麼呢?路由即是網絡數據包在網絡中的傳輸路徑,或者說數據包在傳輸過程中所經過的網絡節點,比如路由器,代理服務器之類的。 那像OkHttp3這樣的網絡庫對於數據包的路由需要做些什麼事呢?用戶可以爲終端設置代理服務器,HTTP/HTTPS

原创 Android 圖形系統概述 頂 原

Android framework 爲2D 和 3D 提供了各種各樣的圖形渲染 APIs 來與設備製造商的圖形驅動實現交互,因此對於那些 API 在上層如何工作有一個好的理解非常重要。這一頁介紹驅動基於其構建的圖形硬件抽象層 (HAL)。

原创 Playing with QUIC 頂 原

選擇一個QUIC代碼源 下面的說明是用來基於chromium代碼庫編譯QUIC代碼。在Chrome支持的任何平臺上,這裏的說明都能保證是有效的,遇到問題時可以查看一些擴展的故障排查的文檔。如果你不想checking out整個chrome,

原创 EGL Context 創建 頂 原

繼續 EGL context 創建的分析。 eglInitialize() 來看 EGL10.eglInitialize() 的實現。com.google.android.gles_jni.EGLImpl 中,這個方法的實現如下:

原创 JNI 技巧 頂 原

JNI 是指 Java 本地層接口(Java Native Interface)。它爲用 Java 語言編寫的受控代碼定義了一種與本地層代碼(用 C/C++ 編寫)交互的方式。它是廠商無關的,其支持從動態共享庫加載代碼,儘管有時笨重,但它仍

原创 GN的使用 - GN工具 頂 原

GN的使用 - GN工具 GN工具可以幫助我們對我們的編譯配置的有效性進行檢查,及整個系統有更多得了解。特別是當整個項目變得特別巨大時,這意義尤其重大。 gn args 這個工具有兩個作用,一是生成.ninja編譯配置文件,二是查看當前編

原创 Android 模擬器下載、編譯及調試 頂 原

Android 模擬器源碼下載 Android 模擬器源碼的下載與 Android AOSP 源碼庫的下載過程類似,可以參考 Google 官方提供的 Android 源碼下載文檔 來了解這個過程。 <!--more--> 不同的地方在於,

原创 live555 源碼分析:RTSPServer 組件結構 頂 原

前面幾篇文章分析了 live555 中 RTSP 的處理邏輯,RTSP 處理有關組件的處理邏輯有點複雜,本文就再來梳理一下它們之間的關係。 live555 中 RTSP 處理有關組件關係如下圖: 事件和執行流程的源頭在 TaskSched