[[diary/Kojima]]

・totemのyoutube plugin

年末年始はあれこれ地区の行事があって慌しい上に、64ビット化の作業で手を取られていたので、
いつの間にか2ヶ月くらい空いてしまった。

このヘンに晒しておくと識者の目に触れることもあるかと思って、作業中のメモを残しておこう.

昨日あたりしばらく調べてみたけど解決しなかったのが、totem-2.32でYouTubeのサムネイルが表示できない問題。
YouTubeプラグインは機能していて動画は表示できるものの、ターミナルの方には

 (totem:4796): Totem-WARNING **: Error loading video thumbnail: サポートしていない操作です

なるメッセージが表示されて、検索結果のサムネイルが赤い×になってしまう。

#ref("youtube.jpg")

ざっとコードを眺めてみた感じでは、thumbnail_opened_cb() の中で
thumbnail_file を g_file_read_finish() してもNULLが帰ってきてしまうので
サムネイルの実体が入手できていない感じ。

 static void
 thumbnail_opened_cb (GObject *source_object, GAsyncResult *result, ThumbnailData *data)
 {
  	GFile *thumbnail_file;
 	GFileInputStream *input_stream;
 	GError *error = NULL;
 
 	/* Finish opening the thumbnail */
 	thumbnail_file = G_FILE (source_object);
 	input_stream = g_file_read_finish (thumbnail_file, result, &error);
 
 	if (input_stream == NULL) {
 		/* Don't display an error message, since this isn't really meant to happen */
 		g_warning ("Error loading video thumbnail: %s", error->message);
 		g_error_free (error);
 		return;
 	}

すこしデバッグ用にイジって、thumnail_fileのbasenameとかURLを出力させたら、

 (totem:4796): Totem-WARNING **: basename: hqdefault.jpg 
 (totem:4796): Totem-WARNING **: pathname: (null) 
 (totem:4796): Totem-WARNING **: uriname: http://i.ytimg.com/vi/CbgjZE3I3lk/hqdefault.jpg 

みたいな結果が帰ってくるので、thumbnail_file まではちゃんと動いているみたいで、
g_file_read_finish()が "Operation not supported" なエラーを返しているらしい。

g_file_read_finish()はGlib/GIOレベルの機能になって調べきれてないけど、
g_file_read_finish()はasyncなGfileの読み込みで、GIOの中でも基本的な機能だろうから、
URIなGfileだと Operation not supported になるなんてことは無いと思うのだが、
何かGIOの下請けに抜けているものでもあるのだろうか?
- 元ネタとは関係ないけど、これを書く時にgoogle-chromeを使っていて、Wikiにfileを添付しようとしてファイル選択ウィンドウを開き、jpgファイルを選択するとSeg.Faultする模様。gdb経由で動かしてやれば、

 Program received signal SIGSEGV, Segmentation fault.
 0x00007ffff1beb56e in __longjmp () from /lib64/libc.so.6
 (gdb) list
 1	io-jpeg.c: No such file or directory. 
 	in io-jpeg.c

なんて結果になっているので、libjpegがらみの問題かな?
file://... 経由でjpegファイルを開く分には問題ないので、
ファイル選択ウィンドウで選択した画像のサムネイルを表示するあたりでトラブってるっぽい -- [[kojima]] &new{2011-01-18 (火) 20:23:24};
- 当てずっぽうですが、呼び出し元でlongのビット長を32ビット決め打ちで処理してなイカ? -- [[tamu]] &new{2011-01-18 (火) 20:43:24};

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS