Skip to content

Video player on Huawei Android 29 device does not play media #154068

@KonstantenKomkov

Description

@KonstantenKomkov

What package does this bug report belong to?

video_player

What target platforms are you seeing this bug on?

Android

Have you already upgraded your packages?

Yes

Dependency versions

No response

Steps to reproduce

Run simple example of video player app. Problem in video_player_android 2.7.0 with 2.6.0 worked.
It may be related to #149721

Expected results

Video is playing

Actual results

Video not playing

Code sample

IMPELLER

Screenshots or Videos

No response

Logs

I/ExoPlayerImpl(22874): Init b456022 [AndroidXMedia3/1.4.0] [HWCLT, CLT-L29, HUAWEI, 29]
W/ple.food_drive(22874): Accessing hidden method Landroid/media/AudioTrack;->getLatency()I (greylist, reflection, allowed)
W/VideoCapabilities(22874): Unrecognized profile/level 0/0 for video/mpeg2
W/VideoCapabilities(22874): Unrecognized profile/level 0/2 for video/mpeg2
W/VideoCapabilities(22874): Unrecognized profile/level 0/3 for video/mpeg2
I/VideoCapabilities(22874): Unsupported profile 5 for video/mpeg2
I/chatty  (22874): uid=12958(com.example.food_driver) ExoPlayer:Playb identical 2 lines
I/VideoCapabilities(22874): Unsupported profile 5 for video/mpeg2
W/VideoCapabilities(22874): Unrecognized profile/level 1/32 for video/mp4v-es
W/VideoCapabilities(22874): Unrecognized profile/level 32768/2 for video/mp4v-es
W/VideoCapabilities(22874): Unrecognized profile/level 32768/64 for video/mp4v-es
I/OMXClient(22874): IOmx service obtained
I/ACodec  (22874): In onAllocateComponent create compenent, codec name: OMX.hisi.video.decoder.avc
D/SurfaceUtils(22874): connecting to surface 0x7eb25e8010, reason connectToSurface
I/MediaCodec(22874): [OMX.hisi.video.decoder.avc] setting surface generation to 23422977
D/SurfaceUtils(22874): disconnecting from surface 0x7eb25e8010, reason connectToSurface(reconnect)
D/SurfaceUtils(22874): connecting to surface 0x7eb25e8010, reason connectToSurface(reconnect)
E/ACodec  (22874): [OMX.hisi.video.decoder.avc] setPortMode on output to DynamicANWBuffer failed w/ err -2147483648
I/ACodec  (22874): [OMX.hisi.video.decoder.avc] got color aspects (R:2(Limited), P:1(BT709_5), M:1(BT709_5), T:3(SMPTE170M)) err=0(NO_ERROR)
I/ACodec  (22874): [OMX.hisi.video.decoder.avc] got color aspects (R:2(Limited), P:1(BT709_5), M:1(BT709_5), T:3(SMPTE170M)) err=0(NO_ERROR)
I/ACodec  (22874): [OMX.hisi.video.decoder.avc] using color aspects (R:2(Limited), P:1(BT709_5), M:1(BT709_5), T:3(SMPTE170M)) and dataspace 0x104
I/ACodec  (22874): onStart
I/HwExtendedUtils(22874): Set to window composer mode as 2
I/ACodec  (22874): gralloc usage: 0(OMX) => 0x2900(ACodec)
D/SurfaceUtils(22874): disconnecting from surface 0x7eb25e8010, reason setNativeWindowSizeFormatAndUsage
D/SurfaceUtils(22874): connecting to surface 0x7eb25e8010, reason setNativeWindowSizeFormatAndUsage
D/SurfaceUtils(22874): set up nativeWindow 0x7eb25e8010 for 1280x1280, color 0x30d, rotation 0, usage 0x2900
W/ACodec  (22874): [OMX.hisi.video.decoder.avc] setting nBufferCountActual to 10 failed: -1010
W/ACodec  (22874): [OMX.hisi.video.decoder.avc] setting nBufferCountActual to 9 failed: -1010
I/ACodec  (22874): [OMX.hisi.video.decoder.avc] Allocating 8 buffers from a native window of size 2703360 on output port
W/Gralloc3(22874): allocator 3.x is not supported
I/ACodec  (22874): [OMX.hisi.video.decoder.avc] got color aspects (R:2(Limited), P:1(BT709_5), M:1(BT709_5), T:3(SMPTE170M)) err=0(NO_ERROR)
I/ACodec  (22874): [OMX.hisi.video.decoder.avc] got color aspects (R:2(Limited), P:1(BT709_5), M:1(BT709_5), T:3(SMPTE170M)) err=0(NO_ERROR)
I/ACodec  (22874): [OMX.hisi.video.decoder.avc] using color aspects (R:2(Limited), P:1(BT709_5), M:1(BT709_5), T:3(SMPTE170M)) and dataspace 0x104
I/ACodec  (22874): [OMX.hisi.video.decoder.avc] Now handling output port settings change
I/ACodec  (22874): [OMX.hisi.video.decoder.avc] Output port now disabled.
I/HwExtendedUtils(22874): Set to window composer mode as 2
I/ACodec  (22874): gralloc usage: 0(OMX) => 0x2900(ACodec)
D/SurfaceUtils(22874): disconnecting from surface 0x7eb25e8010, reason setNativeWindowSizeFormatAndUsage
D/SurfaceUtils(22874): connecting to surface 0x7eb25e8010, reason setNativeWindowSizeFormatAndUsage
D/SurfaceUtils(22874): set up nativeWindow 0x7eb25e8010 for 1280x1280, color 0x30d, rotation 0, usage 0x2900
W/ACodec  (22874): [OMX.hisi.video.decoder.avc] setting nBufferCountActual to 16 failed: -1010
W/ACodec  (22874): [OMX.hisi.video.decoder.avc] setting nBufferCountActual to 15 failed: -1010
W/ACodec  (22874): [OMX.hisi.video.decoder.avc] setting nBufferCountActual to 14 failed: -1010
W/ACodec  (22874): [OMX.hisi.video.decoder.avc] setting nBufferCountActual to 13 failed: -1010
E/ACodec  (22874): Failed to allocate output port buffers after port reconfiguration: (-1010)
E/ACodec  (22874): signalError(omxError 0x80001001, internalError -1010)
E/ACodec  (22874): Error occurred while disabling the output port
E/MediaCodec(22874): Codec reported err 0xfffffc0e, actionCode 0, while in state 6
D/SurfaceUtils(22874): disconnecting from surface 0x7eb25e8010, reason disconnectFromSurface
E/MediaCodecVideoRenderer(22874): Video codec error
E/MediaCodecVideoRenderer(22874):   java.lang.IllegalStateException
E/MediaCodecVideoRenderer(22874):       at android.media.MediaCodec.native_queueInputBuffer(Native Method)
E/MediaCodecVideoRenderer(22874):       at android.media.MediaCodec.queueInputBuffer(MediaCodec.java:2450)
E/MediaCodecVideoRenderer(22874):       at androidx.media3.exoplayer.mediacodec.SynchronousMediaCodecAdapter.queueInputBuffer(SynchronousMediaCodecAdapter.java:145)
E/MediaCodecVideoRenderer(22874):       at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.feedInputBuffer(MediaCodecRenderer.java:1485)
E/MediaCodecVideoRenderer(22874):       at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:875)
E/MediaCodecVideoRenderer(22874):       at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.render(MediaCodecVideoRenderer.java:1018)
E/MediaCodecVideoRenderer(22874):       at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1136)
E/MediaCodecVideoRenderer(22874):       at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:561)
E/MediaCodecVideoRenderer(22874):       at android.os.Handler.dispatchMessage(Handler.java:106)
E/MediaCodecVideoRenderer(22874):       at android.os.Looper.loop(Looper.java:219)
E/MediaCodecVideoRenderer(22874):       at android.os.HandlerThread.run(HandlerThread.java:67)
E/ExoPlayerImplInternal(22874): Playback error
E/ExoPlayerImplInternal(22874):   androidx.media3.exoplayer.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(1, null, null, video/avc, avc1.640028, -1, null, [1280, 1280, 25.0, ColorInfo(Unset color space, Unset color range, Unset color transfer, false, 8bit Luma, 8bit Chroma)], [-1, -1]), format_supported=YES
E/ExoPlayerImplInternal(22874):       at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:640)
E/ExoPlayerImplInternal(22874):       at android.os.Handler.dispatchMessage(Handler.java:106)
E/ExoPlayerImplInternal(22874):       at android.os.Looper.loop(Looper.java:219)
E/ExoPlayerImplInternal(22874):       at android.os.HandlerThread.run(HandlerThread.java:67)
E/ExoPlayerImplInternal(22874):   Caused by: androidx.media3.exoplayer.video.MediaCodecVideoDecoderException: Decoder failed: OMX.hisi.video.decoder.avc
E/ExoPlayerImplInternal(22874):       at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.createDecoderException(MediaCodecVideoRenderer.java:1982)
E/ExoPlayerImplInternal(22874):       at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:893)
E/ExoPlayerImplInternal(22874):       at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.render(MediaCodecVideoRenderer.java:1018)
E/ExoPlayerImplInternal(22874):       at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1136)
E/ExoPlayerImplInternal(22874):       at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:561)
E/ExoPlayerImplInternal(22874):       ... 3 more
E/ExoPlayerImplInternal(22874):   Caused by: java.lang.IllegalStateException
E/ExoPlayerImplInternal(22874):       at android.media.MediaCodec.native_queueInputBuffer(Native Method)
E/ExoPlayerImplInternal(22874):       at android.media.MediaCodec.queueInputBuffer(MediaCodec.java:2450)
E/ExoPlayerImplInternal(22874):       at androidx.media3.exoplayer.mediacodec.SynchronousMediaCodecAdapter.queueInputBuffer(SynchronousMediaCodecAdapter.java:145)
E/ExoPlayerImplInternal(22874):       at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.feedInputBuffer(MediaCodecRenderer.java:1485)
E/ExoPlayerImplInternal(22874):       at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:875)
E/ExoPlayerImplInternal(22874):       ... 6 more
E/ExoPlayerImplInternal(22874): Disable failed.
E/ExoPlayerImplInternal(22874):   java.lang.IllegalStateException
E/ExoPlayerImplInternal(22874):       at android.media.MediaCodec.native_flush(Native Method)
E/ExoPlayerImplInternal(22874):       at android.media.MediaCodec.flush(MediaCodec.java:2194)
E/ExoPlayerImplInternal(22874):       at androidx.media3.exoplayer.mediacodec.SynchronousMediaCodecAdapter.flush(SynchronousMediaCodecAdapter.java:168)
E/ExoPlayerImplInternal(22874):       at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.flushCodec(MediaCodecRenderer.java:960)
E/ExoPlayerImplInternal(22874):       at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.flushOrReleaseCodec(MediaCodecRenderer.java:953)
E/ExoPlayerImplInternal(22874):       at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.onDisabled(MediaCodecRenderer.java:780)
E/ExoPlayerImplInternal(22874):       at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.onDisabled(MediaCodecVideoRenderer.java:794)
E/ExoPlayerImplInternal(22874):       at androidx.media3.exoplayer.BaseRenderer.disable(BaseRenderer.java:220)
E/ExoPlayerImplInternal(22874):       at androidx.media3.exoplayer.ExoPlayerImplInternal.disableRenderer(ExoPlayerImplInternal.java:1846)
E/ExoPlayerImplInternal(22874):       at androidx.media3.exoplayer.ExoPlayerImplInternal.resetInternal(ExoPlayerImplInternal.java:1566)
E/ExoPlayerImplInternal(22874):       at androidx.media3.exoplayer.ExoPlayerImplInternal.stopInternal(ExoPlayerImplInternal.java:1523)
E/ExoPlayerImplInternal(22874):       at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:686)
E/ExoPlayerImplInternal(22874):       at android.os.Handler.dispatchMessage(Handler.java:106)
E/ExoPlayerImplInternal(22874):       at android.os.Looper.loop(Looper.java:219)
E/ExoPlayerImplInternal(22874):       at android.os.HandlerThread.run(HandlerThread.java:67)

Flutter Doctor output

Flutter 3.24.1

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work liste: impellerImpeller rendering backend issues and features requestse: impeller-naughty-driverDevices & drivers that may be behaving unexpectedly and may need workarounds.p: video_playerThe Video Player pluginplatform-androidAndroid applications specificallyr: fixedIssue is closed as already fixed in a newer versionteam-engineOwned by Engine teamtriaged-engineTriaged by Engine team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions