網路資料流接收處理分析 1、
在input.c(src/input)
檔案中的主線程迴圈
thread in charge of processing the ***work packets and demultiplexing
runthread( input_thread_t *p_input )
2、在下列函式中:
分離出
access , demux , name
字串;
根據分離出的
access
字串通過
module_need
函式找到
acess
指標模組;
根據分離出的
demux
字串通過
module_need
函式找到
demux
指標模組;
static int initthread( input_thread_t * p_input )
3、在
ps.c (module/demux/mpeg)
檔案中
a.通過訊息對映巨集賦值啟動函式
activate;
b.通過函式
activate
賦值p_input->pf_demux = demux;
c.
通過函式
module_need( p_input, "mpeg-system", null, 0 )
啟用p_input->p_demux_data->mpeg.pf_read_ps( p_input, &p_data )
函式(pf_read_ps);
d.
在initthread
函式中啟用;
static int activate( vlc_object_t * p_this )
4、在
system.c (module/demux/mpeg)
檔案中
賦值解碼模組
mpeg_demux_t的成員函式;
static
int activate ( vlc_object_t *p_this )
;
mpeg_demux.cur_scr_time = -1;
memcpy( p_this->p_private, &mpeg_demux, sizeof( mpeg_demux ) );
return vlc_success;
}
並且申明函式static
ssize_t readps( input_thread_t * p_input, data_packet_t ** pp_data );
5、在
ps.c (module/demux/mpeg)
檔案中
demux( input_thread_t * p_input )
進行讀取資料和分離工作; 6、
在system.c (module/demux/mpeg)
檔案中
資料走向圖如下
readps-> peek-> input_peek(src/input/input_ext-plugins.c)->
input_fillbuffert 通過 i_ret = p_input->pf_read( p_input,
(byte_t *)p_buf + sizeof(data_buffer_t)
+ i_remains,
p_input->i_bufsize );
input_thread_t結構的pf_read函式成員如果是為udp.c(modules/access)的rtpchoose函式
則在開啟access(udp 模組)時通過module_need 啟用;
啟用網路讀資料模組 rtpchoose(modules/access/ udp.c)->read->***_read(src/misc/***.c);
7、
在input_programs.c(src/input)
檔案中
執行解碼器對
es流解碼
int input_selectes( input_thread_t * p_input, es_descriptor_t * p_es )
input_selectes(
src/input/input_programs.c
)->input_rundecoder
(src/input/input_dec.c
)->decoderthread->decoderdecode ->vout_displaypicture
vlc學習計畫(5) 網路資料流接收處理過程分析
網路資料流接收處理分析 1 在input.c src input 檔案中的主線程迴圈 thread in charge of processing the network packets and demultiplexing runthread input thread t p input init...
bzoj2132 網路流 最小割 圈地計畫
description 最近房地產商gdoi group of dumbbells or idiots 從noi nuts old idiots 手中得到了一塊開發土地。據了解,這塊土地是一塊矩形的區域,可以縱橫劃分為n m塊小區域。gdoi要求將這些區域分為商業區和工業區來開發。根 據不同的地形環...
Vue再學習6 網路訪問框架
已經停止維護了,作者推薦使用axios。所以就不做過多講解了。1 安裝依賴 npm install vue resource 2 載入外掛程式 mport vuereaource from vue resource vue.use vuereaource 最基本的使用,因為我這裡跨網域名稱訪問,所以...