1

재생 중에 무작위이지만 일관된 지점에서 동영상이 정지되는 것과 관련하여 mp4 비디오를 재생하는 데 문제가 있습니다 (기기마다 다르지만 일관되게 그것은 주어진 장치에서 같은 장소 인 것처럼 보인다). 문제의 비디오는 원격 URL에서 장치로 다운로드되어 내부 장치 저장소에 저장됩니다. 네이티브 VideoView 클래스는 내부 저장소의 비디오 재생을 지원하지 않기 때문에 문제의 비디오 파일을 가리키는 파일 설명자를 받아들이는 새로운 메서드로 VideoView의 수정 된 버전을 만들었습니다. 이 클래스는 미디어 플레이어의 데이터 소스를이 파일 설명 자로 설정하도록 수정되었습니다. 위에서 설명한 동결 문제가 있음에도 불구하고 내부 장치 저장소에서 비디오가 재생됩니다.Android 내부 저장소에서 동영상 재생이 중단되거나 충돌합니다.

아래에 붙여 넣은 logcat 출력으로 판단하면 mediaserver가 중단되고 segfault와 관련된 문제가있는 것으로 보입니다. 나는 인터넷에서 다른 곳에 유사한 충돌의 흔적을 보았지만 비디오 재생보다는 카메라 사용과 관련이있는 것으로 보인다. 필자는 Android 2.2.1을 실행하는 세 대의 핸드셋과 안드로이드 2.1을 실행하는 세 번째 핸드셋에서 이것을 테스트했습니다. 아무도 나에게이 문제의 원인이 될 수있는 것을 알려주고 어떻게 해결할 수 있습니까?

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/DEBUG(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)

+0

당신이 문제의 원인이 된 비디오 파일의 예를 가지고 있습니까 죽는거야? –

+0

외부 저장소에서 수정되지 않은 버전의 videoview로 동일한 파일을 재생하면 어떻게됩니까? –

답변

1

그것은이 question

원인과 관련이은에 충분한 메모리/audioflinger 서비스 관련

관련 문제