martinbonnin / ExoPlayer

Apache License 2.0
22 stars 3 forks source link

Playback fails on android 4.1.2 / 4.2.2 #4

Closed fougere-mike closed 10 years ago

fougere-mike commented 10 years ago

It appears the video decoder fails to initialize on android 4.1.2 and 4.2.2. The player reaches the BUFFERING state, then an error occurs.

I have included logs below:

Acer Iconia w/ android 4.1.2

08-18 13:46:47.679: D/ACodec(5893): [OMX.MTK.VIDEO.DECODER.AVC] Now Loaded
08-18 13:46:47.694: I/ACodec(5893): mSupportsPartialFrames 0 err 0 
08-18 13:46:47.805: D/ACodec(5893): [OMX.MTK.VIDEO.DECODER.AVC] Now Loaded->Idle
08-18 13:46:47.805: E/MemoryHeapBase(5893): mmap(fd=53, size=0) failed (Invalid argument)
08-18 13:46:47.805: D/ACodec(5893): native_window_set_buffers_geometry W(1752419432), H(0), Stride(0), SliceH(1645604196)
08-18 13:46:47.806: E/ACodec(5893): native_window_set_buffers_geometry failed: Invalid argument (22)
08-18 13:46:47.806: E/ACodec(5893): Failed to allocate buffers after transitioning to IDLE state (error 0xffffffea)
08-18 13:46:47.806: D/ACodec(5893): [OMX.MTK.VIDEO.DECODER.AVC] Now Loaded
08-18 13:46:47.807: E/MediaCodec(5893): Codec reported an error. (omx error 0x80001001, internalError -22)
08-18 13:46:47.807: D/dalvikvm(5893): GC_FOR_ALLOC freed 154K, 6% free 30459K/32375K, paused 122ms, total 125ms
08-18 13:46:47.808: I/Choreographer(5893): Skipped 40 frames!  The application may be doing too much work on its main thread.
08-18 13:46:47.838: E/ExoPlayerImplInternal(5893): Internal track renderer error.
08-18 13:46:47.838: E/ExoPlayerImplInternal(5893): com.google.android.exoplayer.ExoPlaybackException: com.google.android.exoplayer.MediaCodecTrackRenderer$DecoderInitializationException: Decoder init failed: OMX.MTK.VIDEO.DECODER.AVC, MediaFormat(video/avc, -1, 0, 0, -1, -1, -1, -1)
08-18 13:46:47.838: E/ExoPlayerImplInternal(5893):  at com.google.android.exoplayer.MediaCodecTrackRenderer.maybeInitCodec(MediaCodecTrackRenderer.java:273)
08-18 13:46:47.838: E/ExoPlayerImplInternal(5893):  at com.google.android.exoplayer.MediaCodecTrackRenderer.feedInputBuffer(MediaCodecTrackRenderer.java:461)
08-18 13:46:47.838: E/ExoPlayerImplInternal(5893):  at com.google.android.exoplayer.MediaCodecTrackRenderer.doSomeWork(MediaCodecTrackRenderer.java:388)
08-18 13:46:47.838: E/ExoPlayerImplInternal(5893):  at com.google.android.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:407)
08-18 13:46:47.838: E/ExoPlayerImplInternal(5893):  at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:203)
08-18 13:46:47.838: E/ExoPlayerImplInternal(5893):  at android.os.Handler.dispatchMessage(Handler.java:95)
08-18 13:46:47.838: E/ExoPlayerImplInternal(5893):  at android.os.Looper.loop(Looper.java:153)
08-18 13:46:47.838: E/ExoPlayerImplInternal(5893):  at android.os.HandlerThread.run(HandlerThread.java:60)
08-18 13:46:47.838: E/ExoPlayerImplInternal(5893):  at com.google.android.exoplayer.ExoPlayerImplInternal$1.run(ExoPlayerImplInternal.java:109)
08-18 13:46:47.838: E/ExoPlayerImplInternal(5893): Caused by: com.google.android.exoplayer.MediaCodecTrackRenderer$DecoderInitializationException: Decoder init failed: OMX.MTK.VIDEO.DECODER.AVC, MediaFormat(video/avc, -1, 0, 0, -1, -1, -1, -1)
08-18 13:46:47.838: E/ExoPlayerImplInternal(5893):  at com.google.android.exoplayer.MediaCodecTrackRenderer.maybeInitCodec(MediaCodecTrackRenderer.java:270)
08-18 13:46:47.838: E/ExoPlayerImplInternal(5893):  ... 8 more
08-18 13:46:47.838: E/ExoPlayerImplInternal(5893): Caused by: java.lang.IllegalStateException
08-18 13:46:47.838: E/ExoPlayerImplInternal(5893):  at android.media.MediaCodec.start(Native Method)
08-18 13:46:47.838: E/ExoPlayerImplInternal(5893):  at com.google.android.exoplayer.MediaCodecTrackRenderer.maybeInitCodec(MediaCodecTrackRenderer.java:266)
08-18 13:46:47.838: E/ExoPlayerImplInternal(5893):  ... 8 more
08-18 13:46:47.841: D/ACodec(5893): Now uninitialized
08-18 13:46:47.867: I/SurfaceTextureClient(5893): [0x67c3af08] frames:2, duration:1.447000, fps:1.381519
08-18 13:46:47.872: I/System.out(5893): [CDS]close[50588]
08-18 13:46:47.914: E/VideoPlayerActivity(5893): onError(): Decoder init failed: OMX.MTK.VIDEO.DECODER.AVC, MediaFormat(video/avc, -1, 0, 0, -1, -1, -1, -1)

Asus nexus 7 2012 w/ android 4.2.2

08-19 11:43:19.342: E/ACodec(4688): [OMX.Nvidia.h264.decode] setting nBufferCountActual to 6 failed: -1010
08-19 11:43:19.342: E/ACodec(4688): Failed to allocate buffers after transitioning to IDLE state (error 0xfffffc0e)
08-19 11:43:19.342: E/MediaCodec(4688): Codec reported an error. (omx error 0x80001001, internalError -1010)
08-19 11:43:19.352: E/ExoPlayerImplInternal(4688): Internal track renderer error.
08-19 11:43:19.352: E/ExoPlayerImplInternal(4688): com.google.android.exoplayer.ExoPlaybackException: com.google.android.exoplayer.MediaCodecTrackRenderer$DecoderInitializationException: Decoder init failed: OMX.Nvidia.h264.decode, MediaFormat(video/avc, -1, 0, 0, -1, -1, -1, -1)
08-19 11:43:19.352: E/ExoPlayerImplInternal(4688):  at com.google.android.exoplayer.MediaCodecTrackRenderer.maybeInitCodec(MediaCodecTrackRenderer.java:273)
08-19 11:43:19.352: E/ExoPlayerImplInternal(4688):  at com.google.android.exoplayer.MediaCodecTrackRenderer.doSomeWork(MediaCodecTrackRenderer.java:384)
08-19 11:43:19.352: E/ExoPlayerImplInternal(4688):  at com.google.android.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:407)
08-19 11:43:19.352: E/ExoPlayerImplInternal(4688):  at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:203)
08-19 11:43:19.352: E/ExoPlayerImplInternal(4688):  at android.os.Handler.dispatchMessage(Handler.java:95)
08-19 11:43:19.352: E/ExoPlayerImplInternal(4688):  at android.os.Looper.loop(Looper.java:137)
08-19 11:43:19.352: E/ExoPlayerImplInternal(4688):  at android.os.HandlerThread.run(HandlerThread.java:60)
08-19 11:43:19.352: E/ExoPlayerImplInternal(4688):  at com.google.android.exoplayer.ExoPlayerImplInternal$1.run(ExoPlayerImplInternal.java:109)
08-19 11:43:19.352: E/ExoPlayerImplInternal(4688): Caused by: com.google.android.exoplayer.MediaCodecTrackRenderer$DecoderInitializationException: Decoder init failed: OMX.Nvidia.h264.decode, MediaFormat(video/avc, -1, 0, 0, -1, -1, -1, -1)
08-19 11:43:19.352: E/ExoPlayerImplInternal(4688):  at com.google.android.exoplayer.MediaCodecTrackRenderer.maybeInitCodec(MediaCodecTrackRenderer.java:270)
08-19 11:43:19.352: E/ExoPlayerImplInternal(4688):  ... 7 more
08-19 11:43:19.352: E/ExoPlayerImplInternal(4688): Caused by: java.lang.IllegalStateException
08-19 11:43:19.352: E/ExoPlayerImplInternal(4688):  at android.media.MediaCodec.start(Native Method)
08-19 11:43:19.352: E/ExoPlayerImplInternal(4688):  at com.google.android.exoplayer.MediaCodecTrackRenderer.maybeInitCodec(MediaCodecTrackRenderer.java:266)
08-19 11:43:19.352: E/ExoPlayerImplInternal(4688):  ... 7 more
fougere-mike commented 10 years ago

Updated with crash logs from another device.

fougere-mike commented 10 years ago

Further research suggests these are two different issues. I will close this, and open a new issue for each to keep things better organized.