2006/11/30

Digital Media Center - djmount+ushare

若您對 UPnP 有興趣,GeeXboX 是個不容您錯過的東西,上面中文部份應該全部是我翻譯的,若有誤請幫忙修正,加上 GeeXboX 是個非常活躍的產品,因此文件也常常更新,我是懶懶的,文件過時是正常的。
已初步完成djmount 與 ushare 的合併,不過這兩個套件原本就有點問題,接下來得思考下一步要不要來修正,問題如下:
一、有時 djmount 不會在啟動時很快找到 ushare 分享出來的內容
二、有時光 ls /mnt/av 就會等很久,這是因為它會發出 advertisement 等著回應
三、有時 djmount 會自己不動作

前兩個是 ushare 造成的,後一個是 djmount 來的,還有我覺得該改進之處:
四、i18n 似乎被我改得有問題
五、對 local 目錄的加減檔案應該立即公告週知
六、ushare 功能應該分成現行的指定目錄與全系統自動搜尋
七、ushare 應該將檔案分成三類,也就是更改其檔案架構
八、目前找網卡是以第一個找到的為準,應該修正成第一個非虛擬網卡,甚至是每個網卡各有一個 upnp 服務。
九、應該儘量照 upnp spec 實作,例如傳訊息時要對每張網卡都送。

最後說一下主要更動的內容:
一、libupnp 換成 1.4.1, 並修改 configure #28481 將 --disable-device 拿掉
二、./configure --enable-debug=no
三、主要修改 fuse_main.c, djfs.c, cds.c, 其中前兩個檔最重要

命令下法也有點兩者合一,但移除 ushare 讀 ushare.conf 的部份,例如:
./djmount [-d] /mnt/av -c /Media -o iocharset=big5

1 意見:

菠蘿麵包 提到...

若您有下載我改過的二合一檔,fuse_main.c 我有改 main(), 這是為了將 ushare 啟動的 main() 搬進來,關於二合一的主題被我動最多的檔是 djfs.c

djfs.c 主要是修改幾個 Browse 開頭的函式,如 BrowseRoot(), BrowseLocalChildren(). 它的原理其實很簡單,但是我覺得比較好的是去修改 fuse_main.c 裡的 那一堆 fs_xxxx(),不過那一來就等於整個改寫了。