开发者

Video playback from Android internal storage eventually hangs/crashes

I'm having an issue playing an mp4 video that involves the video freezing at a random but consistent point during playback (random in that it seems to differ from device to device, but consistent in that it seems to be the same place on a given device). The video in question is downloaded to the device from a remote url and saved to the internal device storage. Since the native VideoView class doesn't support video playback from the internal storage, I've created a modified version of VideoView with a new method that accepts a file descriptor pointing to the video file in question. The class has also been modified to set the media player's data source to this file descriptor. This results in the video being played from the internal device storage, albeit with the freezing issue described above.

Judging by the logcat output pasted below, there seems to be an issue with the mediaserver crashing, possibly involving a segfault. I've seen stack traces of similar crashes elsewhere on the 'net but they seem to be related to camera usage rather than video playback. I've tested this on three different handsets, two running Android 2.2.1 and the third running Android 2.1. Can anybody indicate to me what might be causing this issue and how I can fix or circumvent it?

WARN/InputManagerService(103): [ 01-25 14:55:48.791 9274:0x27db F/MPEG4Extractor ]

WARN/InputManagerService(103): frameworks/base/media/libstagefright/MPEG4Extractor.cpp:1595 srcOffset + mNALLengthSize <= size

INFO/DEBUG(55): * ** * ** * ** * ** * ** **

INFO/DEBUG(55): Build fingerprint: 'vodafone/vfpioneer/sapphire/sapphire:2.2.1/FRG83D/75603:user/release-keys'

INFO/DEBUG(55): pid: 9274, tid: 10203 >>> /system/bin/mediaserver <<<

INFO/DEBUG(55): signal 11 (SIGSEGV), fault addr deadbaad

INFO/DEBUG(55): r0 00000000 r1 0000000c r2 00000027 r3 00000000

INFO/DEBUG(55): r4 00000000 r5 deadbaad r6 00001728 r7 fffde6df

INFO/DEBUG(55): r8 00100000 r9 a340a1f1 10 4050a000 fp 00016db8

INFO/DEBUG(55): ip ffffffff sp 40609908 lr afd154c5 pc afd11dc4 cpsr 40000030

WARN/AACDecoder(9274): AAC decoder returned error 1, substituting silence

...

WARN/AACDecoder(9274): AAC decoder returned error 1, substituting silence

INFO/DEBUG(55): #00 pc 00011dc4 /system/lib/libc.so

INFO/DEBUG(55): #01 pc 0000135c /system/lib/liblog.so

INFO/DEBUG(55): code around pc:

INFO/DEBUG(55): afd11da4 1c2bd00b 2d00682d e026d1fb 2b0068db

INFO/DEBUG(55): afd11db4 4e17d003 51a02001 4d164798 24002227

INFO/DEBUG(55): afd11dc4 f7fb702a 2106ee14 ef10f7fc 05592380

WARN/AACDecoder(9274): AAC decoder returned error 1, substituting silence

INFO/DEBUG(55): afd11dd4 6091aa01 1c116054 94012006 eab6f7fc

INFO/DEBUG(55): afd11de4 2200a905 f7fc2002 f7fbeac2 2106ee00

INFO/DEBUG(55): code around lr:

INFO/DEBUG(55): afd154a4 b0834a0d 589c447b 26009001 686768a5

INFO/DEBUG(55): afd154b4 220ce008 2b005eab 1c28d003 47889901

INFO/DEBUG(55): afd154c4 35544306 d5f43f01 2c006824 b003d1ee

INFO/DEBUG(55): afd154d4 bdf01c30 0002ae7c 000000d4 1c0fb5f0

INFO/DEBUG(55): afd154e4 43551c3d a904b087 1c16ac01 604d9004

INFO/DEBUG(55): stack:

INFO/DEBUG(55): 406098c8 00000000

INFO/DEBUG(55): 406098cc 000003a0

INFO/D开发者_StackOverflow中文版EBUG(55): 406098d0 afd40498 /system/lib/libc.so

INFO/DEBUG(55): 406098d4 afd41b6c /system/lib/libc.so

INFO/DEBUG(55): 406098d8 00000000

INFO/DEBUG(55): 406098dc afd154c5 /system/lib/libc.so

WARN/AACDecoder(9274): AAC decoder returned error 1, substituting silence

INFO/DEBUG(55): 406098e0 00000009

INFO/DEBUG(55): 406098e4 afd1450d /system/lib/libc.so

INFO/DEBUG(55): 406098e8 0000005f

INFO/DEBUG(55): 406098ec afd40328 /system/lib/libc.so

INFO/DEBUG(55): 406098f0 00000000

INFO/DEBUG(55): 406098f4 00001728

INFO/DEBUG(55): 406098f8 fffde6df

INFO/DEBUG(55): 406098fc afd147ab /system/lib/libc.so

INFO/DEBUG(55): 40609900 df002777

INFO/DEBUG(55): 40609904 e3a070ad

INFO/DEBUG(55): #00 40609908 40609904

INFO/DEBUG(55): 4060990c 00000001

INFO/DEBUG(55): 40609910 a2f89987 /system/lib/libstagefright.so

INFO/DEBUG(55): 40609914 0000000f

INFO/DEBUG(55): 40609918 4060993c

INFO/DEBUG(55): 4060991c fffffbdf

INFO/DEBUG(55): 40609920 4060993c

INFO/DEBUG(55): 40609924 a2f89987 /system/lib/libstagefright.so

INFO/DEBUG(55): 40609928 a2fab2a8 /system/lib/libstagefright.so

INFO/DEBUG(55): 4060992c afa0135f /system/lib/liblog.so

INFO/DEBUG(55): #01 40609930 4060993c

INFO/DEBUG(55): 40609934 afa0135f /system/lib/liblog.so

WARN/AACDecoder(9274): AAC decoder returned error 1, substituting silence

WARN/AACDecoder(9274): AAC decoder returned error 1, substituting silence

INFO/DEBUG(55): 40609938 40609d54

INFO/DEBUG(55): 4060993c 6d617266

INFO/DEBUG(55): 40609940 726f7765

INFO/DEBUG(55): 40609944 622f736b

INFO/DEBUG(55): 40609948 2f657361

INFO/DEBUG(55): 4060994c 6964656d

INFO/DEBUG(55): 40609950 696c2f61

INFO/DEBUG(55): 40609954 61747362

INFO/DEBUG(55): 40609958 72666567

INFO/DEBUG(55): 4060995c 74686769

INFO/DEBUG(55): 40609960 45504d2f

INFO/DEBUG(55): 40609964 78453447

INFO/DEBUG(55): 40609968 63617274

INFO/DEBUG(55): 4060996c 2e726f74

INFO/DEBUG(55): 40609970 3a707063

INFO/DEBUG(55): 40609974 35393531

WARN/AACDecoder(9274): AAC decoder returned error 1, substituting silence

...

WARN/AACDecoder(9274): AAC decoder returned error 1, substituting silence

INFO/ServiceManager(52): service 'media.audio_flinger' died

INFO/ServiceManager(52): service 'media.player' died

INFO/ServiceManager(52): service 'media.camera' died

INFO/ServiceManager(52): service 'media.audio_policy' died

WARN/IMediaDeathNotifier(10181): media server died

ERROR/MediaPlayer(10181): error (100, 0)

ERROR/MediaPlayer(10181): Error (100,0)

DEBUG/VideoView(10181): Error: 100,0

WARN/AudioSystem(103): AudioFlinger server died!

WARN/AudioSystem(103): AudioPolicyService server died!

INFO/BootReceiver(103): Copying /data/tombstones/tombstone_03 to DropBox (SYSTEM_TOMBSTONE)


It is related to this question

Causes are related to not enough memory/ audioflinger service dies

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜