Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Logcat show error when come back the activity. #1915

Closed
hardcattle opened this issue Oct 8, 2016 · 2 comments
Closed

Logcat show error when come back the activity. #1915

hardcattle opened this issue Oct 8, 2016 · 2 comments
Labels

Comments

@hardcattle
Copy link

hardcattle commented Oct 8, 2016

Reproduction step:

  1. Play a video with ExoPlayer at a activity, exoPlayer to show the video with surfaceView.
  2. Leave the activity at playing a video.
  3. After that,come back the activity, play the video continue, logcat show error.

Note:
The surface view is destroy when i leave the activity, i create a new surface view when come back. The instance of exoPlayer is not destroy throughout the process.

Log:

10-08 15:08:05.028 15837-6568/com.fxtv.threebears E/BufferQueueProducer: [SurfaceTexture-0-15837-11] queueBuffer: BufferQueue has been abandoned
10-08 15:08:05.028 15837-6568/com.fxtv.threebears E/Surface: queueBuffer: error queuing buffer to SurfaceTexture, -19
10-08 15:08:05.028 15837-6568/com.fxtv.threebears E/ACodec: queueBuffer failed in onOutputBufferDrained: -19
10-08 15:08:05.028 15837-6568/com.fxtv.threebears E/ACodec: signalError(omxError 0x80001001, internalError -19)
10-08 15:08:05.028 15837-6567/com.fxtv.threebears E/MediaCodec: Codec reported err 0xffffffed, actionCode 0, while in state 6
10-08 15:08:05.036 15837-6529/com.fxtv.threebears E/ExoPlayerImplInternal: Internal runtime error.
                                                                           java.lang.IllegalStateException
                                                                               at android.media.MediaCodec.native_dequeueInputBuffer(Native Method)
                                                                               at android.media.MediaCodec.dequeueInputBuffer(MediaCodec.java:2505)
                                                                               at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.feedInputBuffer(MediaCodecRenderer.java:536)
                                                                               at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:478)
                                                                               at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:431)
                                                                               at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:265)
                                                                               at android.os.Handler.dispatchMessage(Handler.java:98)
                                                                               at android.os.Looper.loop(Looper.java:154)
                                                                               at android.os.HandlerThread.run(HandlerThread.java:61)
                                                                               at com.google.android.exoplayer2.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40)
10-08 15:08:05.066 15837-6568/com.fxtv.threebears E/Surface: getSlotFromBufferLocked: unknown buffer: 0xc40db3a0
10-08 15:08:05.066 15837-6568/com.fxtv.threebears W/ACodec: [OMX.qcom.video.decoder.avc] can not return buffer 38 to native window
10-08 15:08:05.067 15837-6568/com.fxtv.threebears E/Surface: getSlotFromBufferLocked: unknown buffer: 0xc40daec0
10-08 15:08:05.067 15837-6568/com.fxtv.threebears W/ACodec: [OMX.qcom.video.decoder.avc] can not return buffer 37 to native window
10-08 15:08:05.067 15837-6568/com.fxtv.threebears E/Surface: getSlotFromBufferLocked: unknown buffer: 0xc40daf20
10-08 15:08:05.067 15837-6568/com.fxtv.threebears W/ACodec: [OMX.qcom.video.decoder.avc] can not return buffer 36 to native window
10-08 15:08:05.068 15837-6568/com.fxtv.threebears E/Surface: getSlotFromBufferLocked: unknown buffer: 0xc40da440
10-08 15:08:05.068 15837-6568/com.fxtv.threebears W/ACodec: [OMX.qcom.video.decoder.avc] can not return buffer 35 to native window
10-08 15:08:05.069 15837-6568/com.fxtv.threebears E/Surface: getSlotFromBufferLocked: unknown buffer: 0xc40db520
10-08 15:08:05.069 15837-6568/com.fxtv.threebears W/ACodec: [OMX.qcom.video.decoder.avc] can not return buffer 32 to native window
10-08 15:08:05.069 15837-6568/com.fxtv.threebears E/Surface: getSlotFromBufferLocked: unknown buffer: 0xc40db640
10-08 15:08:05.069 15837-6568/com.fxtv.threebears W/ACodec: [OMX.qcom.video.decoder.avc] can not return buffer 31 to native window
10-08 15:08:05.082 15837-15837/com.fxtv.threebears D/fxtv_MeasureHelper: doMeasure,default width size = 2560
10-08 15:08:05.082 15837-15837/com.fxtv.threebears D/fxtv_MeasureHelper: doMeasure,default height size = 1440
10-08 15:08:05.083 15837-15837/com.fxtv.threebears D/fxtv_MeasureHelper: doMeasure,result w=2560,h=1440
10-08 15:08:05.084 15837-15837/com.fxtv.threebears D/fxtv_MeasureHelper: doMeasure,default width size = 2560
10-08 15:08:05.085 15837-15837/com.fxtv.threebears D/fxtv_MeasureHelper: doMeasure,default height size = 1440
10-08 15:08:05.085 15837-15837/com.fxtv.threebears D/fxtv_MeasureHelper: doMeasure,result w=2560,h=1440
10-08 15:08:05.087 15837-6529/com.fxtv.threebears E/ExoPlayerImplInternal: Stop failed.
                                                                           java.lang.IllegalStateException
                                                                               at android.media.MediaCodec.native_stop(Native Method)
                                                                               at android.media.MediaCodec.stop(MediaCodec.java:2005)
                                                                               at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.releaseCodec(MediaCodecRenderer.java:441)
                                                                               at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onDisabled(MediaCodecRenderer.java:396)
                                                                               at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onDisabled(MediaCodecVideoRenderer.java:275)
                                                                               at com.google.android.exoplayer2.BaseRenderer.disable(BaseRenderer.java:136)
                                                                               at com.google.android.exoplayer2.ExoPlayerImplInternal.resetInternal(ExoPlayerImplInternal.java:624)
                                                                               at com.google.android.exoplayer2.ExoPlayerImplInternal.stopInternal(ExoPlayerImplInternal.java:600)
                                                                               at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:317)
                                                                               at android.os.Handler.dispatchMessage(Handler.java:98)
                                                                               at android.os.Looper.loop(Looper.java:154)
                                                                               at android.os.HandlerThread.run(HandlerThread.java:61)
                                                                               at com.google.android.exoplayer2.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40)

@ojw28
Copy link
Contributor

ojw28 commented Oct 9, 2016

The logging is indicative of you not clearing the old Surface from the player when it's destroyed. It looks like an application error, in that you're most likely failing to do this.

@ojw28 ojw28 added the question label Oct 9, 2016
@hardcattle
Copy link
Author

Thanks! I forget call the method of clearVideoSurface when it's destroyed.

@google google locked and limited conversation to collaborators Jun 28, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants