・totemのyoutube plugin
年末年始はあれこれ地区の行事があって慌しい上に、64ビット化の作業で手を取られていたので、 いつの間にか2ヶ月くらい空いてしまった。
このヘンに晒しておくと識者の目に触れることもあるかと思って、作業中のメモを残しておこう.
昨日あたりしばらく調べてみたけど解決しなかったのが、totem-2.32でYouTubeのサムネイルが表示できない問題。 YouTubeプラグインは機能していて動画は表示できるものの、ターミナルの方には
(totem:4796): Totem-WARNING **: Error loading video thumbnail: サポートしていない操作です
なるメッセージが表示されて、検索結果のサムネイルが赤い×になってしまう。
ざっとコードを眺めてみた感じでは、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の下請けに抜けているものでもあるのだろうか?
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 2011-01-18 (火) 20:23:24