Hello !
I'm Porting Android KK4.4.2 BSP on our i.MX6Q platform. The Youtube app cannot play video correctly. The video stopped at 0.5s and audio keeps playing. Attached is the log for your reference.
D/dalvikvm( 7601): GC_CONCURRENT freed 1395K, 50% free 8391K/16516K, paused 4ms+7ms, total 109ms
W/audio_hw_primary( 2336): do_out_standby... 1073895656
D/dalvikvm( 7601): GC_CONCURRENT freed 1706K, 49% free 8575K/16516K, paused 4ms+8ms, total 105ms
I/OMXClient( 7601): Using client-side OMX mux.
E/OMXMaster( 7601): A component of name 'OMX.Freescale.std.parser.fsl.sw-based' already exists, ignoring this one.
E/OMXMaster( 7601): A component of name 'OMX.Freescale.std.parser.fsl.sw-based' already exists, ignoring this one.
E/OMXMaster( 7601): A component of name 'OMX.Freescale.std.parser.fsl.sw-based' already exists, ignoring this one.
E/OMXMaster( 7601): A component of name 'OMX.Freescale.std.parser.fsl.sw-based' already exists, ignoring this one.
E/OMXMaster( 7601): A component of name 'OMX.Freescale.std.parser.fsl.sw-based' already exists, ignoring this one.
E/OMXMaster( 7601): A component of name 'OMX.Freescale.std.parser.fsl.sw-based' already exists, ignoring this one.
E/OMXMaster( 7601): A component of name 'OMX.Freescale.std.parser.fsl.sw-based' already exists, ignoring this one.
E/OMXMaster( 7601): A component of name 'OMX.Freescale.std.parser.fsl.sw-based' already exists, ignoring this one.
E/OMXMaster( 7601): A component of name 'OMX.Freescale.std.parser.fsl.sw-based' already exists, ignoring this one.
E/OMXMaster( 7601): A component of name 'OMX.Freescale.std.parser.fsl.sw-based' already exists, ignoring this one.
E/OMXMaster( 7601): A component of name 'OMX.Freescale.std.parser.fsl.sw-based' already exists, ignoring this one.
E/OMXMaster( 7601): A component of name 'OMX.Freescale.std.parser.streaming.sw-based' already exists, ignoring this one.
E/OMXMaster( 7601): A component of name 'OMX.Freescale.std.parser.fsl.sw-based' already exists, ignoring this one.
I/OMXClient( 7601): Using client-side OMX mux.
I/ACodec ( 7601): Send reorder config(0) to VPU
E/OMXNodeInstance( 2336): OMX_SetParameter() failed for StoreMetaDataInBuffers: 0x8000101a
E/ACodec ( 7601): [OMX.Freescale.std.video_decoder.avc.v3.hw-based] storeMetaDataInBuffers failed w/ err -2147483648
W/OMXNodeInstance( 2336): OMX_GetExtensionIndex OMX.google.android.index.prepareForAdaptivePlayback failed
W/ACodec ( 7601): [OMX.Freescale.std.video_decoder.avc.v3.hw-based] prepareForAdaptivePlayback failed w/ err -2147483648
D/YouTube ( 7601): apps.youtube.core.player.z.handleMessage:1207 PlayerEvent: 13
D/YouTube MDX( 7601): Starting new DIAL search.
W/GLSUser ( 6393): GoogleAccountDataService.getToken()
I/SoftAAC2( 7601): Reconfiguring decoder: 0->44100 Hz, 0->2 channels
D/dalvikvm( 7601): GC_CONCURRENT freed 887K, 43% free 9571K/16516K, paused 4ms+8ms, total 101ms
I/vpu-lib ( 2336): Product Info: i.MX6Q/D/S
I/vpu-lib ( 2336): <gpu> alloc handle: 0x40c924f0, paddr: 0x29000000, vaddr: 0x4d5f8000
I/vpu-lib ( 2336): <gpu> alloc handle: 0x40c92508, paddr: 0x4a2ff000, vaddr: 0x48df7000
I/vpu-lib ( 2336): bitstreamMode 1, chromaInterleave 0, mapType 0, tiled2LinearEnable 0
I/vpu-lib ( 2336): <gpu> alloc handle: 0x4020bf70, paddr: 0x14000000, vaddr: 0x4e253000
E/ACodec ( 7601): dequeueBuffer failed.
I/YouTube ( 7601): apps.youtube.medialib.player.r.u:873 setKeepScreenOn: true
W/audio_hw_primary( 2336): card 1, port 0 device 0x2
W/audio_hw_primary( 2336): rate 44100, channel 2 period_size 0xc0
D/YouTube ( 7601): apps.youtube.core.player.z.handleMessage:1207 PlayerEvent: 6
D/YouTube ( 7601): apps.youtube.core.player.z.handleMessage:1207 PlayerEvent: 2
D/YouTube ( 7601): apps.youtube.core.player.LocalDirector.c:265 VideoStage: MEDIA_PLAYING_VIDEO
Original Attachment has been moved to: youtube.log.zip
Hello Joseph,
I found a similar issue posted in the system with the comments from R&D as below:
================================================
Seems like can’t dequeue buffer from surface. You can try add more buffers when vpu report needed framebuffers, in OpenMAXIL/src/component/vpu_dec_v2/VpuDecComponent.cpp
#define FRAME_SURPLUS (2)
07-18 00:08:39.204: E/ACodec(5045): dequeueBuffer failed.
07-18 00:08:39.224: D/YouTube(5045): apps.youtube.core.player.j.handleMessage:1491 PlayerEvent: 6
07-18 00:08:39.224: D/YouTube(5045): apps.youtube.core.player.j.handleMessage:1491 PlayerEvent: 2
07-18 00:08:39.324: E/ACodec(5045): dequeueBuffer failed.
================================================
could you help to test if this can fix the issue?
Jim.
Hello Jim,
Adding FRAME_SURPLUS not works. Youtube video still stopped and audio keep playing.
Best regards,
Joseph.
Hello Joseph,
could you provide what's the setting of "FRAME_SURPLUS" in your test?
Jim.
Hello Jim,
I test " FRAME_SURPLUS" 0, 2, 10 and 20 but all failed.
Best results,
Joseph.