Repository navigation
Closed
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work liste: OS-version specificAffects only some versions of the relevant operating systemAffects only some versions of the relevant operating systeme: device-specificOnly manifests on certain devicesOnly manifests on certain devicesengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.p: video_playerThe Video Player pluginThe Video Player pluginpackageflutter/packages repository. See also p: labels.flutter/packages repository. See also p: labels.platform-androidAndroid applications specificallyAndroid applications specificallyteam-androidOwned by Android platform teamOwned by Android platform team
Description
Steps to reproduce
This is the same issue with this. It is re-occurred in Flutter 3.29.2 and 3.31.0-1.0.pre.363.
Run simple example of video player app. Video player version is 2.9.5. Tested with impeller and skia, both not working.
Expected results
Video is playing
Actual results
Video not playing
Code sample
Code sample
Tested with impeller and skia, both not working.
Screenshots or Video
Screenshots / Video demonstration
[Upload media here]
Logs
Logs
I/ExoPlayerImpl(12629): Init ff2837 [AndroidXMedia3/1.4.1] [HWSNE, SNE-LX1, HUAWEI, 29]
W/me.castify(12629): Accessing hidden method Landroid/media/AudioTrack;->getLatency()I (greylist, reflection, allowed)
D/NetworkSecurityConfig(12629): No Network Security Config specified, using platform default
D/ProfileInstaller(12629): Installing profile for me.castify
W/VideoCapabilities(12629): Unrecognized profile/level 0/0 for video/mpeg2
W/VideoCapabilities(12629): Unrecognized profile/level 0/2 for video/mpeg2
W/VideoCapabilities(12629): Unrecognized profile/level 0/3 for video/mpeg2
I/VideoCapabilities(12629): Unsupported profile 5 for video/mpeg2
I/chatty (12629): uid=10212(me.castify) ExoPlayer:Playb identical 2 lines
I/VideoCapabilities(12629): Unsupported profile 5 for video/mpeg2
W/VideoCapabilities(12629): Unrecognized profile/level 1/32 for video/mp4v-es
W/VideoCapabilities(12629): Unrecognized profile/level 32768/2 for video/mp4v-es
W/VideoCapabilities(12629): Unrecognized profile/level 32768/64 for video/mp4v-es
I/OMXClient(12629): IOmx service obtained
I/ACodec (12629): In onAllocateComponent create compenent, codec name: OMX.hisi.video.decoder.avc
D/SurfaceUtils(12629): connecting to surface 0x7a01fc3010, reason connectToSurface
I/MediaCodec(12629): [OMX.hisi.video.decoder.avc] setting surface generation to 12932097
D/SurfaceUtils(12629): disconnecting from surface 0x7a01fc3010, reason connectToSurface(reconnect)
D/SurfaceUtils(12629): connecting to surface 0x7a01fc3010, reason connectToSurface(reconnect)
E/ACodec (12629): [OMX.hisi.video.decoder.avc] setPortMode on output to DynamicANWBuffer failed w/ err -2147483648
I/ACodec (12629): [OMX.hisi.video.decoder.avc] got color aspects (R:2(Limited), P:3(BT601_6_625), M:3(BT601_6), T:3(SMPTE170M)) err=0(NO_ERROR)
I/ACodec (12629): [OMX.hisi.video.decoder.avc] got color aspects (R:2(Limited), P:3(BT601_6_625), M:3(BT601_6), T:3(SMPTE170M)) err=0(NO_ERROR)
I/ACodec (12629): [OMX.hisi.video.decoder.avc] using color aspects (R:2(Limited), P:3(BT601_6_625), M:3(BT601_6), T:3(SMPTE170M)) and dataspace 0x102
I/ACodec (12629): onStart
I/HwExtendedUtils(12629): Set to window composer mode as 2
I/ACodec (12629): gralloc usage: 0(OMX) => 0x2900(ACodec)
D/SurfaceUtils(12629): disconnecting from surface 0x7a01fc3010, reason setNativeWindowSizeFormatAndUsage
D/SurfaceUtils(12629): connecting to surface 0x7a01fc3010, reason setNativeWindowSizeFormatAndUsage
D/SurfaceUtils(12629): set up nativeWindow 0x7a01fc3010 for 222x480, color 0x30d, rotation 0, usage 0x2900
W/ACodec (12629): [OMX.hisi.video.decoder.avc] setting nBufferCountActual to 11 failed: -1010
W/ACodec (12629): [OMX.hisi.video.decoder.avc] setting nBufferCountActual to 10 failed: -1010
W/ACodec (12629): [OMX.hisi.video.decoder.avc] setting nBufferCountActual to 9 failed: -1010
I/ACodec (12629): [OMX.hisi.video.decoder.avc] Allocating 8 buffers from a native window of size 276480 on output port
W/Gralloc3(12629): allocator 3.x is not supported
I/ACodec (12629): [OMX.hisi.video.decoder.avc] got color aspects (R:2(Limited), P:4(BT601_6_525), M:3(BT601_6), T:3(SMPTE170M)) err=0(NO_ERROR)
I/ACodec (12629): [OMX.hisi.video.decoder.avc] got color aspects (R:2(Limited), P:4(BT601_6_525), M:3(BT601_6), T:3(SMPTE170M)) err=0(NO_ERROR)
I/ACodec (12629): [OMX.hisi.video.decoder.avc] using color aspects (R:2(Limited), P:4(BT601_6_525), M:3(BT601_6), T:3(SMPTE170M)) and dataspace 0x103
I/ACodec (12629): [OMX.hisi.video.decoder.avc] got color aspects (R:2(Limited), P:4(BT601_6_525), M:3(BT601_6), T:3(SMPTE170M)) err=0(NO_ERROR)
I/ACodec (12629): [OMX.hisi.video.decoder.avc] got color aspects (R:2(Limited), P:4(BT601_6_525), M:3(BT601_6), T:3(SMPTE170M)) err=0(NO_ERROR)
I/ACodec (12629): [OMX.hisi.video.decoder.avc] using color aspects (R:2(Limited), P:4(BT601_6_525), M:3(BT601_6), T:3(SMPTE170M)) and dataspace 0x103
I/ACodec (12629): [OMX.hisi.video.decoder.avc] Now handling output port settings change
I/ACodec (12629): [OMX.hisi.video.decoder.avc] Output port now disabled.
I/HwExtendedUtils(12629): Set to window composer mode as 2
I/ACodec (12629): gralloc usage: 0(OMX) => 0x2900(ACodec)
D/SurfaceUtils(12629): disconnecting from surface 0x7a01fc3010, reason setNativeWindowSizeFormatAndUsage
D/SurfaceUtils(12629): connecting to surface 0x7a01fc3010, reason setNativeWindowSizeFormatAndUsage
D/SurfaceUtils(12629): set up nativeWindow 0x7a01fc3010 for 224x480, color 0x30d, rotation 0, usage 0x2900
W/ACodec (12629): [OMX.hisi.video.decoder.avc] setting nBufferCountActual to 19 failed: -1010
W/ACodec (12629): [OMX.hisi.video.decoder.avc] setting nBufferCountActual to 18 failed: -1010
W/ACodec (12629): [OMX.hisi.video.decoder.avc] setting nBufferCountActual to 17 failed: -1010
W/ACodec (12629): [OMX.hisi.video.decoder.avc] setting nBufferCountActual to 16 failed: -1010
E/ACodec (12629): Failed to allocate output port buffers after port reconfiguration: (-1010)
E/ACodec (12629): signalError(omxError 0x80001001, internalError -1010)
E/MediaCodec(12629): Codec reported err 0xfffffc0e, actionCode 0, while in state 6
E/ACodec (12629): Error occurred while disabling the output port
D/SurfaceUtils(12629): disconnecting from surface 0x7a01fc3010, reason disconnectFromSurface
E/MediaCodecVideoRenderer(12629): Video codec error
E/MediaCodecVideoRenderer(12629): java.lang.IllegalStateException
E/MediaCodecVideoRenderer(12629): at android.media.MediaCodec.native_dequeueInputBuffer(Native Method)
E/MediaCodecVideoRenderer(12629): at android.media.MediaCodec.dequeueInputBuffer(MediaCodec.java:2726)
E/MediaCodecVideoRenderer(12629): at androidx.media3.exoplayer.mediacodec.SynchronousMediaCodecAdapter.dequeueInputBufferIndex(SynchronousMediaCodecAdapter.java:101)
E/MediaCodecVideoRenderer(12629): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.feedInputBuffer(MediaCodecRenderer.java:1316)
E/MediaCodecVideoRenderer(12629): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:875)
E/MediaCodecVideoRenderer(12629): at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.render(MediaCodecVideoRenderer.java:1018)
E/MediaCodecVideoRenderer(12629): at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1136)
E/MediaCodecVideoRenderer(12629): at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:561)
E/MediaCodecVideoRenderer(12629): at android.os.Handler.dispatchMessage(Handler.java:106)
E/MediaCodecVideoRenderer(12629): at android.os.Looper.loop(Looper.java:219)
E/MediaCodecVideoRenderer(12629): at android.os.HandlerThread.run(HandlerThread.java:67)
E/ExoPlayerImplInternal(12629): Playback error
E/ExoPlayerImplInternal(12629): androidx.media3.exoplayer.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(1, null, null, video/avc, avc1.4D4015, 1540000, null, [222, 480, -1.0, ColorInfo(BT601, Limited range, SDR SMPTE 170M, false, 8bit Luma, 8bit Chroma)], [-1, -1]), format_supported=YES
E/ExoPlayerImplInternal(12629): at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:640)
E/ExoPlayerImplInternal(12629): at android.os.Handler.dispatchMessage(Handler.java:106)
E/ExoPlayerImplInternal(12629): at android.os.Looper.loop(Looper.java:219)
E/ExoPlayerImplInternal(12629): at android.os.HandlerThread.run(HandlerThread.java:67)
E/ExoPlayerImplInternal(12629): Caused by: androidx.media3.exoplayer.video.MediaCodecVideoDecoderException: Decoder failed: OMX.hisi.video.decoder.avc
E/ExoPlayerImplInternal(12629): at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.createDecoderException(MediaCodecVideoRenderer.java:1982)
E/ExoPlayerImplInternal(12629): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:893)
E/ExoPlayerImplInternal(12629): at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.render(MediaCodecVideoRenderer.java:1018)
E/ExoPlayerImplInternal(12629): at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1136)
E/ExoPlayerImplInternal(12629): at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:561)
E/ExoPlayerImplInternal(12629): ... 3 more
E/ExoPlayerImplInternal(12629): Caused by: java.lang.IllegalStateException
E/ExoPlayerImplInternal(12629): at android.media.MediaCodec.native_dequeueInputBuffer(Native Method)
E/ExoPlayerImplInternal(12629): at android.media.MediaCodec.dequeueInputBuffer(MediaCodec.java:2726)
E/ExoPlayerImplInternal(12629): at androidx.media3.exoplayer.mediacodec.SynchronousMediaCodecAdapter.dequeueInputBufferIndex(SynchronousMediaCodecAdapter.java:101)
E/ExoPlayerImplInternal(12629): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.feedInputBuffer(MediaCodecRenderer.java:1316)
E/ExoPlayerImplInternal(12629): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:875)
E/ExoPlayerImplInternal(12629): ... 6 more
E/ExoPlayerImplInternal(12629): Disable failed.
E/ExoPlayerImplInternal(12629): java.lang.IllegalStateException
E/ExoPlayerImplInternal(12629): at android.media.MediaCodec.native_flush(Native Method)
E/ExoPlayerImplInternal(12629): at android.media.MediaCodec.flush(MediaCodec.java:2194)
E/ExoPlayerImplInternal(12629): at androidx.media3.exoplayer.mediacodec.SynchronousMediaCodecAdapter.flush(SynchronousMediaCodecAdapter.java:168)
E/ExoPlayerImplInternal(12629): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.flushCodec(MediaCodecRenderer.java:960)
E/ExoPlayerImplInternal(12629): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.flushOrReleaseCodec(MediaCodecRenderer.java:953)
E/ExoPlayerImplInternal(12629): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.onDisabled(MediaCodecRenderer.java:780)
E/ExoPlayerImplInternal(12629): at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.onDisabled(MediaCodecVideoRenderer.java:794)
E/ExoPlayerImplInternal(12629): at androidx.media3.exoplayer.BaseRenderer.disable(BaseRenderer.java:220)
E/ExoPlayerImplInternal(12629): at androidx.media3.exoplayer.ExoPlayerImplInternal.disableRenderer(ExoPlayerImplInternal.java:1846)
E/ExoPlayerImplInternal(12629): at androidx.media3.exoplayer.ExoPlayerImplInternal.resetInternal(ExoPlayerImplInternal.java:1566)
E/ExoPlayerImplInternal(12629): at androidx.media3.exoplayer.ExoPlayerImplInternal.stopInternal(ExoPlayerImplInternal.java:1523)
E/ExoPlayerImplInternal(12629): at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:686)
E/ExoPlayerImplInternal(12629): at android.os.Handler.dispatchMessage(Handler.java:106)
E/ExoPlayerImplInternal(12629): at android.os.Looper.loop(Looper.java:219)
E/ExoPlayerImplInternal(12629): at android.os.HandlerThread.run(HandlerThread.java:67)Flutter Doctor output
Doctor output
[✓] Flutter (Channel main, 3.31.0-1.0.pre.363, on macOS 15.3.2 24D81 darwin-arm64, locale en-TR) [1,480ms]
• Flutter version 3.31.0-1.0.pre.363 on channel main at /Users/bekirtaskin/Dev/fluttersdk
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision a0b1b32534 (27 hours ago), 2025-04-01 12:33:23 -0400
• Engine revision a0b1b32534
• Dart version 3.8.0 (build 3.8.0-250.0.dev)
• DevTools version 2.45.0-dev.0
[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.1) [840ms]
• Android SDK at /Users/bekirtaskin/Library/Android/sdk
• Platform android-35, build-tools 35.0.1
• Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
This is the JDK bundled with the latest Android Studio installation on this machine.
To manually set the JDK path, use: `flutter config --jdk-dir="path/to/jdk"`.
• Java version OpenJDK Runtime Environment (build 21.0.5+-12932927-b750.29)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 16.3) [472ms]
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 16E140
• CocoaPods version 1.16.2
[✓] Chrome - develop for the web [7ms]
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2024.3) [7ms]
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 21.0.5+-12932927-b750.29)
[✓] Connected device (4 available) [5.6s]
• SNE LX1 (mobile) • HVYDU19313003053 • android-arm64 • Android 10 (API 29)
• Bekir iPhone’u (wireless) (mobile) • 00008140-00161C69029B001C • ios • iOS 18.4 22E240
• macOS (desktop) • macos • darwin-arm64 • macOS 15.3.2 24D81 darwin-arm64
• Chrome (web) • chrome • web-javascript • Google Chrome 134.0.6998.167
[✓] Network resources [792ms]
• All expected network resources are available.
• No issues found!
Reacted by headfulness, Jan Marsh, khanawansocialb, Florian Schmitz, Mickaël Hernandez, issam, Huston, flying-wizzy, José Barreto dos Santos Junior, Marcus Gonçalves and 8 more
Reacted by Mr.monkey, 老黑牛, José Barreto dos Santos Junior and Dedan Kibere
Metadata
Metadata
Assignees
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work liste: OS-version specificAffects only some versions of the relevant operating systemAffects only some versions of the relevant operating systeme: device-specificOnly manifests on certain devicesOnly manifests on certain devicesengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.p: video_playerThe Video Player pluginThe Video Player pluginpackageflutter/packages repository. See also p: labels.flutter/packages repository. See also p: labels.platform-androidAndroid applications specificallyAndroid applications specificallyteam-androidOwned by Android platform teamOwned by Android platform team
Type
Projects
- StatusShow more project fieldsDone
Activity
darshankawar commentedon Apr 3, 2025
I am unable to replicate this on S10+ device using plugin example. As we currently don't have Huawei device, I am unable to replicate / verify this further, but based on the report, I'll keep the issue open for team's tracking.
rutulchauhan commentedon Apr 7, 2025
We've received user support tickets regarding the video player not functioning properly on the following devices:
Could you please look into the compatibility or performance issues affecting these devices? Any assistance or insights would be greatly appreciated.
Thank you!
cerealexx commentedon Apr 7, 2025
Also happening on these devices:
lzhAndroid commentedon Apr 8, 2025
Huuuuuub commentedon Apr 8, 2025
lzhAndroid commentedon Apr 8, 2025
75 remaining items
camsim99 commentedon Feb 6, 2026
@serbandin Thank you so much for your research and your potential fix for the issue! I'll take a look.
As for bug 2: I assume you're referencing the
androidx.media3.exoplayer.ExoPlaybackException: Source errorerror I've also seen (example stack trace in #166481 (comment)). Your findings are super useful. I'm seeing that error while trying to use the video_player plugin to play videos recorded by the camera_android_camerax plugin: #157181. I'll keep that in mind and make any further updates about this error in that issue.naseerr commentedon Feb 6, 2026
Im facing the same issue here
Device Information:
Device: Huawei P Smart 2019 (POT-LX1)
Chipset: HiSilicon Kirin 710
OS: Android 9 (API 29)
Flutter Version: 3.38.9 (Stable)
Dart Version: 3.10.8 (Synced with 2026 build)
Observed Behavior
When attempting to play a video using the standard video_player (ExoPlayer), the app consistently crashes during decoder initialization. The hardware decoder (OMX.hisi.video.decoder.avc) fails to allocate buffers, resulting in an internal -1010 error. This subsequently breaks the Flutter MethodChannel, making it impossible to establish a connection with any platform view, including third-party plugins.
Technical Logs
The failure follows a consistent pattern during the transition to the IDLE state:
Immediately following this hardware crash, Flutter fails to initialize the platform view:
What We Have Attempted:
Environment Sync: Upgraded to Flutter 3.38.9 and repaired the Dart SDK to ensure no version mismatch was causing the channel error.
Software Decoding Fallback: Attempted to bypass the hardware decoder using flutter_vlc_player with hwAcc: HwAcc.disabled.
Hybrid Composition: Attempted to force virtualDisplay: false to avoid the SurfaceProducer backend mentioned in the logs.
Resource Reset: Performed hard device restarts to clear the OMX.hisi buffer, but the error recurs upon the first video initialization in the Flutter app.
Key Finding
The issue seems tied to how the SurfaceProducer backend interacts with the Kirin 710's media drivers on Android 29. Once the hardware decoder fails with -1010, the entire Platform View system for that process becomes unstable, leading to a permanent channel-error.
naseerr commentedon Feb 7, 2026
The Following Workaround worked for me:
Verified Workaround for Kirin 710 / API 29 (-1010 Resource Error)
We have successfully resolved the recurring
-1010decoder crash andchannel-erroron Huawei devices by implementing a Singleton Video Manager usingmedia_kit.Key Steps to Reproduce Success:
video_player(ExoPlayer) with[media_kit](https://pub.dev/packages/media_kit)(libmpv) to utilize software decoding.-1010) common on Kirin chips.Future.delayed(1s) andvirtualDisplay: false(Hybrid Composition) to ensure the Platform View bridge is stable before frames are sent.enableHardwareAcceleration: falsein theVideoControllerConfiguration.Fix Huawei ImageReader issue (flutter#166481)
YasmineKromel commentedon Feb 17, 2026
I have the same problem on device Huawei p30 android 10 and the fix in this package help me https://github.com/dennisstromberg/video_player_android
Why Dennis’s Changes Might Help
Dennis’s fork introduced:
✅ Ability to use platform views instead of texture-based rendering
Platform views use a native SurfaceView instead of textures → avoids some rendering bugs.
This is relevant because ExoPlayer may fail when rendering via texture (especially on older Android versions or when the Surface gets recreated).
Dennis’s changes give a second option that might work around this exact bug.
YasmineKromel commentedon Feb 17, 2026
If your goal is working video playback on Android 10 devices now.
— Use the official plugin with platform views:
VideoPlayerController.network(
url,
videoPlayerOptions: VideoPlayerOptions(viewType: VideoViewType.platformView),
);
Platform views often avoid the texture rendering bugs that cause the crash
Fix Huawei ImageReader issue (flutter#166481)
fix-huawei-imagereader-166481 (#181931)
fix-huawei-imagereader-166481 (flutter#181931)
github-actions commentedon Mar 11, 2026
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of
flutter doctor -vand a minimal reproduction of the issue.fix-huawei-imagereader-166481 (flutter#181931)
fix-huawei-imagereader-166481 (#181931)