2008年11月18日 星期二

工作日誌 2008/11/17

2008/11/14
收到測試反應此問題,初步分析:此版變更連線方式為stream over TCP,才會產生的問題。2008/11/17
跟jim討論後,應為socket不正常斷線,kernel發生SIGPIPE而程式中並未做處理造成openRTSP不正常結束,導致ndvr程式跟隨結束,CPLD Wd啟動,系統重開機。
解決方式:設定SIGPIPE的處理涵式為程式中原本結束涵式。

Troule Shooting:網路連線不正常中段時處理

在網路連線時,若是遠端伺服器不正常中斷socket時,常常會造成用戶端不正常結束或工作不正常,此時在linux上的處理方式:
因linux kernel會發出SIGPIPE的信號,所以在程式開始的時候可以使用"signal(SIGPIPE, handler function);"註冊收到此一訊號時的處理涵式,如此就可以避免程式使用預設的處理涵式,進一步造成對程式的損害。
ps:signal很好用,可以處理很多例外的事件。

2008年11月14日 星期五

Issue:Live555 stream over TCP

P1502 will auto-reboot when uses stream over TCP mode and the remote stream server change the resolution.
I just don`t know why, but if turn off the function of stream over TCP, then P1502 is working fine.

2008年11月7日 星期五

Troule Shooting:openRTSP無法接收internet packet

Streaming over TCP

By default, incoming data (RTP and RTCP packets) are streamed using UDP. If, however, you have a broken Internet connection that (for whatever reason) does not pass incoming UDP packets, then you can ask that the incoming data be streamed over TCP instead. (It will use the same TCP connection as RTSP.)

To do this, add the option

    -rtsp-stream-over-tcp 
to MPlayer. (Note that TCP streaming can be used only with "rtsp://" URLs; it can't be used with sessions that are specified using a SDP file.)

2008年11月6日 星期四

Troule Shooting:tail: 無法開啟 ‘+43’ 來讀取資料

問題:
在FC下装arm-elf-tools-20040427.sh的时候出现
# ./arm-elf-tools-20040427.sh
tail: 无法打开 “+43” 读取数据: 没有那个文件或目录
gunzip: stdin: not in gzip format

方案一:
#tail -n+43 arm-elf-tools-20040427.sh >> 1.tar.gz
#tar zxvf 1.tar.gz
这样子你会得到一个usr的文件夹。。
然后: cp -R usr /
方案二:
这是由于脚本中的tail没写对,必须加一个 -n 参数。
#vi arm-elf-tools-20040427.sh
将第39行的代码:
tail +${SKIP} ${SCRIPT} | gunzip | tar xvf -
改成如下:
tail -n +${SKIP} ${SCRIPT} | gunzip | tar xvf

2008年10月28日 星期二

工作日誌 2008/10/28

2008/10/28
PentaMicro:
1. CGI menu release OK.
2. P8504/P4504 v2.00.13R01.PN release OK.
3. P4514 video loss 再測試又ok了,奇怪阿~~~@__@。

Mobigen:
1. 開始build code.
2. 分派到Video/Audio從2008/10/28~2009/01/14。

2008年10月23日 星期四

工作日誌 2008/10/24

2008/10/24
PentaMicro:
1. for Hinet新增一連線傳送event(always connect/1秒一次/當有event時傳送,若無則停止/format與加於stream後的格式相同)
2. CGI menual deadline 更改為下星期一(10/26)
=> 2008/10/28 完成。

2008/10/23
PentaMicro:
1. 更改schedule設定時,影像相關設定不會更新。
=> 2008/10/23 OK.
=>在每次變更codec.xml時,皆會去檢查時間設定;並修改時間檢查錯誤的問題。
2. 當Dual-stream啟動時,bit-rate與設定值不符。
=> 2008/10/24 OK.
3. 當Dual-stream啟動時,dynamic change ips/quality 會有問題。
=> 2008/10/23 當Dual-stream啟動時,在check event發生時,若為P8501時,disable dynamic change ips/quality 功能;若為P8504/P8524還需要作修改。

2008年9月25日 星期四

^___^ 終於完成P500 firmware

在更換AT204x的bin檔成20070111.bin後,HD1/dual-stream的問題就沒在發生了,可惡的penta發行新的bin檔都不測試的喔...
P1502也更改好了,接下來就是hybrid跟4ch half-d1影像的問題,加油...

2008年9月23日 星期二

天阿~~~Dual-stream 怎麼又有問題阿?

好不容易查出 P1502 重開機的問題(因為自己耍白痴,在 pthread_misc 檢查 decoder data 的涵式中的自動重連涵式裡加上了 sleep,讓 watchdog timeout 所以重開機)。
沒想到,上禮拜修改的 P500 CIF/HD1 的 dual-stream 竟然因為輸入解析度設定為 D1 再針對 CIF/HD1 做對應縮小,造成壓縮出來的影像都出現了 interlace 的問題,所以只能放棄重新再回到原本的模式再作修改。
可是經過昨天一天的測試,暈~~~毫無頭緒阿,天阿~~~

2008年9月19日 星期五

P1502 再出發

昨天做了整天的P1502的調整,應該算是完成了整體的測試了
目前仍有的問題:
1. 在區網中,可以連上internet的rtsp server,可是卻無法收到stream date,測試過在x86的平台上現象一樣。所以目前沒有探索的方向 @__@。
昨天遇到難解的BUG:
1.
問題:設定連線到不存在的server,在重開機時,系統啟動receiver後,因為 gCurTime 尚未初使化(其值為0,導致 gVideoCtrlLastTime 也為0),openRTSP 正在等待回應時 -> 此時 pthread_misc 啟動,並初使化 gCurTime 且檢查 gCurTime - gVideoCtrlLastTime 是否大於 20,此時必定為真,接者將會去停止 openRTSP,然後不知道什麼原因,系統就自動重開。
方案:在 pthread_misc 檢查 gCurTime - gVideoCtrlLastTime 之前,先檢查 gVideoCtrlLastTime 是否為 0,若是則將 gVideoCtrlLastTime 設定為 gCurTime。=> OK
2.
問題:在連線上stream server 後,在改換連線到不存在的 server,第一次 ok,但第二次將會導致 sdvr 停止、 watchdog 啟動系統重開。經測試後,發現在第二次連線時,MediaSession* session 不為 null,導致 openRTSP 再結束時會去執行 session->close (),導致整各 sdvr 關閉。
方案:再每次起始 openRTSP 的時後,手動將 session 設定成 null。

2008年9月17日 星期三

@____@ Decoder & Disk format 為什麼會相沖阿?

今天開始測試P1502的 bug list,bus 應該都解完了,時間的問題也在加入 PTS 後,也比較不長出現了。唯獨,啟動 decoder 時, format 大容量的硬碟常常會造成 AT2041 底層卡死,試了好久完全沒有頭緒,最後...使出賤招,再硬碟做 format 的時候,就停止寫入 decoder,也在輸出了畫面上顯示硬碟 format 的訊息,哈哈~~~果然 ok,希望測試能接受阿~~~。

2008年9月9日 星期二

First Step

今天是第一天使用,希望能保持習慣,一直使用下去,紀錄些工作上的紀錄。