google / ExoPlayer

This project is deprecated and stale. The latest ExoPlayer code is available in https://github.com/androidx/media
https://developer.android.com/media/media3/exoplayer
Apache License 2.0
21.75k stars 6.03k forks source link

AAC decoder failed on Android 12 beta 5 but worked fine on Android 10 #9522

Open eneim opened 3 years ago

eneim commented 3 years ago

The following video file is failed to play on Pixel 4 running Android 12 beta 5, but playing without issue on LG G7 running Android 10 (both are physical devices):

https://user-images.githubusercontent.com/1776230/135717954-e37a6a4f-93ef-4f0e-8d16-a91687fd16c9.mp4

Below is the logcat of the failure:

Click to expand the log
``` 2021-10-02 22:17:54.160 976-976/? E/QMI_FW: qmi_cci_get_ref: ref count increased 2 2021-10-02 22:17:54.160 976-976/? E/QMI_FW: qmi_cci_get_ref: ref count increased 2 2021-10-02 22:17:54.161 976-976/? E/QMI_FW: qmi_cci_get_ref: ref count increased 2 2021-10-02 22:17:54.161 976-976/? E/QMI_FW: qmi_cci_get_ref: ref count increased 2 2021-10-02 22:17:54.162 976-976/? E/QMI_FW: qmi_cci_get_ref: ref count increased 2 2021-10-02 22:17:54.162 976-976/? E/QMI_FW: qmi_cci_get_ref: ref count increased 2 2021-10-02 22:17:54.215 21689-21689/com.google.android.exoplayer2.demo E/exoplayer2.dem: Invalid ID 0x00000000. 2021-10-02 22:17:54.589 1020-2369/? E/855Caps: max size must equal to/greater than output size 2021-10-02 22:17:54.599 1020-2369/? E/QC2Interface: Few parameters failed to configure 2021-10-02 22:17:54.601 21689-21737/com.google.android.exoplayer2.demo E/ion: ioctl c0044901 failed with code -1: Inappropriate ioctl for device 2021-10-02 22:17:54.635 1226-21746/? E/C2SoftAacDec: aacDecoder_ConfigRaw decoderErr = 0x0005 2021-10-02 22:17:54.635 21689-21745/com.google.android.exoplayer2.demo E/MediaCodec: Codec reported err 0xe, actionCode 0, while in state 6/STARTED 2021-10-02 22:17:54.637 21689-21729/com.google.android.exoplayer2.demo E/MediaCodecAudioRenderer: Audio codec error java.lang.IllegalStateException at android.media.MediaCodec.native_dequeueInputBuffer(Native Method) at android.media.MediaCodec.dequeueInputBuffer(MediaCodec.java:2938) at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter.dequeueInputBufferIndex(SynchronousMediaCodecAdapter.java:115) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.feedInputBuffer(MediaCodecRenderer.java:1194) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:824) at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:982) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:486) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.os.HandlerThread.run(HandlerThread.java:67) 2021-10-02 22:17:54.639 21689-21729/com.google.android.exoplayer2.demo E/ExoPlayerImplInternal: Playback error com.google.android.exoplayer2.ExoPlaybackException: MediaCodecAudioRenderer error, index=1, format=Format(2, null, null, audio/mp4a-latm, mp4a.40.2, -1, und, [-1, -1, -1.0], [0, 48000]), format_supported=YES at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:562) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.os.HandlerThread.run(HandlerThread.java:67) Caused by: com.google.android.exoplayer2.mediacodec.MediaCodecDecoderException: Decoder failed: c2.android.aac.decoder at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.createDecoderException(MediaCodecRenderer.java:962) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:843) at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:982) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:486) at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loopOnce(Looper.java:201)  at android.os.Looper.loop(Looper.java:288)  at android.os.HandlerThread.run(HandlerThread.java:67)  Caused by: java.lang.IllegalStateException at android.media.MediaCodec.native_dequeueInputBuffer(Native Method) at android.media.MediaCodec.dequeueInputBuffer(MediaCodec.java:2938) at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter.dequeueInputBufferIndex(SynchronousMediaCodecAdapter.java:115) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.feedInputBuffer(MediaCodecRenderer.java:1194) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:824) at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:982)  at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:486)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loopOnce(Looper.java:201)  at android.os.Looper.loop(Looper.java:288)  at android.os.HandlerThread.run(HandlerThread.java:67)  2021-10-02 22:17:54.643 21689-21729/com.google.android.exoplayer2.demo E/ExoPlayerImplInternal: Disable failed. java.lang.IllegalStateException at android.media.MediaCodec.native_flush(Native Method) at android.media.MediaCodec.flush(MediaCodec.java:2350) at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter.flush(SynchronousMediaCodecAdapter.java:188) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.flushCodec(MediaCodecRenderer.java:894) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.flushOrReleaseCodec(MediaCodecRenderer.java:887) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onDisabled(MediaCodecRenderer.java:740) at com.google.android.exoplayer2.audio.MediaCodecAudioRenderer.onDisabled(MediaCodecAudioRenderer.java:539) at com.google.android.exoplayer2.BaseRenderer.disable(BaseRenderer.java:178) at com.google.android.exoplayer2.ExoPlayerImplInternal.disableRenderer(ExoPlayerImplInternal.java:1641) at com.google.android.exoplayer2.ExoPlayerImplInternal.resetInternal(ExoPlayerImplInternal.java:1381) at com.google.android.exoplayer2.ExoPlayerImplInternal.stopInternal(ExoPlayerImplInternal.java:1344) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:578) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.os.HandlerThread.run(HandlerThread.java:67) 2021-10-02 22:17:54.644 1020-2369/? E/QC2Interface: Few parameters failed to configure 2021-10-02 22:17:54.645 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 0 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.645 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 1 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.645 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 2 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.645 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 3 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.645 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 4 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.645 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 5 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.645 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 6 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.645 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 7 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.645 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 8 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.645 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 9 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.645 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 10 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.645 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 11 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.645 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 12 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.645 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 13 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.645 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 14 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.645 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 15 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.646 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 16 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.646 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 17 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.646 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 18 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.646 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 19 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.646 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 20 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.646 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 21 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.646 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 22 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.646 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 23 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.646 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 24 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.646 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 25 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.646 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 26 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.646 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 27 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.646 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 28 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.646 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 29 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.646 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 30 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.646 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 31 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.646 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 32 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.646 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 33 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.646 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 34 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.646 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 35 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.646 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 36 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.647 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 37 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.647 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 38 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.647 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 39 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.647 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 40 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.647 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 41 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.647 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 42 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.647 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 43 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.647 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 44 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.647 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 45 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.647 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 46 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.647 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 47 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.647 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 48 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.647 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 49 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.647 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 50 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.647 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 51 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.647 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 52 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.647 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 53 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.647 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 54 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.647 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 55 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.647 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 56 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.648 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 57 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.648 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 58 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.648 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 59 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.648 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 60 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.648 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 61 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.648 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 62 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.648 21689-21736/com.google.android.exoplayer2.demo E/BufferQueueProducer: [SurfaceView[com.google.android.exoplayer2.demo/com.google.android.exoplayer2.demo.PlayerActivity]#1(BLAST Consumer)1](id:54b900000001,api:3,p:21689,c:21689) detachBuffer: slot 63 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.654 21689-21689/com.google.android.exoplayer2.demo E/EventLogger: playerFailed [eventTime=0.24, mediaPos=0.00, window=0, period=0, errorCode=ERROR_CODE_DECODING_FAILED com.google.android.exoplayer2.ExoPlaybackException: MediaCodecAudioRenderer error, index=1, format=Format(2, null, null, audio/mp4a-latm, mp4a.40.2, -1, und, [-1, -1, -1.0], [0, 48000]), format_supported=YES at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:562) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.os.HandlerThread.run(HandlerThread.java:67) Caused by: com.google.android.exoplayer2.mediacodec.MediaCodecDecoderException: Decoder failed: c2.android.aac.decoder at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.createDecoderException(MediaCodecRenderer.java:962) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:843) at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:982) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:486) at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loopOnce(Looper.java:201)  at android.os.Looper.loop(Looper.java:288)  at android.os.HandlerThread.run(HandlerThread.java:67)  Caused by: java.lang.IllegalStateException at android.media.MediaCodec.native_dequeueInputBuffer(Native Method) at android.media.MediaCodec.dequeueInputBuffer(MediaCodec.java:2938) at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter.dequeueInputBufferIndex(SynchronousMediaCodecAdapter.java:115) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.feedInputBuffer(MediaCodecRenderer.java:1194) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:824) at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:982)  at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:486)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loopOnce(Looper.java:201)  at android.os.Looper.loop(Looper.java:288)  at android.os.HandlerThread.run(HandlerThread.java:67)  ] 2021-10-02 22:17:54.655 21689-21741/com.google.android.exoplayer2.demo E/BufferQueueProducer: [MediaCodec.release](id:54b900000002,api:3,p:21689,c:21689) detachBuffer: slot 0 is not owned by the producer (state = FREE) 2021-10-02 22:17:54.655 21689-21741/com.google.android.exoplayer2.demo E/BufferQueueProducer: [MediaCodec.release](id:54b900000002,api:0,p:-1,c:21689) detachBuffer: BufferQueue has no connected producer ```

I tried this using the PlayerActivity of the latest dev-v2 branch (commit b192465bba). The following line is the cli I used to produce the video:

ffmpeg -i bbb_sunflower_2160p_60fps_normal.mp4 -c:v libx265 -preset slow -crf 24 -profile:v main -level:v 3.1 -filter:v "scale=640:-1, fps=fps=30" -c:a aac -b:a 96k -ss 00:00:00 -t 00:00:45 bbb_45s_hevc.mp4

(The source is an open video which can be downloaded from https://download.blender.org/peach/bigbuckbunny_movies/).

Also include the zipped of the video here just in case.

bbb_45s_hevc.mp4.zip

ojw28 commented 3 years ago

Looks like an issue with the AAC decoder. I've filed [Internal ref: b/201936797] to ask the platform team to take a look. We'll provide an update here when we hear back.