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