VLCのビルド (6)

etchのデフォルトのカーネルはDCCPに標準対応していることに気づく。わざわざsargeで検証することはない。

しかしetchカーネルでDCCPなVLCを動作させても”Protocol not supported”のエラーが出る。

socket周りを調べるとDCCP – LinuxNetに以下の資料が出てきた。

# Create sockets
server = Socket.new(Socket::AF_INET, Socket::SOCK_DCCP, Socket::IPPROTO_DCCP)
client = Socket.new(Socket::AF_INET, Socket::SOCK_DCCP, Socket::IPPROTO_DCCP)

rubyのコードだが、SOCK_DCCPは6で定義される。

しかし、VLCのsrc/network/io.cは以下の通りで、

hints.ai_socktype = SOCK_DGRAM;
int fd = net_Socket (p_this, ptr->ai_family, ptr->ai_socktype,
proto ?: ptr->ai_protocol);

SOCK_DGRAMは2で定義される。

以上のことから、SOCKETのタイプが違うことによってプロトコルが定義できないのかと思っているのだが、修正しても上手くいかない。

もともとUDPなんて決め打ちの依存関係があるので、そこらへんで上手くいっていない可能性が高いが…

カテゴリー: チラシの裏 パーマリンク

VLCのビルド (6) への2件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください