Armadillo-500FXで動画が表示されない

182 views
Skip to first unread message

redarea

unread,
Dec 8, 2008, 9:58:50 PM12/8/08
to Android-Embedded-Japan
はじめまして、redareaと申します。
早速で申し訳ありませんが、質問させてください。

現在、Armadillo-500FX で Android を動かしています。
動画をVideoViewなどで見たいと思っていますが、
Armadillo-500FXで動画を再生すると、動画が表示されません。

エミュレータでは、Android のBrowser で動画のリンクをクリックなどすると、
VideoView で動画を見ることが出来るのですが、
Armadillo-500FXでは、
動画は再生されているよう(プログレスバーは動いている)ですが
動画が表示されません。

Armadillo-500FXの設定は以下の通り行いました。
http://armadillo.atmark-techno.com/howto/try-android-on-armadillo

Armadillo-500FXで動画を再生しているところをddmsで見てみると、
以下のようなエラーが出ていました。

E/MemoryHeapBase( 1300): error opening /dev/pmem_adsp: No such file or
directory
E/VideoMIO( 1300): Error creating frame buffer heap
E/MemoryHeapBase( 2309): error opening /dev/pmem: No such file or
directory
E/SurfaceFlinger( 2309): Couldn't open /sys/android_power/
wait_for_fb_sleep or
/sys/android_power/wait_for_fb_wake

何か設定など必要なのでしょうか。

以上、よろしくお願いいたします。

Akio Kondo

unread,
Dec 8, 2008, 10:40:27 PM12/8/08
to Android-Embedded-Japan
redareaさん

近藤@組み込みWGです。

pmem関連でエラーが出ているようですが、
pmemはQualcommのmsmのチップ向けにハードウェアアクセラレータが利くように
大きな連続メモリ領域を使用する場合に使われているようです。

http://groups.google.com/group/android-porting/browse_thread/thread/5cd2f0a9749f1733/810531ff2835fedb?lnk=gst&q=dev%2Fpmem#810531ff2835fedb

msmチップ向けに限定してしまっている為、

>This mechanism is very crude, right know and it will be refined down the road.

「この仕組みはとても粗雑なので将来改善されるだろう」とGoogleの中の人が回答しています。


また以下のスレッドをpmemで検索すると関連してそうな事例が投稿されています。
http://groups.google.com/group/android-porting/browse_thread/thread/d16f5fc83971bec4/f6fb4a60071016f4?pli=1

system/core/init/devices.cのソースを以下のようにいじって

{ "/dev/pmem", 0660, AID_SYSTEM, AID_GRAPHICS, 0 },
{ "/dev/pmem_gpu", 0660, AID_SYSTEM, AID_GRAPHICS, 1 },
{ "/dev/pmem_adsp", 0660, AID_SYSTEM, AID_AUDIO, 1 },
{ "/dev/pmem_camera", 0660, AID_SYSTEM, AID_CAMERA, 1 },



{ "/dev/pmem", 0660, AID_SYSTEM, AID_GRAPHICS, 0 },
{ "/dev/pmem_gpu", 0660, AID_SYSTEM, AID_GRAPHICS, 0 },
{ "/dev/pmem_adsp", 0660, AID_SYSTEM, AID_AUDIO, 0 },
{ "/dev/pmem_camera", 0660, AID_SYSTEM, AID_CAMERA, 0 },

init.cをリコンパイルしてinitを置き換えてみてはどうでしょうか。
※Androidのユーザーランドのルートにあるinitファイル

根本解決にはなっていなさそうなうえに直るかどうかもわかりませんが・・・。
FXが手元にないので試せなくて申し訳ないです。

nagamatu

unread,
Dec 9, 2008, 12:17:42 AM12/9/08
to Android-Embedded-Japan
Just for quick hack :)

ro.kernel.qemu という system propertyを 1に設定すると hardware acceleratorを利用しなくな
ります。

--
ながまつ

redarea

unread,
Dec 9, 2008, 2:06:29 AM12/9/08
to Android-Embedded-Japan
redareaです。
素早い回答ありがとうございます。

>近藤様
いろいろな情報ありがとうございます。
早速 devices.c を修正して試してみましたが、
前回と同じように以下のようなエラーが出てしまいました。
MemoryHeapBase error opening /dev/pmem_adsp: No such file or directory
VideoMIO Error creating frame buffer heap
やはり、pmem系のドライバを用意しない限り、このエラーは解消されないのでしょうか。
ともかく、改善されることを待つことにします。

>ながまつ様
動画が表示できました!
ただ、少し飛んでいたり、
フレームバッファが追いついていないような部分が目につきますが・・・。
メモリの関係でしょうか。

/mydroid/external/opencore/android/android_surface_output.cpp を見る限り、
ro.kernel.qemuを 1に設定すると、エミュレータとして動作させるようですね。

redarea

unread,
Dec 24, 2008, 3:49:15 AM12/24/08
to Android-Embedded-Japan
redareaです。

前回教えて頂いた内容で、
Armadillo-500FX で動画を全画面表示で再生していますが、
画面左上から右下にかけて斜めに線が入り、
ティアリングのような症状が発生します。

エミュレータ(Armadillo-500FXスキン使用:VGA)でも試してみましたが、
上記と同じような状況でした。

多少、解像度を落とすと、綺麗に映るのですが・・・。

Android は、動画について何か制約があるのでしょうか。
また、この問題を解決したいので、良い方法があれば教えていただきたく思います。

以上、よろしくお願いいたします。

Akio Kondo

unread,
Dec 24, 2008, 4:36:57 AM12/24/08
to Android-Embedded-Japan
こんどう@組み込みWGです。

現在出先なので試せませんが、再現するアプリのapkファイル、
あるいはソースコードを公開していただければアドバイスが得られやすいと思います。

redarea

unread,
Dec 24, 2008, 9:08:44 PM12/24/08
to Android-Embedded-Japan
redareaです。
ご返答ありがとうございます。

Android の Browser で動画を見たときと同じようなものを作ろうとしています。
アプリのソースは、以下のようなものです。

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

/* ステータスバーの消去 */
this.getWindow().addFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN);

/* タイトルバーの消去 */
requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.main);

/* VideoView */
VideoView videoView = (VideoView) findViewById
(R.id.videoview);
videoView.setVideoPath("/data/sample.3gp");
videoView.setMediaController(new MediaController(this));
videoView.requestFocus();
}

特に上記のアプリだけでなく、
Browser で動画を見たときも同じように斜め線が入ってしまいます。

以上、よろしくお願いいたします。
Reply all
Reply to author
Forward
Message has been deleted
Message has been deleted
0 new messages