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

EXO播放器切换全屏问题 #1754

Closed
fenghebaiyang opened this issue Jan 11, 2019 · 5 comments
Closed

EXO播放器切换全屏问题 #1754

fenghebaiyang opened this issue Jan 11, 2019 · 5 comments

Comments

@fenghebaiyang
Copy link
Contributor

fenghebaiyang commented Jan 11, 2019

问题描述:

使用EXO作为播放内核,切换全屏不能自动播放。

问题机型/系统:

例如 小米8 红米4x 华为p9 oppo 等

GSY依赖版本

implementation 'com.shuyu:gsyVideoPlayer-java:6.0.2'

Demo中的复现步骤

在DEMO中使用Exo作为播放内核,运行后,点开Recycle全屏和小窗口列表,正常播放后,点击全屏按钮,切换到全屏之后不会自动播放,日志有报错信息
另外滑动等到小窗口出来也是不能播放,日志输出是一样的

问题log

2019-01-11 14:57:26.792 14525-15049/com.example.gsyvideoplayer E/BufferQueueProducer: [SurfaceTexture-0-14525-18] queueBuffer: BufferQueue has been abandoned
2019-01-11 14:57:26.792 14525-15049/com.example.gsyvideoplayer E/Surface: queueBuffer: error queuing buffer to SurfaceTexture, -19
2019-01-11 14:57:26.792 14525-15049/com.example.gsyvideoplayer E/ACodec: queueBuffer failed in onOutputBufferDrained: -19
2019-01-11 14:57:26.792 14525-15049/com.example.gsyvideoplayer E/ACodec: signalError(omxError 0x80001001, internalError -19)
2019-01-11 14:57:26.792 14525-15048/com.example.gsyvideoplayer E/MediaCodec: Codec reported err 0xffffffed, actionCode 0, while in state 6
2019-01-11 14:57:26.792 14525-15048/com.example.gsyvideoplayer D/SurfaceUtils: disconnecting from surface 0xdad68808, reason disconnectFromSurface
2019-01-11 14:57:26.798 14525-15045/com.example.gsyvideoplayer E/ExoPlayerImplInternal: Internal runtime error.
java.lang.IllegalStateException
at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method)
at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:2642)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.drainOutputBuffer(MediaCodecRenderer.java:1287)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:663)
at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:536)
at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:303)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:166)
at android.os.HandlerThread.run(HandlerThread.java:65)
2019-01-11 14:57:26.804 14525-15049/com.example.gsyvideoplayer W/ACodec: forcing OMX state to Idle when received shutdown in ExecutingState
2019-01-11 14:57:26.837 14525-15049/com.example.gsyvideoplayer E/Surface: getSlotFromBufferLocked: unknown buffer: 0xdabe7a00
2019-01-11 14:57:26.837 14525-15049/com.example.gsyvideoplayer W/ACodec: [OMX.IMG.MSVDX.Decoder.AVC] can not return buffer 18 to native window
2019-01-11 14:57:26.838 14525-15049/com.example.gsyvideoplayer E/Surface: getSlotFromBufferLocked: unknown buffer: 0xcd01c600
2019-01-11 14:57:26.838 14525-15049/com.example.gsyvideoplayer W/ACodec: [OMX.IMG.MSVDX.Decoder.AVC] can not return buffer 17 to native window
2019-01-11 14:57:26.842 14525-15049/com.example.gsyvideoplayer E/Surface: getSlotFromBufferLocked: unknown buffer: 0xdabfee00
2019-01-11 14:57:26.842 14525-15049/com.example.gsyvideoplayer W/ACodec: [OMX.IMG.MSVDX.Decoder.AVC] can not return buffer 11 to native window
2019-01-11 14:57:26.843 14525-14525/com.example.gsyvideoplayer I/GSYVideoPlayer: firstVisibleItem 0 lastVisibleItem 3
2019-01-11 14:57:26.847 14525-14525/com.example.gsyvideoplayer E/BufferQueueProducer: [] Can not get hwsched service
2019-01-11 14:57:26.853 14525-15045/com.example.gsyvideoplayer E/ExoPlayerImplInternal: Stop failed.
java.lang.IllegalStateException
at android.media.MediaCodec.native_stop(Native Method)
at android.media.MediaCodec.stop(MediaCodec.java:2079)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.releaseCodec(MediaCodecRenderer.java:608)
at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.releaseCodec(MediaCodecVideoRenderer.java:508)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onDisabled(MediaCodecRenderer.java:562)
at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onDisabled(MediaCodecVideoRenderer.java:377)
at com.google.android.exoplayer2.BaseRenderer.disable(BaseRenderer.java:153)
at com.google.android.exoplayer2.ExoPlayerImplInternal.disableRenderer(ExoPlayerImplInternal.java:983)
at com.google.android.exoplayer2.ExoPlayerImplInternal.resetInternal(ExoPlayerImplInternal.java:771)
at com.google.android.exoplayer2.ExoPlayerImplInternal.stopInternal(ExoPlayerImplInternal.java:742)
at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:358)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:166)
at android.os.HandlerThread.run(HandlerThread.java:65)
2019-01-11 14:57:26.854 14525-15045/com.example.gsyvideoplayer D/android.media.AudioTrack: [HSM] AudioTrace pause() uid: 10163, pid: 14525
2019-01-11 14:57:26.856 14525-15054/com.example.gsyvideoplayer W/ACodec: forcing OMX state to Idle when received shutdown in ExecutingState
2019-01-11 14:57:26.856 14525-15067/com.example.gsyvideoplayer D/android.media.AudioTrack: [HSM] AudioTrace stop() uid: 10163, pid: 14525
2019-01-11 14:57:26.872 14525-14525/com.example.gsyvideoplayer E/EventLogger: playerFailed [6.18]
com.google.android.exoplayer2.ExoPlaybackException: java.lang.IllegalStateException
at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:359)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:166)
at android.os.HandlerThread.run(HandlerThread.java:65)
Caused by: java.lang.IllegalStateException
at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method)
at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:2642)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.drainOutputBuffer(MediaCodecRenderer.java:1287)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:663)
at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:536)
at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:303)
at android.os.Handler.dispatchMessage(Handler.java:104) 
at android.os.Looper.loop(Looper.java:166) 
at android.os.HandlerThread.run(HandlerThread.java:65) 
2019-01-11 14:57:26.873 14525-14525/com.example.gsyvideoplayer D/EventLogger: state [6.18, true, I]
2019-01-11 14:57:26.881 14525-14525/com.example.gsyvideoplayer E/GSYVideoPlayer: cancelTimeOutBuffer
2019-01-11 14:57:26.882 14525-14525/com.example.gsyvideoplayer I/GSYVideoPlayer: changeUiToError
2019-01-11 14:57:26.882 14525-14629/com.example.gsyvideoplayer E/GSYVideoPlayer: cancelTimeOutBuffer
2019-01-11 14:57:26.885 14525-14525/com.example.gsyvideoplayer E/GSYVideoPlayer: Link Or mCache Error, Please Try Again https://res.exexm.com/cw_145225549855002
2019-01-11 14:57:26.885 14525-14525/com.example.gsyvideoplayer E/GSYVideoPlayer: mCache Link https://res.exexm.com/cw_145225549855002

@fenghebaiyang
Copy link
Contributor Author

其它页面点击切换全屏也有同样的错误日志输出,另外我发现在切换全屏之前使用 onVideoPause 暂停视频,切换成功之后使用onVideoResume恢复播放就是正常的。

@CarGuo
Copy link
Owner

CarGuo commented Jan 14, 2019

确实有问题,建议先使用6.0.1版本

@CarGuo CarGuo closed this as completed in bd2f5a4 Jan 14, 2019
@CarGuo
Copy link
Owner

CarGuo commented Jan 14, 2019

已提交修复,下版本修复问题

@hamlingong
Copy link

博主后面怎么解决这个问题的?

@hamlingong
Copy link

已提交修复,下版本修复问题
博主后面怎么解决这个问题的?

hudawei996 pushed a commit to hudawei996/GSYVideoPlayer that referenced this issue Jun 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants