ちょっと脇道にそれますがChromecastを買ってみました。
私の持っている、TVチューナーと組み合わせると、
凄く良い感じです。
録画サーバーにしてあるUbuntu上では、TV番組を mp4(H.264)に
変換しつつ録画。それを apache + h264 streaming mod で配信。
Chromecast SDKのサンプルをちょっと改造しアプリを用意。
無事、Chromecastを接続したテレビで録画データが再生できました。
ビエラジャンプリンクとか目じゃない位、いい感じです。
というか、私はビエラジャンプリンク対応前のビエラなので、
そんな機能は使ったことありませんが...^^;
ただ、このソフトを真っ当な手段で公開するためには、
DRMの仕組みを勉強しないといけません。
widevineとか言う奴が使えるとか使えないとか...
まだ全然分かってません。
よって、お蔵入りというか私の趣味の範囲で
使用する事になるのだと思います...
2014年6月3日火曜日
2014年5月7日水曜日
avcodec_open2でエラー(-1)
ある日、こんな不思議なエラーが発生するようになって、なんでかなぁ~って
avcodecのソースを眺めてみました。
すると...以下のようなソースが
/* If there is a user-supplied mutex locking routine, call it. */
if (lockmgr_cb) {
if ((*lockmgr_cb)(&codec_mutex, AV_LOCK_OBTAIN))
return -1;
}
entangled_thread_counter++;
if (entangled_thread_counter != 1) {
av_log(avctx, AV_LOG_ERROR, "insufficient thread locking around avcodec_open/close()\n");
ret = -1;
goto end;
}
えっ、排他制御を勝手にやってくれないの?
av_lockmgr_registerで排他制御用の関数を登録したら解決しました。
pthread使って勝手にやってくれれば良いのに、何か拘りがあるのかなぁ?
不思議です。
avcodecのソースを眺めてみました。
すると...以下のようなソースが
/* If there is a user-supplied mutex locking routine, call it. */
if (lockmgr_cb) {
if ((*lockmgr_cb)(&codec_mutex, AV_LOCK_OBTAIN))
return -1;
}
entangled_thread_counter++;
if (entangled_thread_counter != 1) {
av_log(avctx, AV_LOG_ERROR, "insufficient thread locking around avcodec_open/close()\n");
ret = -1;
goto end;
}
えっ、排他制御を勝手にやってくれないの?
av_lockmgr_registerで排他制御用の関数を登録したら解決しました。
pthread使って勝手にやってくれれば良いのに、何か拘りがあるのかなぁ?
不思議です。
2014年4月19日土曜日
sys_config.fex の ir_para で ir_addr_code を指定出来るようになった。
新しいCubieのSDKでは、今まで使えていたリモコンが使えなくなりました。
今更ビルドミスも無いだろうと思い、ドライバの違いを確認していたら、やっぱりありました。
if(SCIRPT_ITEM_VALUE_TYPE_INT != script_get_item("ir_para", "ir_addr_code", &ir_addr_code)){
pr_err("%s: ir_addr_code script_get_item error. \n",__func__ );
ir_addr_code = 0x9f00;
}
ふーん。今までの #define で値を指定する方式では無くなって、
sys_config.fex で変更できるようになったんだね。
折角、今更こんな機能をご丁寧に作りこんだと言うのなら、sys_config.fex には...
「オプション増えたぜー!、ひゃっほー!、俺最高ー!」
ってコメント書いといてよ。
一番新しいと思われるSDK
本職でテンパっていて、音楽再生アプリ開発はとん挫してますが...
cubieboard2は、地道に使ってます。
Cubieの公式サイトには、一番新しいSDKでビルドしたと思われるCubietruckの
イメージがアップされているようなのですが、ソースがアップされてません。
http://cubieboard.org/2014/01/13/upgrade-new-android-for-cubietruckv1-01
Allwinnerからの正規のルートで、これと同じと思われるSDKのソースは入手してはいるのですが、
やっぱりCubieboard用の正規の物も比較用に配布して欲しいなぁと思ってました。
とは言っても、無い物は無いので、諦めていたのですが、全然関係無い調べ物をしているときに見つけました。
Cubietechの中の人のブログっぽいとこにSDKがアップされてる。
https://plus.google.com/+HuangBenn/posts/h2Q1KhWyPdo
なんでこんな所???
ちゃんとリソースのサイトで公開すれば良いのに...
ただし、注意点として、これビルドしてもCubieboard2では起動しませんでした。
多分、カーネルのconfigがcubietruck用になっているようです。
とりあえず、cubietruckで追加されたようなH/W絡みの設定(BTとBroadcomのWIFIとGMAC)
を削除したら起動しました。
本当の所、何が原因だったかは、まだ追及してません。
登録:
投稿 (Atom)