97福利在线,亚洲欧美国产日韩在线专区 360doc--su_day的文章 http://bbzoh.cn/rssperson/9192936.aspx 360doc (http://bbzoh.cn) zh-cn 360doc--個(gè)人圖書館 pthread http://bbzoh.cn/content/13/1115/14/9192936_329417775.shtml 2013/11/15 14:22:59
mutex互斥鎖必須是普通鎖(PTHREAD_MUTEX_TIMED_NP)或者適應(yīng)鎖(PTHREAD_MUTEX_ADAPTIVE_NP),,且在調(diào)用pthread_cond_wait()前必須由本線程加鎖(pthread_mutex_lock()),,而在更新條件等待隊(duì)列以前,,mutex保持鎖定狀態(tài),,并在線程掛起進(jìn)入等待前解鎖。在條件滿足從而離開pthread_cond_wait()之前,,mutex將被重新加鎖,,以與進(jìn)入pthread_cond_wait()前的加鎖動作對應(yīng),。static pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
Mongoose源碼剖析:mongoose的工作模型 http://bbzoh.cn/content/13/1115/11/9192936_329378435.shtml 2013/11/15 11:35:29
main(){ 啟動mongoose及設(shè)置相關(guān)參數(shù)(或使用默認(rèn)的); 聲明幾個(gè)信號的處理函數(shù): #ifndef _WIN32 (void) signal(SIGCHLD, signal_handler); #endif /* _WIN32 */ (void) signal(SIGTERM, signal_handler); (void) signal(SIGINT, signal_handler); ctx=mg_start(); process_command_line_arguments(ctx, argv); 進(jìn)入死循環(huán)直到檢測到程序結(jié)束標(biāo)記while(exit_flag==0); mg_stop(); }
Web服務(wù)器 Mongoose 的介紹與安裝 http://bbzoh.cn/content/13/1114/17/9192936_329202973.shtml 2013/11/14 17:18:35
1、Mongoose介紹 2,、Mongoose的編譯和使用 3,、Makefile的簡單分析 4、如何將Mongoose嵌入到應(yīng)用程序中 1,、Mongoose介紹,。從linux: $(CC) $(LINFLAGS) mongoose.c -shared -fPIC -fpic -s -o $(LIB) $(CC) $(LINFLAGS) mongoose.c main.c -s -o $(PROG) 我們知道,在linux下面編譯用到了哪些源文件:編譯庫文件_mongoose.so時(shí)僅用到了mongoose.c文件,,編譯可執(zhí)行文件時(shí)除了mongoose.c文件還用到了main.c。
什么是Mbps,、Kbps,、bps、kb,、mb及其換算和區(qū)別 http://bbzoh.cn/content/10/0926/16/737570_56565969.shtml 2013/10/22 9:58:30
什么是Mbps,、Kbps、bps,、kb,、mb及其換算和區(qū)別【導(dǎo)讀】什么是Mbps、Kbps,、bps,、kb、mb及其換算和區(qū)別:Mbps 即 Milionbit pro second;Kbps 即 Kilobit pro second;bps 即 bit pro second;1Mbps=1000000bps;1M的帶寬下載的速度一般不會超過125KB每秒,。所以1Mbps=1000000bps,;5%#(么K:JFD(本文來自移動通信網(wǎng)www.mscbsc.com,版權(quán)所有在實(shí)際應(yīng)用中,1kbps=1000bps,1Mbps=1000,000bps. 1bps=0.000001bps.
【轉(zhuǎn)】 pthread http://bbzoh.cn/content/13/0829/15/9192936_310729316.shtml 2013/8/29 15:19:44
【轉(zhuǎn)】 pthreadpthread_cond_signal和pthread_cond_wait簡介,。當(dāng)其他線程通過pthread_cond_signal()或pthread_cond_broadcast,,把該線程喚醒,使pthread_cond_wait()通過(返回)時(shí),,該線程又自動獲得該mutex,。pthread_cond_signal函數(shù)的作用是發(fā)送一個(gè)信號給另外一個(gè)正在處于阻塞等待狀態(tài)的線程,使其脫離阻塞狀態(tài),繼續(xù)執(zhí)行.如果沒有線程處在阻塞等待狀態(tài),pthread_cond_signal也會成功返回。
理解EnterCriticalSection 臨界區(qū) http://bbzoh.cn/content/13/0829/10/9192936_310667517.shtml 2013/8/29 10:36:33
//初始化臨界區(qū) EnterCriticalSection(&cs);//進(jìn)入臨界區(qū) //操作數(shù)據(jù) MyMoney*=10;//所有訪問MyMoney變量的程序都需要這樣寫Enter.. Leave... LeaveCriticalSection(&cs);//離開臨界區(qū) DeleteCriticalSection(&cs);//刪除臨界區(qū),。當(dāng)線程ThreadFuncA執(zhí)行了EnterCriticalSection(&cs),,并開始操作dwTime[100]的時(shí)候,線程 ThreadFuncB可能隨時(shí)醒過來,,也開始操作dwTime[100],,這樣,dwTime[100]中的數(shù)據(jù)就被破壞了,。
VC++6.0生成動態(tài)庫并使用 http://bbzoh.cn/content/13/0711/14/9192936_299178011.shtml 2013/7/11 14:51:30
此時(shí)_DLLMETER_API的值為extern “C” _declspec(dllexport),, 可讓DLL導(dǎo)出函數(shù),而將DLL交由其他用戶使用時(shí),因?yàn)闆]有定義_DLLMETER_API,,所有_DLLMETER_API的值為extern "C" _declspec(dllimport),,表明函數(shù)是從動態(tài)鏈接庫中引入的。)5.編譯鏈接6.編譯鏈接后再debug文件夾中可以看到這兩個(gè)文件dllmeter.dll dllmeter.lib dllmeter.dll為生成的動態(tài)庫文件 dllmeter.lib為引入庫文件,。
__declspec(dllexport) & __declspec(dllimport)... http://bbzoh.cn/content/13/0711/14/9192936_299167254.shtml 2013/7/11 14:08:17
__declspec(dllexport) &__declspec(dllimport)...在Windows DLL編程時(shí),,可使用__declspec(dllimport)關(guān)鍵字導(dǎo)入函數(shù)或者變量。#ifdef SIMPLEDLL_EXPORT#define DLL_EXPORT __declspec(dllexport)#else#define DLL_EXPORT#endifclass DLL_EXPORT SimpleDLLClass{public: SimpleDLLClass();#ifdef SIMPLEDLL_EXPORT#define DLL_EXPORT __declspec(dllexport)#else#define DLL_EXPORT __declspec(dllimport)#endif再LINK,,一切正常,。
SIP網(wǎng)絡(luò)單元 http://bbzoh.cn/content/13/0604/16/9192936_290426095.shtml 2013/6/4 16:12:11
SIP網(wǎng)絡(luò)單元SIP網(wǎng)絡(luò)單元 用戶代理(User Agent)SIP用戶代理是一個(gè)SIP邏輯網(wǎng)絡(luò)端點(diǎn),用于創(chuàng)建,、發(fā)送,、接收SIP消息并管理一個(gè)SIP會話。UAC創(chuàng)建并發(fā)送SIP請求,,UAS接收處理SIP請求,,發(fā)送SIP響應(yīng)。SIP代理服務(wù)器(PROXY)在網(wǎng)絡(luò)上位于SIP UAC和UAS之間,,用于幫助UAC和UAS間的消息路由,。SIP注冊服務(wù)器用于接收SIP注冊請求,并保存發(fā)送注冊請求的UA的位置信息,。
sip格式詳解 http://bbzoh.cn/content/13/0525/11/9192936_288047343.shtml 2013/5/25 11:53:36
sip格式詳解sip 事務(wù)的概念:一個(gè)sip 請求以及由它觸發(fā)的一系列應(yīng)答(包括臨時(shí)應(yīng)答和一個(gè)最終應(yīng)答),。sip 請求有6種(核心規(guī)范定義的,也有擴(kuò)展),,也叫6個(gè)方法(Method 字段標(biāo)識):INVITE, ACK,OPTIONS, BYE, CANCEL, REGISTERsip 請求的格式包括請求行(如INVITE sip:192.168.101.30 SIP/2.0),,sip 應(yīng)答的格式包括狀態(tài)行(如SIP/2.0 100 Trying);
SDP http://bbzoh.cn/content/13/0524/17/9192936_287805973.shtml 2013/5/24 17:55:15
SDPSDP:會話描述協(xié)議 ( Session Des cription Protocol)SDP 概述  會話描述協(xié)議(SDP)為會話通知,、會話邀請和其它形式的多媒體會話初始化等目的提供了多媒體會話描述,。SDP 完全是一種會話描述格式 ― 它不屬于傳輸協(xié)議 ― 它只使用不同的適當(dāng)?shù)膫鬏攨f(xié)議,包括會話通知協(xié)議(SAP),、會話初始協(xié)議(SIP),、實(shí)時(shí)流協(xié)議(RTSP)、MIME 擴(kuò)展協(xié)議的電子郵件以及超文本傳輸協(xié)議(HTTP),。這里文本有效載荷指的是 SDP 會話描述,。
RTP協(xié)議 http://bbzoh.cn/content/11/1009/15/496343_154624612.shtml 2013/5/23 16:38:10
RTP協(xié)議。RTP定義了兩種報(bào)文:RTP報(bào)文和RTCP報(bào)文,,RTP報(bào)文用于傳送媒體數(shù)據(jù)(如音頻和視頻),,它由RTP報(bào)頭和數(shù)據(jù)兩部分組成,RTP數(shù)據(jù)部分稱為有效載荷(payload),;RTP報(bào)文和RTCP報(bào)文將作為下層協(xié)議的數(shù)據(jù)單元進(jìn)行傳輸,。在發(fā)送端,,上層應(yīng)用程序以分組形式將編碼后的媒體數(shù)據(jù)傳給RTP通信模塊,作為RTP報(bào)文的有效載荷,,RTP通信模塊將根據(jù)上層應(yīng)用提供的參數(shù)在有效載荷前添加RTP報(bào)頭,,形成RTP報(bào)文,通過Socket接口選擇UDP協(xié)議發(fā)送出去,。
SIP協(xié)議解析與實(shí)現(xiàn)(2) http://bbzoh.cn/content/13/0523/14/9192936_287508769.shtml 2013/5/23 14:18:37
SIP協(xié)議解析與實(shí)現(xiàn)(2)SIP協(xié)議解析與實(shí)現(xiàn)(2)SIP/2.0 200 OK.Via,,To,F(xiàn)rom,,Call-ID和CSeq頭域的值都從INVITE請求拷貝而來(這時(shí)候應(yīng)該有3個(gè)Via頭域,,分別由Alice的SIP軟電話,atlanta.com代理服務(wù)器,,和biloxi.com代理服務(wù)器添加),。最后,Alice發(fā)送一個(gè)確認(rèn)信息(ACK)給Bob的SIP電話,,表示自己收到了最終應(yīng)答(200(OK))。這個(gè)例子中的最終應(yīng)答由Alice直接發(fā)送給了Bob,,這是因?yàn)锳lice的軟電話從Contact頭域里面可以得到Bob的地址信息,。
SIP協(xié)議解析與實(shí)現(xiàn)(1) http://bbzoh.cn/content/13/0523/14/9192936_287508634.shtml 2013/5/23 14:18:02
SIP協(xié)議解析與實(shí)現(xiàn)(1)SIP協(xié)議解析與實(shí)現(xiàn)(1)在這個(gè)例子中,Alice使用一個(gè)在她的PC機(jī)中的SIP應(yīng)用程序呼叫Bob,,Bob使用他的SIP電話,,這個(gè)SIP電話登錄了互聯(lián)網(wǎng)。Alice的SIP URI是:sip:[email protected],。To頭域包含一個(gè)顯示名(Bob)和一個(gè)SIP URI或者SIPS URI,,這里是使用的SIP URI(sip:[email protected])。From頭域也包含一個(gè)顯示名(Alice)和一個(gè)SIP URI或者SIPS URI,,這里是使用的SIP URI(sip:[email protected])來指出請求的發(fā)起人,。
ubuntu9.10安裝openser sip服務(wù)器 http://bbzoh.cn/content/13/0522/21/9192936_287365274.shtml 2013/5/22 21:30:56
ubuntu9.10安裝openser sip服務(wù)器實(shí)現(xiàn)sip網(wǎng)內(nèi)互通 mysql 數(shù)據(jù)庫支持。第二次使用openserctl start打開sip服務(wù)時(shí)出現(xiàn)ERROR: PID file /var/run/openser.pid does not exist -- OpenSER start failed錯誤解決方法: 1)在fedora中,,要關(guān)閉openser,,然后啟動openserctl,就不會出現(xiàn)了,;ubuntu中網(wǎng)上說openserctl start這種命令已經(jīng)過時(shí),,直接使用 /etc/init.d/openser start /etc/init.d/openser stop命令來打開關(guān)閉即可。
Ubuntu輸入su提示認(rèn)證失敗的解決方法 http://bbzoh.cn/content/13/0522/18/9192936_287329403.shtml 2013/5/22 18:34:27
Ubuntu輸入su提示認(rèn)證失敗的解決方法 Ubuntu輸入su提示認(rèn)證失敗的解決方法,。啟動Apache服務(wù)時(shí)竟然提示權(quán)限不夠,,用su切換,輸入密碼提示認(rèn)證失敗,,額,。,。。后來一經(jīng)查閱原來Ubuntu安裝后,,root用戶默認(rèn)是被鎖定了的,,不允許登錄,也不允許 su 到 root ,,對于桌面用戶來說這個(gè)可能是為了增強(qiáng)安全性,,但是服務(wù)器版上的沒這個(gè)還真不行,趕緊設(shè)置下吧,。
YUV格式詳細(xì)解釋與FFMPEG的關(guān)系 http://bbzoh.cn/content/13/0510/23/9192936_284502643.shtml 2013/5/10 23:13:42
YUV主要的采樣格式,。比如說,當(dāng)pix_fmt=PIX_FMT_YUV420P時(shí),,data中的數(shù)據(jù)是按照YUV的格式存儲的,,也就是:case PIX_FMT_YUV420P: case PIX_FMT_YUVJ420P: case PIX_FMT_RGB555: if (PIC_DIRECTION_0 == m_dwFilpPicDirection) { m_pYuvFrame->data [0] += m_pYuvFrame->linesize[0] * m_pVCodecContext->height;
FMpeg分析6:AVPicture、AVFrame和AVPacket http://bbzoh.cn/content/13/0510/18/9192936_284439877.shtml 2013/5/10 18:13:57
typedef struct AVPicture {typedef struct AVFrame.從定義上可知,,AVPicture是AVFrame的一個(gè)子集,,他們都是數(shù)據(jù)流在編解過程中用來保存數(shù)據(jù)緩存的對像,從int av_read_frame(AVFormatContext *s, AVPacket *pkt)函數(shù)看,,從數(shù)據(jù)流讀出的數(shù)據(jù)首先是保存在AVPacket里,,也可以理解為一個(gè)AVPacket最多只包含一個(gè)AVFrame,而一個(gè)AVFrame可能包含好幾個(gè)AVPacket,,AVPacket是種數(shù)據(jù)流分包的概念,。typedef struct AVPacket {} AVPacket;
ffmpeg開發(fā)指南(使用 libavformat 和 libavcodec) http://bbzoh.cn/content/13/0509/19/9192936_284203616.shtml 2013/5/9 19:16:54
Ffmpeg 中的Libavformat 和 libavcodec庫是訪問大多數(shù)視頻文件格式的一個(gè)很好的方法。img_convert((AVPicture *)pFrameRGB, PIX_FMT_RGB24, (AVPicture*)pFrame, pCodecCtx->pix_fmt, pCodecCtx->width, pCodecCtx->height);if(frameFinished) { // 把原始圖像轉(zhuǎn)換成 RGB img_convert((AVPicture *)pFrameRGB, PIX_FMT_RGB24, (AVPicture*)pFrame, pCodecCtx->pix_fmt, pCodecCtx->width, pCodecCtx->height);
ffmpeg結(jié)構(gòu)體以及函數(shù)介紹(三) http://bbzoh.cn/content/13/0506/15/9192936_283377299.shtml 2013/5/6 15:05:49
// 解碼音頻流AVPacket// 使用av_read_frame讀取媒體流后需要進(jìn)行判斷,如果為音頻流則調(diào)用該函數(shù)解碼// 返回結(jié)果<0時(shí)失敗,此時(shí)程序應(yīng)該退出檢查原因// 返回>=0時(shí)正常,假設(shè) 讀取包為:AVPacket vPacket 返回值為 int vLen; 每次解碼正常時(shí),對vPacket做// 如下處理:// vPacket.size -= vLen;// vPacket.data += vLen;// 如果 vPacket.size==0,則繼續(xù)讀下一流包,否則繼續(xù)調(diào)度該方法進(jìn)行解碼,直到vPacket.size==0//