video player can not play on Android 6.0.1 and older devices

Steps to Reproduce
1, Run the example of video player plugin. https://github.com/flutter/plugins/tree/master/packages/video_player/example
2, On Chinese Android 6.0.1 and older devices, the video can not be played( it was filled white), the sound is OK.

Test result on devices are as below, most problem devices are made for China. The Nexus with Android 6.0.1 device is OK.

Brand
Model
OS Version
Test result

华为
荣耀6
Android   4.4.2
No video, only sound

华为
P10   Plus
Android   7.0
normal

华为
荣耀5X
Android   6.0.1
No video, only sound

华为
mate   10(alp-al100)
Android   8.0
normal

三星
N9100（Note4）
Android   5.0.1
No video, only sound

三星
Galaxy   S6 edge（rooted)
Android   6.0.1
No video, only sound

三星
S7
Android7.0

小米
红米note 4
Android   6.0.1
No video, only sound

小米
小米6
Android   7.1.1

魅族
魅蓝2
Android   5.1
No video, only sound

魅族
PR06
Android   6.0
No video, only sound

oppo
oppo   A59S
Android   5.1
No video, only sound

LG
nexus5X
Android   O
normal

vivo
X9
Android   7.1.1
normal

vivo
X9Plus
Android   6.0.1
No video, only sound

Google
Pixel
Android   7.1
normal

三星
三星note2-4.3
Android   4.3
normal

Logs
I did not find the significant logs and there are lots of logs.   Below are some info:
04-03 15:56:53.865 370-3977/? D/MtkOmxVdecEx: [0xe67da000] FTB (0xE8A9D5C0) (0xE6581120) (12) AVSyncTime(29195600)
04-03 15:56:53.865 370-3977/? D/MtkOmxMVAMgr: [0xe6811c00] IonBuffer: entry(0xe21cede0), va(0xd9fb5000), mva:(0x09600000), ion_buf_handle (0x00000009)
04-03 15:56:53.865 370-3977/? D/MtkOmxVdecEx: [0xe67da000] pBuffer(0xe8a9d5c0),VA(0xD9FB5000), PA(0x09600000), size(1181184) mIonOutputBufferCount(3491)
04-03 15:56:53.865 370-3977/? D/MtkOmxVdecEx: [0xe67da000] [TEST-REF] 0 IncRef 0xd9fb5000 idx 9 to refCount 1
04-03 15:56:53.865 370-3977/? D/MtkOmxVdecEx: [0xe67da000] SIGNAL mOutputBufferSem
04-03 15:56:53.865 370-3978/? D/MtkOmxVdecEx: [0xe67da000] [DI] DISetGrallocExtra +
04-03 15:56:53.866 370-3978/? D/MtkOmxVdecEx: [0xe67da000] [DI] DISetGrallocExtra GRALLOC_EXTRA_BIT_CM_NV12_BLK
04-03 15:56:53.866 370-3978/? D/MtkOmxVdecEx: [0xe67da000] [DI] DISetGrallocExtra -
04-03 15:56:53.866 370-3978/? D/MtkOmxVdecEx: [0xe67da000]  wait for fence 66
04-03 15:56:53.866 370-3978/? D/MtkOmxVdecEx: [0xe67da000] [TEST-REF] 1 IncRef 0xd9fb5000 idx 9 to refCount 2
04-03 15:56:53.866 370-3978/? D/MtkOmxVdecEx: pFrame : 0xdd42d400 0xe8a9d5c0 (VA: 0xd9fb5000, PA: 0x09600000, 0xe6581120)
04-03 15:56:53.866 370-3978/? I/VDO_LOG: Output buffer VA = 0xd9fb5000, PA = 0x09600000
04-03 15:56:53.866 370-3978/? I/VDO_LOG: DecodeEx return 1
04-03 15:56:53.866 370-3978/? D/MtkOmxVdecEx: [0xe67da000] AVC DEC, NAL 1 (0), 29680000, 0x10 27 (0xE8A9CF60), (2 ms, 2 ms, 31 ms), 0
04-03 15:56:53.866 370-3978/? D/MtkOmxVdecEx: [0xe67da000] mIsInterlacing 0
04-03 15:56:53.866 370-3978/? D/MtkOmxVdecEx: [0xe67da000] CURRENT_DISPLAY return code, length 866304, ts 29320000, 3D 0
04-03 15:56:53.866 370-3978/? D/MtkOmxVdecEx: [0xe67da000] mIsInterlacing 0
04-03 15:56:53.866 370-3978/? D/MtkOmxVdecEx: [0xe67da000] FBD (0xE8A9D200) (0xE65810A0) 29320000 (866304) GET_DISP i(5) frm_buf(0xDD42D480), flags(0x00000000) mFlushInProcess 0
04-03 15:56:53.866 370-3978/? D/MtkOmxVdecEx: [0xe67da000] [TEST-REF] 0 DecRef 0xdc83e000 idx 0 array 2 to refCount 1
04-03 15:56:53.866 370-3978/? D/MtkOmxMVAMgr: [0xe6811c00] [ION][FreeBuffer] entry=0xe21cebd0, va=0xdc83e000, pa=0x9e00000,size=0x120600, srcFd=0x00000073, fd=0x0000007B, bufHdr=0xE8A9D200
04-03 15:56:53.867 370-3978/? D/MtkOmxVdecEx: [0xe67da000] [TEST-REF] 1 DecRef 0xdc83e000 idx 0 array 2 to refCount 0
04-03 15:56:53.867 370-3978/? D/MtkOmxVdecEx: [0xe67da000] EBD (0xE8A9CF60) (0xDE6C0000) (5) (5 4)
04-03 15:56:53.867 370-3978/? D/MtkOmxVdecEx: [DEBUG] Release the lock:mDecodeLock
04-03 15:56:53.867 370-3978/? D/MtkOmxVdecEx: ## 0xe67da000 Wait to decode (4) (input: 4, output: 0)
04-03 15:56:53.867 370-3978/? D/MtkOmxVdecEx: ## 0xe67da000 out from sem (3)
04-03 15:56:53.867 370-3978/? D/MtkOmxVdecEx: [DEBUG] Get the lock:mDecodeLock
04-03 15:56:53.867 370-3978/? I/VDO_LOG: 4K disabled by eFuse
04-03 15:56:53.867 370-3975/? D/ACodec: mMaxQueueBufferNum 2 < component occupied 4, skip postFillThisBuffer
04-03 15:56:53.868 370-3972/? I/NuPlayerDecoder: [handleAnOutputBuffer]line:773 [OMX.MTK.VIDEO.DECODER.AVC] queueBuffer(video, 29320000)
04-03 15:56:53.870 370-3978/? I/VDO_LOG: [H264DecEndProc, 4985]
04-03 15:56:53.870 370-3978/? I/VDO_LOG: DrvGetOutputBufferCB+
04-03 15:56:53.870 370-3978/? D/MtkOmxVdecEx: ## 0xe67da000 Wait for output buffer (0)
04-03 15:56:53.879 370-3982/? D/GenericSource: dequeueAccessUnit audio:1 time:29909333
04-03 15:56:53.879 370-3982/? I/NuPlayerDecoder: [handleAnOutputBuffer]line:773 [OMX.google.aac.decoder] queueBuffer(audio, 29781333)
04-03 15:56:53.899 370-3982/? D/GenericSource: dequeueAccessUnit audio:1 time:29930666
04-03 15:56:53.899 370-3982/? I/NuPlayerDecoder: [handleAnOutputBuffer]line:773 [OMX.google.aac.decoder] queueBuffer(audio, 29802666)

Flutter Doctor
[✓] Flutter (Channel beta, v0.2.3, on Mac OS X 10.12.6 16G1212, locale zh-Hans-HK)
    • Flutter version 0.2.3 at /Users/guoyou/projects/flutter
    • Framework revision 5a58b36e36 (3 weeks ago), 2018-03-13 13:20:13 -0700
    • Engine revision e61bb9ac3a
    • Dart version 2.0.0-dev.35.flutter-290c576264

[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at /Users/guoyou/Library/Android/sdk
    • Android NDK at /Users/guoyou/Library/Android/sdk/ndk-bundle
    • Platform android-27, build-tools 27.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 9.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.1, Build version 9B55
    • ios-deploy 1.9.2
    • CocoaPods version 1.4.0

[✓] Android Studio (version 3.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)

[✓] IntelliJ IDEA Community Edition (version 2017.2.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin installed
    • Dart plugin version 172.3968.27

[✓] Connected devices (3 available)

• No issues found!

> For more information about diagnosing and reporting Flutter bugs, please see [https://flutter.io/bug-reports/](https://flutter.io/bug-reports/).

do they work normally on those phones? I mean natively? I suggest to look how video plugin works underneath and use exoplayer in the same way.

@charafau The flutter pages don't work on the Chinese Android 6.0.1 and older devices.   The native pages are fine.

@mravn-google  Thanks very much. We have done the test with your fix and it is OK for our devices now.

@mravn-google  I found the problem still exists in some devices. So I reopen this issue. Could you take a look?
The problem device models are as below:

Brand
Model
OS Version
Test result

MEIZU
m1   note
4.4.4
Failed

VIVO
vivoX9
6.0.1
Failed

MEIZU
m1 note
4.2.1
Failed

cc @sigurdm

@brianosman do you have ideas for helping out here?
@korbin-w what exact version of flutter are you on (output of flutter doctor --verbose)?

@mravn-google
@sigurdm  I'm from @korbin-w 's team.
flutter doctor -v gives the messages below:
[✓] Flutter (Channel beta, v0.2.8, on Mac OS X 10.13.4 17E199, locale en-CN)
• Flutter version 0.2.8 at /Users/kylewong/Downloads/flutter
• Framework revision b397406561 (8 days ago), 2018-04-02 13:53:20 -0700
• Engine revision c903c217a1
• Dart version 2.0.0-dev.43.0.flutter-52afcba357
[!] Android toolchain - develop for Android devices (Android SDK 27.0.3)
• Android SDK at /Users/kylewong/Library/Android/sdk
• Android NDK at /Users/kylewong/Library/Android/sdk/ndk-bundle
• Platform android-27, build-tools 27.0.3
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
✗ Android license status unknown.
[✓] iOS toolchain - develop for iOS devices (Xcode 9.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 9.3, Build version 9E145
• ios-deploy 1.9.2
• CocoaPods version 1.2.0
[✓] Android Studio (version 3.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
[!] Connected devices
! No devices available
! Doctor found issues in 2 categories.
We dug more and noticed several devices in which the video fails to play.
I launch the flutter_gallery from flutter repo in verbose and noticed some error referring to GLSL issue.
For a device running Android6.0 (Huawei Rom)
[   +1 ms] D/skia    (15963): GLSL compilation error
[        ] D/skia    (15963): ----------------------
[        ] D/skia    (15963): GLSL:
[        ] D/skia    (15963):    1	#version 310 es
[        ] D/skia    (15963):    2
[        ] D/skia    (15963):    3	#extension GL_OES_EGL_image_external : enable
[        ] D/skia    (15963):    4	precision mediump float;
[        ] D/skia    (15963):    5	out mediump vec4 sk_FragColor;
[        ] D/skia    (15963):    6	uniform lowp samplerExternalOES uTextureSampler_0_Stage0;
[        ] D/skia    (15963):    7	in mediump vec4 vcolor_Stage0;
[        ] D/skia    (15963):    8	in highp vec2 vtextureCoords_Stage0;
[        ] D/skia    (15963):    9	void main() {
[        ] D/skia    (15963):   10	    mediump vec4 outputColor_Stage0;
[        ] D/skia    (15963):   11	    {
[        ] D/skia    (15963):   12	        outputColor_Stage0 = vcolor_Stage0;
[        ] D/skia    (15963):   13	        highp vec2 texCoord;
[        ] D/skia    (15963):   14	        texCoord = vtextureCoords_Stage0;
[        ] D/skia    (15963):   15	        outputColor_Stage0 = outputColor_Stage0 * texture(uTextureSampler_0_Stage0, texCoord);
[        ] D/skia    (15963):   16	    }
[        ] D/skia    (15963):   17	    {
[        ] D/skia    (15963):   18	        sk_FragColor = outputColor_Stage0;
[        ] D/skia    (15963):   19	    }
[        ] D/skia    (15963):   20	}
[        ] D/skia    (15963):   21
[        ] D/skia    (15963): Errors:
[        ] D/skia    (15963): ERROR: 0:6: 'samplerExternalOES' : requires extension GL_OES_EGL_image_external_essl3 to be enabled
[        ] D/skia    (15963): ERROR: 1 compilation errors.  No code generated.
For another device running Android 4.4.2(Huawei Honor):
[  +21 ms] D/skia    (10958): GLSL compilation error
[        ] D/skia    (10958): ----------------------
[        ] D/skia    (10958): GLSL:
[        ] D/skia    (10958):    1	#version 300 es
[        ] D/skia    (10958):    2
[        ] D/skia    (10958):    3	#extension GL_OES_EGL_image_external : enable
[        ] D/skia    (10958):    4	precision mediump float;
[        ] D/skia    (10958):    5	out mediump vec4 sk_FragColor;
[        ] D/skia    (10958):    6	uniform lowp samplerExternalOES uTextureSampler_0_Stage0;
[        ] D/skia    (10958):    7	flat in mediump vec4 vcolor_Stage0;
[        ] D/skia    (10958):    8	in highp vec2 vtextureCoords_Stage0;
[        ] D/skia    (10958):    9	void main() {
[        ] D/skia    (10958):   10	    mediump vec4 outputColor_Stage0;
[        ] D/skia    (10958):   11	    {
[        ] D/skia    (10958):   12	        outputColor_Stage0 = vcolor_Stage0;
[        ] D/skia    (10958):   13	        highp vec2 texCoord;
[        ] D/skia    (10958):   14	        texCoord = vtextureCoords_Stage0;
[        ] D/skia    (10958):   15	        outputColor_Stage0 = outputColor_Stage0 * texture(uTextureSampler_0_Stage0, texCoord);
[        ] D/skia    (10958):   16	    }
[        ] D/skia    (10958):   17	    {
[        ] D/skia    (10958):   18	        sk_FragColor = outputColor_Stage0;
[        ] D/skia    (10958):   19	    }
[        ] D/skia    (10958):   20	}
[        ] D/skia    (10958):   21
[   +5 ms] D/skia    (10958): Errors:
[        ] D/skia    (10958): 0:3: P0003: Extension 'GL_OES_EGL_image_external' not supported
[        ] D/skia    (10958): 0:6: L0001: Typename expected, found 'samplerExternalOES'
For another device running Android4
[  +14 ms] D/skia    (30419): GLSL compilation error
[        ] D/skia    (30419): ----------------------
[        ] D/skia    (30419): GLSL:
[        ] D/skia    (30419):    1	#version 300 es
[        ] D/skia    (30419):    2
[        ] D/skia    (30419):    3	#extension GL_OES_EGL_image_external : enable
[        ] D/skia    (30419):    4	precision mediump float;
[        ] D/skia    (30419):    5	out mediump vec4 sk_FragColor;
[        ] D/skia    (30419):    6	uniform lowp samplerExternalOES uTextureSampler_0_Stage0;
[        ] D/skia    (30419):    7	flat in mediump vec4 vcolor_Stage0;
[        ] D/skia    (30419):    8	in highp vec2 vtextureCoords_Stage0;
[        ] D/skia    (30419):    9	void main() {
[        ] D/skia    (30419):   10	    mediump vec4 outputColor_Stage0;
[        ] D/skia    (30419):   11	    {
[        ] D/skia    (30419):   12	        outputColor_Stage0 = vcolor_Stage0;
[        ] D/skia    (30419):   13	        highp vec2 texCoord;
[        ] D/skia    (30419):   14	        texCoord = vtextureCoords_Stage0;
[        ] D/skia    (30419):   15	        outputColor_Stage0 = outputColor_Stage0 * texture(uTextureSampler_0_Stage0, texCoord);
[        ] D/skia    (30419):   16	    }
[        ] D/skia    (30419):   17	    {
[        ] D/skia    (30419):   18	        sk_FragColor = outputColor_Stage0;
[        ] D/skia    (30419):   19	    }
[        ] D/skia    (30419):   20	}
[        ] D/skia    (30419):   21
[   +2 ms] D/skia    (30419): Errors:
[        ] D/skia    (30419): 0:3: P0003: Warning: Extension 'GL_OES_EGL_image_external' not supported
[        ] D/skia    (30419): 0:6: L0001: Typename expected, found 'samplerExternalOES'
[        ] D/skia    (30419):
Are those messages useful? Is it possible for us to use the texture mechanism to play video on these devices?

Hi @kangwang1988 . Thanks for the details.
This looks to me similar to https://github.com/flutter/flutter/issues/14053#issuecomment-373944009 .
Flutter currently contains the initial Skia fix https://skia.googlesource.com/skia/+/91fba61f24943a6e12f69732d9308beb76f8a7c6 from 4 weeks ago.
There is an update to the fix still not rolled into Flutter https://skia.googlesource.com/skia/+/c585e20f5a7a49808ddf6ac12af287f226bb26dc .
@brianosman would you expect the updated fix to help in the cases seen here?
If yes, then we need to roll Skia (to at least c585e20f5a7a49) in Engine, and Engine in Flutter to include the fix.
@cbracken could you help making the rolls happen?

Hi @kangwang1988 , yes - those messages are very helpful. The updated fix that @sigurdm mentioned will be rolling into Flutter soon, but I think it will only fix some of these devices. It looks like there are two kinds of problems:
The Android 4 & 4.4 devices that report "Extension 'GL_OES_EGL_image_external' not supported" are going to be unable to play video. That extension is required to be able to treat a video frame as a texture in OpenGL and draw it.
The Android 6 device (anything that says "... requires extension GL_OES_EGL_image_external_essl3") should start working. That's a newer extension that is also required to treat video frames as textures, when using a newer version of OpenGL ES. On some devices, the driver does not include that extension when we ask it for a list of supported extensions, even though it does work (and is required to be able to import video frames). Our current workaround is to enable that extension on Adreno & Mali devices. If your device has a GPU from a different manufacturer, it may not work, but we could include more devices in that workaround.
I think the Android 5 devices will start working, but I can't be sure - I haven't been able to test on one of those.

@sigurdm
I've embed the fix "https://skia.googlesource.com/skia/+/91fba61f24943a6e12f69732d9308beb76f8a7c6" in our engine.
It help use solve the problem for android 6.
What's the commit "https://skia.googlesource.com/skia/+/c585e20f5a7a49808ddf6ac12af287f226bb26dc ." is for?
In fact, we still have pretty uses who's android version is below Android 6. It would be a big issue if we can't solve it in flutter.
@brianegan

@brianosman Do we have a sense as to how common it is for devices to be missing this extension?  Trying to get a sense as to what % of android devices which we previously thought would work with our video approach are now believed to not?
Do we know if there are any "backup" approaches we could try when missing this extension? :)  FYI @chinmaygarde @cbracken

@kangwang1988:
@brianosman discovered that on at least some devices that don't support the ..._essl3 extension we still must use the ..._essl3 extension name in the shaders than sample from the video texture. The second change does that. So more devices should work after the second CL.

@bsalomon
Got that.Thanks a lot.

We suspect that an engine with https://skia.googlesource.com/skia/+/c585e20f5a7a49808ddf6ac12af287f226bb26dc should work on all those devices.

I am having the same issue with Android 5.0.2 (LRX22G) on Xiaomi Redmi Note 2 using flutter latest (master) also same issue with camera plugin

Hi @lotux, Can you try this patch?
https://skia-review.googlesource.com/c/skia/+/121320
It would apply in /src/third_party/skia
That device has a PowerVR GPU. We haven't yet tested the driver workaround on a PowerVR device due us not having one that exhibits this issue. The workaround is currently limited to ARM and Qualcomm GPUs. It would be very helpful if you could confirm that it works on PowerVR as well.

@lotux also if you have a list of any other devices you've seen this on, it's possible we could get one of those easier.  The fastest I could find to order a Redmi Note 2 was 10 days. :)
My understanding from @mjohnsullivan is that this is the primary remaining bug for customer:gold.

@bsalomon I am not sure how I can test this patch, any document or guide?
@eseidelGoogle I have couple of other Chinese devices which I will try to test on and will let you know

@lotux https://github.com/flutter/engine/blob/master/CONTRIBUTING.md have some instructions on how to build a custom engine.
If you have other devices we could test on, we can also potentially find one of those nearby to test ourselves.  Thanks!

@brianosman
[        ] D/skia    (12101): GLSL compilation error
[        ] D/skia    (12101): ----------------------
[        ] D/skia    (12101): GLSL:
[        ] D/skia    (12101):    1	#version 310 es
[        ] D/skia    (12101):    2
[        ] D/skia    (12101):    3	#extension GL_OES_EGL_image_external_essl3 : enable
[        ] D/skia    (12101):    4	precision mediump float;
[        ] D/skia    (12101):    5	out mediump vec4 sk_FragColor;
[        ] D/skia    (12101):    6	uniform lowp samplerExternalOES uTextureSampler_0_Stage0;
[        ] D/skia    (12101):    7	uniform lowp sampler2D uTextureSampler_1_Stage0;
[        ] D/skia    (12101):    8	uniform lowp sampler2D uTextureSampler_2_Stage0;
[        ] D/skia    (12101):    9	uniform lowp sampler2D uTextureSampler_3_Stage0;
[        ] D/skia    (12101):   10	in mediump vec4 vcolor_Stage0;
[        ] D/skia    (12101):   11	in highp vec2 vtextureCoords_Stage0;
[        ] D/skia    (12101):   12	flat in highp int vtextureIdx_Stage0;
[        ] D/skia    (12101):   13	void main() {
[        ] D/skia    (12101):   14	    mediump vec4 outputColor_Stage0;
[        ] D/skia    (12101):   15	    {
[        ] D/skia    (12101):   16	        outputColor_Stage0 = vcolor_Stage0;
[        ] D/skia    (12101):   17	        highp vec2 texCoord;
[        ] D/skia    (12101):   18	        texCoord = vtextureCoords_Stage0;
[        ] D/skia    (12101):   19	        highp int texIdx;
[        ] D/skia    (12101):   20	        texIdx = vtextureIdx_Stage0;
[        ] D/skia    (12101):   21	        switch (texIdx) {
[        ] D/skia    (12101):   22	            case 0:
[        ] D/skia    (12101):   23	                outputColor_Stage0 = outputColor_Stage0 * texture(uTextureSampler_0_Stage0, texCoord);
[        ] D/skia    (12101):   24	                break;
[        ] D/skia    (12101):   25	            case 1:
[        ] D/skia    (12101):   26	                outputColor_Stage0 = outputColor_Stage0 * texture(uTextureSampler_1_Stage0, texCoord);
[        ] D/skia    (12101):   27	                break;
[        ] D/skia    (12101):   28	            case 2:
[        ] D/skia    (12101):   29	                outputColor_Stage0 = outputColor_Stage0 * texture(uTextureSampler_2_Stage0, texCoord);
[        ] D/skia    (12101):   30	                break;
[        ] D/skia    (12101):   31	            case 3:
[        ] D/skia    (12101):   32	                outputColor_Stage0 = outputColor_Stage0 * texture(uTextureSampler_3_Stage0, texCoord);
[        ] D/skia    (12101):   33	                break;
[        ] D/skia    (12101):   34	        }
[        ] D/skia    (12101):   35	    }
[        ] D/skia    (12101):   36	    {
[        ] D/skia    (12101):   37	        sk_FragColor = outputColor_Stage0;
[        ] D/skia    (12101):   38	    }
[        ] D/skia    (12101):   39	}
[        ] D/skia    (12101):   40
[        ] D/skia    (12101): Errors:
[        ] D/skia    (12101): WARNING: 0:3: extension 'GL_OES_EGL_image_external_essl3' is not supported
[        ] D/skia    (12101): ERROR: 0:6: 'samplerExternalOES' : requires extension GL_OES_EGL_image_external to be enabled
[        ] D/skia    (12101): ERROR: 1 compilation errors.  No code generated.
This is a error message reported in an Android 5.0.1 device.
Based on your explain, I think this device should support the video player, right?
If right, do you have any new commit for me to fix that in this android5 device?

I found a bit hard to follow and understand the previous messages,
I can confirm that on Rpi3 with Android Things preview 6 with 100% java project, Exoplayer doesn't work. Trying with flutter project gives me the same result.
Is there any way to configure flutter to play videos on that device, either by configuring something on Exoplayer or using something else?

@kangwang1988 after speaking with @brianosman we think there is one more thing to try before resigning ourselves to falling back to ES2 when GL_OES_EGL_image_external_essl3 is not present.
We think "enabling" rather than "requiring" both GL_OES_EGL_image_external_essl3 and GL_OES_EGL_image_external in shaders that use GL_TEXTURE_EXTERNAL_OES textures may work. @brianosman is going to make a patch for this.
@fmatosqg, The RPI3 has a Broadcom GPU. We have not tested with these workarounds on Broadcom. Do you get any errors in adb logcat when running a flutter app that draws video? If so we'd be very keen to see them.  We're still sorting this out. Flutter will work on all Android GPUs with video textures when we resolve this. We're just trying to see if we can get there without regressing any performance.

@bsalomon I can get logcats by tomorrow, but my system is still on preview 6 (and another probably on 4). Do you have a reference project I should run or any test should be good for it?

Whatever project you were testing before should be fine. Looking for something like the logs posted by @kangwang1988

Not sure how to do the verbose logs that show skia messages, I ran instead with the verbose option you can choose from AS flutter menu (below where you choose dart 1 / 2)
These logs come from Rpi3 preview 4 (NIH40K). I'll make my due diligence later but I believe this version didn't have GPU support, in which case this report may be meaningless.
The code automatically launches video after 4 seconds (I don't have a touch screen). After a while I still get a blank screen, but the app keeps running.
git@github.com:fmatosqg/flutter_problem.git commit b9457f6.
I'll set up a run on Rpi preview 6 later, I'd need to get a display to confirm behavior.
Note that I usually tune the display resolution by editing config.txt, let me know display matters and I can try to arrange it.
[   +1 ms] Stopping app 'app.apk' on iot rpi3.
[   +1 ms] /Users/fabio.dematos/Library/Android/sdk/platform-tools/adb -s <IP_ADDRESS>:5555 shell am force-stop com.example.flutterproblems
[+2175 ms] /Users/fabio.dematos/Library/Android/sdk/platform-tools/adb -s <IP_ADDRESS>:5555 shell pm list packages com.example.flutterproblems
[+2008 ms] package:com.example.flutterproblems
[   +2 ms] /Users/fabio.dematos/Library/Android/sdk/platform-tools/adb -s <IP_ADDRESS>:5555 shell cat /data/local/tmp/sky.com.example.flutterproblems.sha1
[  +75 ms] e02848dc81184a6dfc07c136ba452c2c14cb432a
[        ] Latest build already installed.
[        ] iot rpi3 startApp
[   +1 ms] /Users/fabio.dematos/Library/Android/sdk/platform-tools/adb -s <IP_ADDRESS>:5555 shell am start -a android.intent.action.RUN -f 0x20000000 --ez enable-background-compilation true --ez enable-dart-profiling true --ez enable-checked-mode true --ez start-paused true com.example.flutterproblems/com.example.flutterproblems.MainActivity
[+2060 ms] Starting: Intent { act=android.intent.action.RUN flg=0x20000000 cmp=com.example.flutterproblems/.MainActivity (has extras) }
[        ] Waiting for observatory port to be available...
[ +243 ms] E/flutter ( 7823): [ERROR:flutter/shell/platform/android/android_context_gl.cc(165)] Could not choose an EGL configuration.
[        ] E/flutter ( 7823): [ERROR:flutter/shell/platform/android/android_context_gl.cc(49)] EGL Error: EGL_SUCCESS (12288)
[  +44 ms] I/FlutterActivityDelegate( 7823): onResume setting current activity to this
[+1594 ms] Observatory URL on device: http://<IP_ADDRESS>:43395/
[   +6 ms] /Users/fabio.dematos/Library/Android/sdk/platform-tools/adb -s <IP_ADDRESS>:5555 forward tcp:8113 tcp:43395
[  +11 ms] Forwarded host port 8113 to device port 43395 for Observatory
[   +3 ms] Connecting to service protocol: http://<IP_ADDRESS>:8113/
[+1241 ms] Successfully connected to service protocol: http://<IP_ADDRESS>:8113/
[   +2 ms] getVM: {}
[  +26 ms] getIsolate: {isolateId: isolates/921133037}
[   +3 ms] _flutter.listViews: {}
[  +40 ms] DevFS: Creating new filesystem on the device (null)
[        ] _createDevFS: {fsName: flutter_problem}
[ +204 ms] DevFS: Created new filesystem on the device (file:///data/user/0/com.example.flutterproblems/cache/flutter_problemLHZXIJ/flutter_problem/)
[{"event":"app.debugPort","params":{"appId":"ee75ee64-4c92-4181-abf2-5007fc766c3c","port":8113,"wsUri":"ws://<IP_ADDRESS>:8113/ws","baseUri":"file:///data/user/0/com.example.flutterproblems/cache/flutter_problemLHZXIJ/flutter_problem/"}}]
[   +2 ms] Updating assets
Syncing files to device iot rpi3...
[{"event":"app.progress","params":{"appId":"ee75ee64-4c92-4181-abf2-5007fc766c3c","id":"3","progressId":null,"message":"Syncing files to device iot rpi3..."}}]
[ +192 ms] DevFS: Starting sync from LocalDirectory: '/Users/fabio.dematos/code/android/samples/flutter/flutter_problem'
[        ] Scanning project files
[   +2 ms] Scanning package files
[  +91 ms] Scanning asset files
[   +1 ms] Scanning for deleted files
[   +9 ms] Compiling dart to kernel with 410 updated files
[+1169 ms] Updating files
[+2759 ms] DevFS: Sync finished
[{"event":"app.progress","params":{"appId":"ee75ee64-4c92-4181-abf2-5007fc766c3c","id":"3","progressId":null,"finished":true}}]
[        ] Synced 1.1MB.
[   +3 ms] _flutter.listViews: {}
[  +51 ms] Connected to _flutterView/0xa14763c0.
[{"event":"app.started","params":{"appId":"ee75ee64-4c92-4181-abf2-5007fc766c3c"}}]
[+4325 ms] D/NetworkSecurityConfig( 7823): No Network Security Config specified, using platform default
[+3093 ms] E/GLConsumer( 7823): [SurfaceTexture-0-7823-0] attachToContext: invalid current EGLDisplay
[   +6 ms] I/flutter ( 7823): [INFO:platform_view_android_jni.cc(29)] java.lang.RuntimeException: Error during attachToGLContext (see logcat for details)
[        ] I/flutter ( 7823): 	at android.graphics.SurfaceTexture.attachToGLContext(SurfaceTexture.java:286)
[        ] I/flutter ( 7823):
[        ] F/flutter ( 7823): [FATAL:flutter/shell/platform/android/platform_view_android_jni.cc(83)] Check failed: CheckException(env).
[        ] F/libc    ( 7823): Fatal signal 6 (SIGABRT), code -6 in tid 7840 (Thread-2)
[  +83 ms] *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
[        ] Build fingerprint: 'AndroidThings/iot_rpi3/rpi3:7.0/NIH40K/4098522:userdebug/test-keys'
[        ] Revision: '0'
[        ] ABI: 'arm'
[        ] pid: 7823, tid: 7840, name: Thread-2  >>> com.example.flutterproblems <<<
[   +4 ms] signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
[   +7 ms] Abort message: '[FATAL:flutter/shell/platform/android/platform_view_android_jni.cc(83)] Check failed: CheckException(env).
[        ] '
[        ]     r0 00000000  r1 00001ea0  r2 00000006  r3 00000008
[   +8 ms]     r4 93f1d978  r5 00000006  r6 93f1d920  r7 0000010c
[        ]     r8 00000002  r9 8aef01b8  sl 90567200  fp a1442860
[        ]     ip 00000000  sp 93f1d270  lr ab28c32f  pc ab28eb7c  cpsr 20000010
[  +29 ms] backtrace:
[        ]     #00 pc 00048b7c  /system/lib/libc.so (tgkill+12)
[   +6 ms]     #01 pc 0004632b  /system/lib/libc.so (pthread_kill+34)
[        ]     #02 pc 0001c6d5  /system/lib/libc.so (raise+10)
[        ]     #03 pc 00018237  /system/lib/libc.so (__libc_android_abort+34)
[        ]     #04 pc 00017770  /system/lib/libc.so (abort+4)
[        ]     #05 pc 001775bf  /data/app/com.example.flutterproblems-1/lib/arm/libflutter.so
[        ]     #06 pc 00222635  /data/app/com.example.flutterproblems-1/lib/arm/libflutter.so
[        ]     #07 pc 00087539  /data/app/com.example.flutterproblems-1/lib/arm/libflutter.so
[        ]     #08 pc 000821c1  /data/app/com.example.flutterproblems-1/lib/arm/libflutter.so
[        ]     #09 pc 00082037  /data/app/com.example.flutterproblems-1/lib/arm/libflutter.so
[        ]     #10 pc 0008bc05  /data/app/com.example.flutterproblems-1/lib/arm/libflutter.so
[        ]     #11 pc 00089aa1  /data/app/com.example.flutterproblems-1/lib/arm/libflutter.so
[        ]     #12 pc 0008b583  /data/app/com.example.flutterproblems-1/lib/arm/libflutter.so
[        ]     #13 pc 00089aa1  /data/app/com.example.flutterproblems-1/lib/arm/libflutter.so
[        ]     #14 pc 0008bcf1  /data/app/com.example.flutterproblems-1/lib/arm/libflutter.so
[        ]     #15 pc 0008aa41  /data/app/com.example.flutterproblems-1/lib/arm/libflutter.so
[        ]     #16 pc 000ae117  /data/app/com.example.flutterproblems-1/lib/arm/libflutter.so
[        ]     #17 pc 000ae291  /data/app/com.example.flutterproblems-1/lib/arm/libflutter.so
[        ]     #18 pc 000ae503  /data/app/com.example.flutterproblems-1/lib/arm/libflutter.so
[        ]     #19 pc 000ae35f  /data/app/com.example.flutterproblems-1/lib/arm/libflutter.so
[        ]     #20 pc 000ae1a5  /data/app/com.example.flutterproblems-1/lib/arm/libflutter.so
[        ]     #21 pc 000a69a3  /data/app/com.example.flutterproblems-1/lib/arm/libflutter.so
[        ]     #22 pc 0008e219  /data/app/com.example.flutterproblems-1/lib/arm/libflutter.so
[        ]     #23 pc 00090a5b  /data/app/com.example.flutterproblems-1/lib/arm/libflutter.so
[        ]     #24 pc 00011ef3  /system/lib/libutils.so (_ZN7android6Looper9pollInnerEi+610)
[        ]     #25 pc 00011c03  /system/lib/libutils.so (_ZN7android6Looper8pollOnceEiPiS1_PPv+26)
[        ]     #26 pc 0000b6cb  /system/lib/libandroid.so (ALooper_pollOnce+50)
[        ]     #27 pc 00090a17  /data/app/com.example.flutterproblems-1/lib/arm/libflutter.so
[        ]     #28 pc 0008e2a5  /data/app/com.example.flutterproblems-1/lib/arm/libflutter.so
[        ]     #29 pc 0008f64d  /data/app/com.example.flutterproblems-1/lib/arm/libflutter.so
[        ]     #30 pc 00045dfb  /system/lib/libc.so (_ZL15__pthread_startPv+22)
[        ]     #31 pc 00018c8d  /system/lib/libc.so (__start_thread+6)

This is on Rpi3 on preview 6 without mentioning hardware acceleration on manifest. Exoplayer on a pure java project also doesn't work.
The screen doesn't animate, but notice that the image is frozen on some frame around 3 seconds from beggining.

[  +10 ms] Building APK
Running 'gradlew assembleDebug'...
[{"event":"app.progress","params":{"appId":"84d760ca-2a05-4eb8-a518-7e3af39e3cc9","id":"2","progressId":null,"message":"Running 'gradlew assembleDebug'..."}}]
[   +5 ms] [android/] /Users/fabio.dematos/code/android/samples/flutter/flutter_problem/android/gradlew -q -Ptarget=/Users/fabio.dematos/code/android/samples/flutter/flutter_problem/lib/main.dart -Ppreview-dart-2=true -Pfilesystem-scheme=org-dartlang-root assembleDebug
[{"event":"app.progress","params":{"appId":"84d760ca-2a05-4eb8-a518-7e3af39e3cc9","id":"2","progressId":null,"finished":true}}]
[+1804 ms] calculateSha: /Users/fabio.dematos/code/android/samples/flutter/flutter_problem/build/app/outputs/apk/app.apk
[ +484 ms] Built build/app/outputs/apk/debug/app-debug.apk (30.3MB).
[        ] /Users/fabio.dematos/Library/Android/sdk/build-tools/27.0.3/aapt dump badging build/app/outputs/apk/app.apk
[   +7 ms] Exit code 0 from: /Users/fabio.dematos/Library/Android/sdk/build-tools/27.0.3/aapt dump badging build/app/outputs/apk/app.apk
[        ] package: name='com.example.flutterproblems' versionCode='1' versionName='1.0' platformBuildVersionName=''
           sdkVersion:'16'
           targetSdkVersion:'27'
           uses-permission: name='android.permission.INTERNET'
           application-label:'flutter_problems'
           application-icon-160:'res/mipmap-mdpi-v4/ic_launcher.png'
           application-icon-240:'res/mipmap-hdpi-v4/ic_launcher.png'
           application-icon-320:'res/mipmap-xhdpi-v4/ic_launcher.png'
           application-icon-480:'res/mipmap-xxhdpi-v4/ic_launcher.png'
           application-icon-640:'res/mipmap-xxxhdpi-v4/ic_launcher.png'
           application: label='flutter_problems' icon='res/mipmap-mdpi-v4/ic_launcher.png'
           application-debuggable
           launchable-activity: name='com.example.flutterproblems.MainActivity'  label='' icon=''
           feature-group: label=''
             uses-feature: name='android.hardware.faketouch'
             uses-implied-feature: name='android.hardware.faketouch' reason='default feature for all apps'
           main
           supports-screens: 'small' 'normal' 'large' 'xlarge'
           supports-any-density: 'true'
           locales: '--_--'
           densities: '160' '240' '320' '480' '640'
           native-code: 'armeabi-v7a' 'x86' 'x86_64'
[        ] Stopping app 'app.apk' on iot rpi3.
[        ] /Users/fabio.dematos/Library/Android/sdk/platform-tools/adb -s <IP_ADDRESS>:5555 shell am force-stop com.example.flutterproblems
[ +618 ms] /Users/fabio.dematos/Library/Android/sdk/platform-tools/adb -s <IP_ADDRESS>:5555 shell pm list packages com.example.flutterproblems
[+1975 ms] package:com.example.flutterproblems
[   +7 ms] /Users/fabio.dematos/Library/Android/sdk/platform-tools/adb -s <IP_ADDRESS>:5555 shell cat /data/local/tmp/sky.com.example.flutterproblems.sha1
[ +277 ms] e02848dc81184a6dfc07c136ba452c2c14cb432a
[        ] Latest build already installed.
[        ] iot rpi3 startApp
[   +1 ms] /Users/fabio.dematos/Library/Android/sdk/platform-tools/adb -s <IP_ADDRESS>:5555 shell am start -a android.intent.action.RUN -f 0x20000000 --ez enable-background-compilation true --ez enable-dart-profiling true --ez enable-checked-mode true --ez start-paused true com.example.flutterproblems/com.example.flutterproblems.MainActivity
[ +177 ms] Starting: Intent { act=android.intent.action.RUN flg=0x20000000 cmp=com.example.flutterproblems/.MainActivity (has extras) }
[        ] Waiting for observatory port to be available...
[+4295 ms] I/FlutterActivityDelegate( 1262): onResume setting current activity to this
[+4248 ms] Observatory URL on device: http://<IP_ADDRESS>:40087/
[  +11 ms] /Users/fabio.dematos/Library/Android/sdk/platform-tools/adb -s <IP_ADDRESS>:5555 forward tcp:8111 tcp:40087
[  +21 ms] Forwarded host port 8111 to device port 40087 for Observatory
[   +4 ms] Connecting to service protocol: http://<IP_ADDRESS>:8111/
[+1650 ms] Successfully connected to service protocol: http://<IP_ADDRESS>:8111/
[   +2 ms] getVM: {}
[ +153 ms] getIsolate: {isolateId: isolates/236852548}
[   +1 ms] _flutter.listViews: {}
[ +833 ms] DevFS: Creating new filesystem on the device (null)
[        ] _createDevFS: {fsName: flutter_problem}
[ +112 ms] D/vndksupport( 1262): Loading<EMAIL_ADDRESS>from current namespace instead of sphal namespace.
[ +105 ms] I/Choreographer( 1262): Skipped 420 frames!  The application may be doing too much work on its main thread.
[+1915 ms] DevFS: Created new filesystem on the device (file:///data/user/0/com.example.flutterproblems/cache/flutter_problemJYHPSR/flutter_problem/)
[{"event":"app.debugPort","params":{"appId":"84d760ca-2a05-4eb8-a518-7e3af39e3cc9","port":8111,"wsUri":"ws://<IP_ADDRESS>:8111/ws","baseUri":"file:///data/user/0/com.example.flutterproblems/cache/flutter_problemJYHPSR/flutter_problem/"}}]
[   +4 ms] Updating assets
Syncing files to device iot rpi3...
[{"event":"app.progress","params":{"appId":"84d760ca-2a05-4eb8-a518-7e3af39e3cc9","id":"3","progressId":null,"message":"Syncing files to device iot rpi3..."}}]
[ +199 ms] DevFS: Starting sync from LocalDirectory: '/Users/fabio.dematos/code/android/samples/flutter/flutter_problem'
[        ] Scanning project files
[   +5 ms] Scanning package files
[  +95 ms] Scanning asset files
[   +1 ms] Scanning for deleted files
[  +12 ms] Compiling dart to kernel with 410 updated files
[+1268 ms] Updating files
[+31593 ms] DevFS: Sync finished
[{"event":"app.progress","params":{"appId":"84d760ca-2a05-4eb8-a518-7e3af39e3cc9","id":"3","progressId":null,"finished":true}}]
[        ] Synced 1.1MB.
[   +1 ms] _flutter.listViews: {}
[  +24 ms] Connected to _flutterView/0xa6afe080.
[{"event":"app.started","params":{"appId":"84d760ca-2a05-4eb8-a518-7e3af39e3cc9"}}]
[+10745 ms] V/MediaHTTPService( 1262): MediaHTTPService(android.media.MediaHTTPService@567f041): Cookies: null
[        ] V/MediaHTTPService( 1262): makeHTTPConnection: CookieManager created: java.net.CookieManager@d26bb27
[        ] V/MediaHTTPService( 1262): makeHTTPConnection(android.media.MediaHTTPService@567f041): cookieHandler: java.net.CookieManager@d26bb27 Cookies: null
[        ] D/NetworkSecurityConfig( 1262): No Network Security Config specified, using platform default
[+12644 ms] W/MediaPlayerNative( 1262): info/warning (703, 0)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[ +821 ms] D/vndksupport( 1262): Loading<EMAIL_ADDRESS>from current namespace instead of sphal namespace.
[  +16 ms] W/GrallocMapperPassthrough( 1262): buffer descriptor with invalid usage bits 0x2000
[  +13 ms] D/gralloc ( 1262): Registering a buffer in the process that created it. This may cause memory ordering problems.
[+19187 ms] W/MediaPlayerNative( 1262): info/warning (703, 0)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[        ] W/MediaPlayerNative( 1262): info/warning (3, 0)
[        ] W/GrallocMapperPassthrough( 1262): buffer descriptor with invalid usage bits 0x2000
[        ] D/gralloc ( 1262): Registering a buffer in the process that created it. This may cause memory ordering problems.
[ +984 ms] I/zygote  ( 1262): Do partial code cache collection, code=30KB, data=30KB
[        ] I/zygote  ( 1262): After code cache collection, code=30KB, data=30KB
[        ] I/zygote  ( 1262): Increasing code cache capacity to 128KB
[+29011 ms] W/MediaPlayerNative( 1262): info/warning (703, 0)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+2002 ms] W/MediaPlayerNative( 1262): info/warning (703, 0)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+2009 ms] W/MediaPlayerNative( 1262): info/warning (703, 0)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+1997 ms] W/MediaPlayerNative( 1262): info/warning (703, 0)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+1002 ms] W/MediaPlayerNative( 1262): info/warning (703, 851)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+2042 ms] W/MediaPlayerNative( 1262): info/warning (703, 851)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+2529 ms] I/Choreographer( 1262): Skipped 240 frames!  The application may be doing too much work on its main thread.
[ +454 ms] W/MediaPlayerNative( 1262): info/warning (703, 851)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+2988 ms] W/MediaPlayerNative( 1262): info/warning (703, 818)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+1007 ms] W/MediaPlayerNative( 1262): info/warning (703, 818)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+2990 ms] W/MediaPlayerNative( 1262): info/warning (703, 769)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+3012 ms] W/MediaPlayerNative( 1262): info/warning (703, 769)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+2007 ms] W/MediaPlayerNative( 1262): info/warning (703, 732)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+3005 ms] W/MediaPlayerNative( 1262): info/warning (703, 732)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[  +15 ms] I/zygote  ( 1262): Do partial code cache collection, code=57KB, data=48KB
[        ] I/zygote  ( 1262): After code cache collection, code=57KB, data=48KB
[        ] I/zygote  ( 1262): Increasing code cache capacity to 256KB
[+2968 ms] W/MediaPlayerNative( 1262): info/warning (703, 715)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+1011 ms] W/MediaPlayerNative( 1262): info/warning (703, 715)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+1049 ms] W/MediaPlayerNative( 1262): info/warning (703, 715)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+4294 ms] W/MediaPlayerNative( 1262): info/warning (703, 700)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+3674 ms] W/MediaPlayerNative( 1262): info/warning (703, 700)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[ +994 ms] W/MediaPlayerNative( 1262): info/warning (703, 670)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+2009 ms] W/MediaPlayerNative( 1262): info/warning (703, 670)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+3037 ms] W/MediaPlayerNative( 1262): info/warning (703, 643)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[ +959 ms] W/MediaPlayerNative( 1262): info/warning (703, 643)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[ +992 ms] W/MediaPlayerNative( 1262): info/warning (703, 643)
[   +4 ms] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+2000 ms] W/MediaPlayerNative( 1262): info/warning (703, 643)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+2001 ms] W/MediaPlayerNative( 1262): info/warning (703, 620)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+2006 ms] W/MediaPlayerNative( 1262): info/warning (703, 620)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[ +997 ms] W/MediaPlayerNative( 1262): info/warning (703, 620)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+1006 ms] W/MediaPlayerNative( 1262): info/warning (703, 620)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+2988 ms] W/MediaPlayerNative( 1262): info/warning (703, 598)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+3030 ms] W/MediaPlayerNative( 1262): info/warning (703, 581)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+1973 ms] W/MediaPlayerNative( 1262): info/warning (703, 581)
[   +6 ms] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+2008 ms] W/MediaPlayerNative( 1262): info/warning (703, 581)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[ +986 ms] W/MediaPlayerNative( 1262): info/warning (703, 567)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+2009 ms] W/MediaPlayerNative( 1262): info/warning (703, 567)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+3001 ms] W/MediaPlayerNative( 1262): info/warning (703, 605)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+1006 ms] W/MediaPlayerNative( 1262): info/warning (703, 605)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[ +993 ms] W/MediaPlayerNative( 1262): info/warning (703, 605)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+1001 ms] W/MediaPlayerNative( 1262): info/warning (703, 605)
[  +11 ms] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+3019 ms] W/MediaPlayerNative( 1262): info/warning (703, 616)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[ +994 ms] W/MediaPlayerNative( 1262): info/warning (703, 616)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+3015 ms] W/MediaPlayerNative( 1262): info/warning (703, 616)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[ +988 ms] W/MediaPlayerNative( 1262): info/warning (703, 642)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+1280 ms] W/MediaPlayerNative( 1262): info/warning (703, 642)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+1719 ms] W/MediaPlayerNative( 1262): info/warning (703, 642)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+1990 ms] W/MediaPlayerNative( 1262): info/warning (703, 642)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+3012 ms] W/MediaPlayerNative( 1262): info/warning (703, 660)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[ +993 ms] W/MediaPlayerNative( 1262): info/warning (703, 660)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+3007 ms] W/MediaPlayerNative( 1262): info/warning (703, 674)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+1997 ms] W/MediaPlayerNative( 1262): info/warning (703, 674)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+2052 ms] W/MediaPlayerNative( 1262): info/warning (703, 674)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[ +975 ms] W/MediaPlayerNative( 1262): info/warning (703, 693)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+2975 ms] W/MediaPlayerNative( 1262): info/warning (703, 693)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+2014 ms] W/MediaPlayerNative( 1262): info/warning (703, 693)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+1005 ms] W/MediaPlayerNative( 1262): info/warning (703, 683)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[ +986 ms] W/MediaPlayerNative( 1262): info/warning (703, 683)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+4003 ms] W/MediaPlayerNative( 1262): info/warning (703, 683)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+1993 ms] W/MediaPlayerNative( 1262): info/warning (703, 725)
[  +20 ms] W/MediaPlayerNative( 1262): info/warning (701, 0)
[ +990 ms] W/MediaPlayerNative( 1262): info/warning (703, 725)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+1029 ms] W/MediaPlayerNative( 1262): info/warning (703, 725)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[ +967 ms] W/MediaPlayerNative( 1262): info/warning (703, 725)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+3005 ms] W/MediaPlayerNative( 1262): info/warning (703, 732)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+2988 ms] W/MediaPlayerNative( 1262): info/warning (703, 732)
[  +10 ms] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+1009 ms] W/MediaPlayerNative( 1262): info/warning (703, 716)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+2961 ms] W/MediaPlayerNative( 1262): info/warning (703, 716)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+1106 ms] W/MediaPlayerNative( 1262): info/warning (703, 716)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+1937 ms] W/MediaPlayerNative( 1262): info/warning (703, 701)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+1096 ms] W/MediaPlayerNative( 1262): info/warning (703, 701)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+4893 ms] W/MediaPlayerNative( 1262): info/warning (703, 687)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+3017 ms] W/MediaPlayerNative( 1262): info/warning (703, 687)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[ +992 ms] W/MediaPlayerNative( 1262): info/warning (703, 742)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+1001 ms] W/MediaPlayerNative( 1262): info/warning (703, 742)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+1003 ms] W/MediaPlayerNative( 1262): info/warning (703, 742)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+3024 ms] W/MediaPlayerNative( 1262): info/warning (703, 734)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[ +971 ms] W/MediaPlayerNative( 1262): info/warning (703, 734)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[ +995 ms] W/MediaPlayerNative( 1262): info/warning (703, 734)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[ +997 ms] W/MediaPlayerNative( 1262): info/warning (703, 734)
[  +10 ms] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+4986 ms] W/MediaPlayerNative( 1262): info/warning (703, 720)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+1020 ms] W/MediaPlayerNative( 1262): info/warning (703, 720)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[ +996 ms] W/MediaPlayerNative( 1262): info/warning (703, 720)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+1989 ms] W/MediaPlayerNative( 1262): info/warning (703, 695)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+3015 ms] W/MediaPlayerNative( 1262): info/warning (703, 695)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+1035 ms] W/MediaPlayerNative( 1262): info/warning (703, 695)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+2965 ms] W/MediaPlayerNative( 1262): info/warning (703, 700)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+1026 ms] W/MediaPlayerNative( 1262): info/warning (703, 700)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[ +971 ms] W/MediaPlayerNative( 1262): info/warning (703, 700)
[   +3 ms] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+1178 ms] W/MediaPlayerNative( 1262): info/warning (703, 743)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+4039 ms] W/MediaPlayerNative( 1262): info/warning (703, 743)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+8786 ms] W/MediaPlayerNative( 1262): info/warning (703, 683)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+3006 ms] W/MediaPlayerNative( 1262): info/warning (703, 683)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+27016 ms] W/MediaPlayerNative( 1262): info/warning (703, 869)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)
[+3697 ms] W/GrallocMapperPassthrough( 1262): buffer descriptor with invalid usage bits 0x2000
[        ] D/gralloc ( 1262): Registering a buffer in the process that created it. This may cause memory ordering problems.
[+76379 ms] W/MediaPlayerNative( 1262): info/warning (703, 569)
[        ] W/MediaPlayerNative( 1262): info/warning (701, 0)
[+7039 ms] W/MediaPlayerNative( 1262): info/warning (703, 544)
[        ] W/MediaPlayerNative( 1262): info/warning (702, 0)

I think you're seeing a different issue. Maybe someone from Flutter can help out with getting symbolized call stacks when a crash occurs which would help identify what's happening here.

Feel free to ignore the crash, it was a one time thing and I can't remember it happening during any of my previous tests. But since I was capturing lots of data I found them in there, and not sure whether they were useful.

Symbolication instructions here: https://github.com/flutter/engine/wiki/Symbolicating-production-crash-stacks . We really need to build a tool for that. :/

For me the flutter_gallery video started playing on Samsung Galaxy Note 4, SM N910F, Android 6.0.1
[✓] Flutter (Channel master, v0.3.1-pre.33, on Linux, locale en_US.UTF-8)
• Flutter version 0.3.1-pre.33 at /home/allar/A/PROJECTS/flutter
• Framework revision ec7b46e30b (3 hours ago), 2018-04-18 12:09:16 -0700
• Engine revision c73be7ada2
• Dart version 2.0.0-dev.48.0.flutter-fe606f890b

Update: https://github.com/flutter/engine/pull/5047 rolls in the latest fix for this issue. It's no longer restricted to any particular devices, and attempts to make external images (ie video playback) work on as many devices as possible. I expect this to fix the issue reported by @kangwang1988 in https://github.com/flutter/flutter/issues/16178#issuecomment-381891730

I am running latest version of skia engine and on Android 5.0.2 (LRX22G) on Xiaomi Redmi Note 2 , camera and video play doesn't work
Flutter 0.3.4-pre.2 • channel master • https://github.com/flutter/flutter.git
Framework • revision fd7222eea8 (3 days ago) • 2018-04-23 02:03:46 +0100
Engine • revision cb3376c5de
Tools • Dart 2.0.0-dev.48.0.flutter-fe606f890b
Error for camera plugin:
D/Camera-JNI( 6928): Allocating callback buffer
I/CameraFramework( 6928): handleMessage: 4096
I/CameraFramework( 6928): CAMERA_MSG_META_DATA
D/skia    ( 6928): GLSL compilation error
D/skia    ( 6928): ----------------------
D/skia    ( 6928): GLSL:
D/skia    ( 6928):    1	#version 310 es
D/skia    ( 6928):    2
D/skia    ( 6928):    3	#extension GL_OES_EGL_image_external : require
D/skia    ( 6928):    4	#extension GL_OES_EGL_image_external_essl3 : require
D/skia    ( 6928):    5	precision mediump float;
D/skia    ( 6928):    6	out mediump vec4 sk_FragColor;
D/skia    ( 6928):    7	uniform lowp samplerExternalOES uTextureSampler_0_Stage0;
D/skia    ( 6928):    8	flat in mediump vec4 vcolor_Stage0;
D/skia    ( 6928):    9	in highp vec2 vtextureCoords_Stage0;
D/skia    ( 6928):   10	void main() {
D/skia    ( 6928):   11	    mediump vec4 outputColor_Stage0;
D/skia    ( 6928):   12	    {
D/skia    ( 6928):   13	        outputColor_Stage0 = vcolor_Stage0;
D/skia    ( 6928):   14	        highp vec2 texCoord;
D/skia    ( 6928):   15	        texCoord = vtextureCoords_Stage0;
D/skia    ( 6928):   16	        outputColor_Stage0 = outputColor_Stage0 * texture(uTextureSampler_0_Stage0, texCoord);
D/skia    ( 6928):   17	    }
D/skia    ( 6928):   18	    {
D/skia    ( 6928):   19	        sk_FragColor = outputColor_Stage0;
D/skia    ( 6928):   20	    }
D/skia    ( 6928):   21	}
D/skia    ( 6928):   22
D/skia    ( 6928): Errors:
D/skia    ( 6928): Compile failed.
D/skia    ( 6928): ERROR: 0:4: Extension GL_OES_EGL_image_external_essl3 not supported
D/skia    ( 6928): ERROR: 1 compilation errors. No code generated.
D/skia    ( 6928):
D/skia    ( 6928):

@lotux Thanks for that output - it looks like we've switched to 'require'ing the extension, rather than just 'enable'ing them, which is causing your problem. Not sure when/how that happened, I'll investigate.

@lotux I believe that https://github.com/flutter/engine/pull/5090 will fix this latest issue.

@brianosman thanks for quick reply, how to test this?, i just upgraded my flutter with flutter upgrade and now I am running:
Flutter 0.3.6-pre.11 • channel master • https://github.com/flutter/flutter.git
Framework • revision 7038597b02 (14 minutes ago) • 2018-04-25 14:15:34 -0700
Engine • revision 9859af123e
Tools • Dart 2.0.0-dev.49.0.flutter-29d6e96370

and still having same issue

@lotux looks like the Engine which is currently used on master flutter/engine@9859af123e is 21 hours old.  The fix from Skia just went into the engine 3 hours ago, and we need to wait for the Flutter Framework to roll forward to a newer Engine version.

@brianosman
@eseidelGoogle running latest flutter engine reversion and error changed a bit
Flutter 0.3.6-pre.28 • channel master • https://github.com/flutter/flutter.git
Framework • revision 82f969ff05 (23 minutes ago) • 2018-04-26 14:37:39 -0700
Engine • revision cb2092b3fd
Tools • Dart 2.0.0-dev.50.0.flutter-8d4074175f

D/skia    (14474): GLSL compilation error
D/skia    (14474): ----------------------
D/skia    (14474): GLSL:
D/skia    (14474):    1	#version 310 es
D/skia    (14474):    2
D/skia    (14474):    3	#extension GL_OES_EGL_image_external : require
D/skia    (14474):    4	#extension GL_OES_EGL_image_external_essl3 : require
D/skia    (14474):    5	precision mediump float;
D/skia    (14474):    6	out mediump vec4 sk_FragColor;
D/skia    (14474):    7	uniform lowp samplerExternalOES uTextureSampler_0_Stage0;
D/skia    (14474):    8	flat in mediump vec4 vcolor_Stage0;
D/skia    (14474):    9	in highp vec2 vtextureCoords_Stage0;
D/skia    (14474):   10	void main() {
D/skia    (14474):   11	    mediump vec4 outputColor_Stage0;
D/skia    (14474):   12	    {
D/skia    (14474):   13	        outputColor_Stage0 = vcolor_Stage0;
D/skia    (14474):   14	        highp vec2 texCoord;
D/skia    (14474):   15	        texCoord = vtextureCoords_Stage0;
D/skia    (14474):   16	        outputColor_Stage0 = outputColor_Stage0 * texture(uTextureSampler_0_Stage0, texCoord);
D/skia    (14474):   17	    }
D/skia    (14474):   18	    {
D/skia    (14474):   19	        sk_FragColor = outputColor_Stage0;
D/skia    (14474):   20	    }
D/skia    (14474):   21	}
D/skia    (14474):   22
D/skia    (14474): Errors:
D/skia    (14474): Compile failed.
D/skia    (14474): ERROR: 0:4: Extension GL_OES_EGL_image_external_essl3 not supported
D/skia    (14474): ERROR: 1 compilation errors. No code generated.
D/skia    (14474):
D/skia    (14474):

https://github.com/flutter/engine/commit/cb2092b3fd (the engine version your flutter doctor reports) is still 2 days old.
https://github.com/flutter/engine/commit/cbec56a3de1e66357cff3c3766c918667af06f03 is the commit which is needed.

Sometimes there is a little lag between when things land in the engine and flutter/flutter starts using the latest engine revision. :(

We'll upgrade our flutter&engine to latest beta those days. Any information related to this issue will be posted here too.

May 1st, 2018
Still not work
[✓] Flutter (Channel master, v0.3.6-pre.68, on Linux, locale en_US.UTF-8)
    • Flutter version 0.3.6-pre.68 at /home/putraxor/DEV/flutter
    • Framework revision 1680e55c02 (5 hours ago), 2018-04-30 23:29:46 -0400
    • Engine revision 613aae032f
    • Dart version 2.0.0-dev.50.0.flutter-cd0c4e4fe1

[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at /home/putraxor/Android/Sdk
    • Android NDK at /home/putraxor/Android/Sdk/ndk-bundle
    • Platform android-27, build-tools 27.0.3
    • ANDROID_HOME = /home/putraxor/Android/Sdk
    • Java binary at: /home/putraxor/DEV/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
    • All Android licenses accepted.

[✓] Android Studio (version 3.1)
    • Android Studio at /home/putraxor/DEV/android-studio
putraxor@putraxor:~/Desktop/plugins/packages/video_player/example$ flutter doctor -v
[✓] Flutter (Channel master, v0.3.6-pre.68, on Linux, locale en_US.UTF-8)
    • Flutter version 0.3.6-pre.68 at /home/putraxor/DEV/flutter
    • Framework revision 1680e55c02 (5 hours ago), 2018-04-30 23:29:46 -0400
    • Engine revision 613aae032f
    • Dart version 2.0.0-dev.50.0.flutter-cd0c4e4fe1

[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at /home/putraxor/Android/Sdk
    • Android NDK at /home/putraxor/Android/Sdk/ndk-bundle
    • Platform android-27, build-tools 27.0.3
    • ANDROID_HOME = /home/putraxor/Android/Sdk
    • Java binary at: /home/putraxor/DEV/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
    • All Android licenses accepted.

[✓] Android Studio (version 3.1)
    • Android Studio at /home/putraxor/DEV/android-studio
    • Flutter plugin version 23.2.2
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[✓] IntelliJ IDEA Ultimate Edition (version 2017.2)
    • IntelliJ at /home/putraxor/DEV/idea-IU-172.3757.52
    • Flutter plugin version 21.2.2
    • Dart plugin version 172.4343.25

[✓] VS Code (version 1.22.2)
    • VS Code at /usr/share/code
    • Dart Code extension version 2.12.0

[✓] Connected devices (1 available)
    • A1601 • 4PLVOFGM99999999 • android-arm64 • Android 5.1 (API 22)

• No issues found!

@brianosman however it's working in native android surface view
D/skia    (14474): GLSL compilation error
D/skia    (14474): ----------------------
D/skia    (14474): GLSL:
D/skia    (14474):    1	#version 310 es
D/skia    (14474):    2
D/skia    (14474):    3	#extension GL_OES_EGL_image_external : require
D/skia    (14474):    4	#extension GL_OES_EGL_image_external_essl3 : require
D/skia    (14474):    5	precision mediump float;
D/skia    (14474):    6	out mediump vec4 sk_FragColor;
D/skia    (14474):    7	uniform lowp samplerExternalOES uTextureSampler_0_Stage0;
D/skia    (14474):    8	flat in mediump vec4 vcolor_Stage0;
D/skia    (14474):    9	in highp vec2 vtextureCoords_Stage0;
D/skia    (14474):   10	void main() {
D/skia    (14474):   11	    mediump vec4 outputColor_Stage0;
D/skia    (14474):   12	    {
D/skia    (14474):   13	        outputColor_Stage0 = vcolor_Stage0;
D/skia    (14474):   14	        highp vec2 texCoord;
D/skia    (14474):   15	        texCoord = vtextureCoords_Stage0;
D/skia    (14474):   16	        outputColor_Stage0 = outputColor_Stage0 * texture(uTextureSampler_0_Stage0, texCoord);
D/skia    (14474):   17	    }
D/skia    (14474):   18	    {
D/skia    (14474):   19	        sk_FragColor = outputColor_Stage0;
D/skia    (14474):   20	    }
D/skia    (14474):   21	}
D/skia    (14474):   22
D/skia    (14474): Errors:
D/skia    (14474): Compile failed.
D/skia    (14474): ERROR: 0:4: Extension GL_OES_EGL_image_external_essl3 not supported
D/skia    (14474): ERROR: 1 compilation errors. No code generated.
D/skia    (14474):
D/skia    (14474):

@putraxor That's interesting. A change was merged into Flutter that should have altered the GLSL, so it would look different than what you're seeing. @chinmaygarde Is Flutter using a shader cache that needs to have a version bump?

This bug has gotten very confusing, with multiple people discussing separate (albeit related) issues.
I would like to recommend that anyone who still has an issue here please file a new bug just for their issue and report their status there. Please feel free to cc me and @brianosman on those bugs. You can leave a comment here pointing to those bugs for clarity.
I intend to close this bug once people have filed new bugs on the remaining issues.
Thanks.

@Hixie
Today I've upgraded our flutter to latest v0.3.1 successfully.
I will check this video play issue tomorrow to check if the patches in this issue works. If the flutter can support as many devices as @brianosman said, i will close this issue.
Update: flutter/engine#5047 rolls in the latest fix for this issue. It's no longer restricted to any particular devices, and attempts to make external images (ie video playback) work on as many devices as possible. I expect this to fix the issue reported by @kangwang1988 in #16178 (comment)
--

@Hixie @brianosman
I still have the issue on my Xiaomi phone, camera and video player doesn't work
Flutter 0.3.6-pre.106 • channel master • https://github.com/flutter/flutter.git
Framework • revision 40ddf01059 (61 minutes ago) • 2018-05-03 15:46:40 -0700
Engine • revision ae0d3a5536
Tools • Dart 2.0.0-dev.52.0.flutter-2765fcf2ae

/skia    (12578): GLSL compilation error
D/skia    (12578): ----------------------
D/skia    (12578): GLSL:
D/skia    (12578):    1	#version 310 es
D/skia    (12578):    2
D/skia    (12578):    3	#extension GL_OES_EGL_image_external : enable
D/skia    (12578):    4	#extension GL_OES_EGL_image_external_essl3 : enable
D/skia    (12578):    5	uniform highp float u_skRTHeight;
D/skia    (12578):    6	precision mediump float;
D/skia    (12578):    7	out mediump vec4 sk_FragColor;
D/skia    (12578):    8	uniform mediump vec4 uscaleAndTranslate_Stage1;
D/skia    (12578):    9	uniform mediump vec4 uTexDom_Stage1;
D/skia    (12578):   10	uniform lowp samplerExternalOES uTextureSampler_0_Stage0;
D/skia    (12578):   11	uniform lowp sampler2D uTextureSampler_0_Stage1;
D/skia    (12578):   12	flat in mediump vec4 vcolor_Stage0;
D/skia    (12578):   13	in highp vec2 vtextureCoords_Stage0;
D/skia    (12578):   14	void main() {
D/skia    (12578):   15	highp     vec2 _sktmpCoord = gl_FragCoord.xy;
D/skia    (12578):   16	highp     vec4 sk_FragCoord = vec4(_sktmpCoord.x, u_skRTHeight - _sktmpCoord.y, 1.0, 1.0);
D/skia    (12578):   17	    mediump vec4 outputColor_Stage0;
D/skia    (12578):   18	    {
D/skia    (12578):   19	        outputColor_Stage0 = vcolor_Stage0;
D/skia    (12578):   20	        highp vec2 texCoord;
D/skia    (12578):   21	        texCoord = vtextureCoords_Stage0;
D/skia    (12578):   22	        outputColor_Stage0 = outputColor_Stage0 * texture(uTextureSampler_0_Stage0, texCoord);
D/skia    (12578):   23	    }
D/skia    (12578):   24	    mediump vec4 output_Stage1;
D/skia    (12578):   25	    {
D/skia    (12578):   26	        mediump vec2 coords = sk_FragCoord.xy * uscaleAndTranslate_Stage1.xy + uscaleAndTranslate_Stage1.zw;
D/skia    (12578):   27	        {
D/skia    (12578):   28	            mediump vec4 inside = texture(uTextureSampler_0_Stage1, coords);
D/skia    (12578):   29	            highp float x = coords.x;
D/skia    (12578):   30	            highp float y = coords.y;
D/skia    (12578):   31	            x = abs((2.0 * (x - uTexDom_Stage1.x)) / (uTexDom_Stage1.z - uTexDom_Stage1.x) - 1.0);
D/skia    (12578):   32	            y = abs((2.0 * (y - uTexDom_Stage1.y)) / (uTexDom_Stage1.w - uTexDom_Stage1.y) - 1.0);
D/skia    (12578):   33	            mediump float blend = step(1.0, max(x, y));
D/skia    (12578):   34	            output_Stage1 = mix(inside, vec4(0.0, 0.0, 0.0, 0.0), blend);
D/skia    (12578):   35	        }
D/skia    (12578):   36	    }
D/skia    (12578):   37	    {
D/skia    (12578):   38	        sk_FragColor = outputColor_Stage0 * output_Stage1;
D/skia    (12578):   39	    }
D/skia    (12578):   40	}
D/skia    (12578):   41
D/skia    (12578): Errors:
D/skia    (12578): Compile failed.
D/skia    (12578): ERROR: 0:22: 'texture' : no matching overloaded function found
D/skia    (12578): ERROR: 1 compilation errors. No code generated.

I’m still having this issue with Samsung S5 Android 6.0.1. Tested after flutter upgrade and cleaning/rebuild projects. On iOS is working great tho.

@brianosman
We've upgraded our flutter to latest v0.3.1 version.
Those devices which support the "GL_OES_EGL_image_external" extension all works fine. Nice job.

Besides, We've found some error msg on certain devices which can't play the video properly, the message is as below:
[  +27 ms] I/[MALI]Gralloc: GET_ORIENTATION 0
[        ] I/[MALI]Gralloc:  GRALLOC_EXTRA_GET_ORIENTATION 0, ion_hnd = 26
[   +8 ms] E/MALI    (10195): _essl_run_frontend:218: [MALI] Parse translation unit failed (3, 0)
[  +27 ms] E/MALI    (10195): _essl_run_frontend:218: [MALI] Parse translation unit failed (3, 0)
[  +57 ms] I/[MALI]Gralloc: GET_ORIENTATION 0
I didn't see anything related to the GL_OES_EGL_image_external stuff.
Do you know why?

@brianosman yes, I upgraded the OS to latest avaliable one from Xiaomi and is running MIUI 9.0 now

OPPO F1s A1601 API 22
https://www.gsmarena.com/oppo_f1s-8239.php
Flutter Doctor
[✓] Flutter (Channel master, v0.3.7-pre.9, on Linux, locale en_US.UTF-8)
    • Flutter version 0.3.7-pre.9 at /home/putraxor/DEV/flutter
    • Framework revision b2b4665926 (3 hours ago), 2018-05-04 18:17:35 -0700
    • Engine revision e976be13c5
    • Dart version 2.0.0-dev.53.0.flutter-e6d7d67f4b

[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at /home/putraxor/Android/Sdk
    • Android NDK at /home/putraxor/Android/Sdk/ndk-bundle
    • Platform android-27, build-tools 27.0.3
    • ANDROID_HOME = /home/putraxor/Android/Sdk
    • Java binary at: /home/putraxor/DEV/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
    • All Android licenses accepted.

[✓] Android Studio (version 3.1)
    • Android Studio at /home/putraxor/DEV/android-studio
    • Flutter plugin version 24.0.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[✓] IntelliJ IDEA Ultimate Edition (version 2017.2)
    • IntelliJ at /home/putraxor/DEV/idea-IU-172.3757.52
    • Flutter plugin version 21.2.2
    • Dart plugin version 172.4343.25

[✓] VS Code (version 1.22.2)
    • VS Code at /usr/share/code
    • Dart Code extension version 2.12.1

[✓] Connected devices (1 available)
    • A1601 • 656P4LMV99999999 • android-arm64 • Android 5.1 (API 22)

• No issues found!

Log
05-05 11:08:23.221 28077-28363/id.tridee.mobile D/MALI: cpomp_shader_object_compile:595: [MALI] _essl_run_compiler_part_1 error, error code = -2.
    cpomp_shader_object_compile:599: [MALI] Compiler error with source size<PHONE_NUMBER>, code:
    #version 310 es

    #extension GL_OES_EGL_image_external : enable
    #extension GL_OES_EGL_image_external_essl3 : enable
    precision mediump float;
    out mediump vec4 sk_FragColor;
    uniform lowp samplerExternalOES uTextureSampler_0_Stage0;
    flat in mediump vec4 vcolor_Stage0;
    in highp vec2 vtextureCoords_Stage0;
    void main() {
        mediump vec4 outputColor_Stage0;
        {
            outputColor_Stage0 = vcolor_Stage0;
            highp vec2 texCoord;
            texCoord = vtextureCoords_Stage0;
            outputColor_Stage0 = outputColor_Stage0 * texture(uTextureSampler_0_Stage0, texCoord);
        }
        {
            sk_FragColor = outputColor_Stage0;
        }
    }
05-05 11:08:23.221 28077-28363/id.tridee.mobile D/skia: GLSL compilation error
    ----------------------
    GLSL:
       1	#version 310 es
       2
       3	#extension GL_OES_EGL_image_external : enable
       4	#extension GL_OES_EGL_image_external_essl3 : enable
       5	precision mediump float;
       6	out mediump vec4 sk_FragColor;
       7	uniform lowp samplerExternalOES uTextureSampler_0_Stage0;
       8	flat in mediump vec4 vcolor_Stage0;
       9	in highp vec2 vtextureCoords_Stage0;
      10	void main() {
      11	    mediump vec4 outputColor_Stage0;
      12	    {
      13	        outputColor_Stage0 = vcolor_Stage0;
      14	        highp vec2 texCoord;
      15	        texCoord = vtextureCoords_Stage0;
      16	        outputColor_Stage0 = outputColor_Stage0 * texture(uTextureSampler_0_Stage0, texCoord);
      17	    }
      18	    {
      19	        sk_FragColor = outputColor_Stage0;
      20	    }
      21	}
      22
    Errors:
    0:3: P0003: Warning: Extension 'GL_OES_EGL_image_external' not supported
    0:4: P0003: Warning: Extension 'GL_OES_EGL_image_external_essl3' not supported

@putraxor Interesting. That suggests that we'll need to limit that phone to ES2. I've ordered one of those as well.

thank you very much @brianosman

Latest update from @kangwang1988.  This is customer: gold's one remaining blocker:
"The compatibility is now much more robust than before except a Meizu device. I think flutter/skia can provide a api for the developers to know whether the video player is supported in flutter. This detection api will enable us to solve the player in a full-screen video_player when a device is not supported. As the not-support devices has a low market share, we think it can be accepted. This issue is a blocker as we have many pages using videos."

@brianosman Any news?

(I've reassigned this bug to @brianosman to reflect who seems to be working on it.)

The "options.fPreferExternalImagesOverES3 = true" approach works fine for us.
Using the master branch, we have verified that all the priorly problematic devices work fine now.

Thank all, we've verified this fix. It can be closed.

Yes. I'm still waiting to receive some more devices (although my Meizu device order was cancelled by the seller), to see if we can narrow down the set of devices where an ES2 fallback would be necessary. It's good to know that it works, though - that gives us a fallback, once we know how/when to trigger it.

@brianosman I am still having same issue as before on my Xiaomi device, waiting for you to see if you can reproduce it once you have received your orders

Update: I've received an Oppo device, and it's going to require the ES2 fallback. I've also received a Xiaomi device, but I can't actually use it - it requires a Mi account (which requires connecting to an inaccessible Chinese server) in order to enable installing apps over USB. Regardless, I suspect it's also going to require the ES2 fallback.
@eseidel Ultimately, I think Flutter is going to want to ship the engine with the ES2 fallback enabled. Skia may land additional patches to make the ES2 fallback happen less often (when we know other fallbacks work), but Skia isn't going to want to force that behavior on all other clients - it's only necessary if a particular client needs external image support to work. For many clients, ES3 is probably more important/useful.

Ultimately, I think Flutter is going to want to ship the engine with the ES2 fallback enabled.

sgtm unless @eseidelGoogle has specific objections.

@brianosman are you sure that you need to have Mi account? some of the Mi phone come with modified ROM (loaded with all kinds of adware), please flash it with original MIUI ROM from http://en.miui.com/download.html , I did the same for mine, don't use the ROM that comes with the phone, it is probably not the original one

@lotux Yup. I installed the ROM from there, looks identical to the one that came on the phone (I think it just went from MIUI 9.5.3 to 9.5.4). I can enable developer mode and USB debugging, but attempting to enable 'Install via USB' pops up a 'Sign in to your Mi account first' notice, and then takes me to the Mi account sign-in UI.

@brianosman I checked again and it seems I have created MI account too ( didn't know that 🤕), may be if you use a proxy from Canada it works?

Hi everyone, I have the same problem on Samsung Tab 10 2014 edition, running Android 5.1. Blank video screen. Do we have a fix for this yet?  Thanks

@brianosman I can confirm that is working on Xiaomi device, both video plugin and camera plugin is working
[✓] Flutter (Channel master, v0.4.5-pre.69, on Mac OS X 10.13.4 17E199, locale en-CA)
    • Flutter version 0.4.5-pre.69 at /Users/[REDACTED]/code/flutter
    • Framework revision 6c03a3f96b (5 days ago), 2018-05-22 15:57:41 -0700
    • Engine revision f876bd5710
    • Dart version 2.0.0-dev.55.0.flutter-97b6c2e09d

[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at /Users/[REDACTED]/Library/Android/sdk
    • Android NDK at /Users/[REDACTED]/Library/Android/sdk/ndk-bundle
    • Platform android-27, build-tools 27.0.3
    • ANDROID_HOME = /Users/[REDACTED]/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 9.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.3, Build version 9E145
    • ios-deploy 1.9.2
    • CocoaPods version 1.5.2

[✓] Android Studio (version 3.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 23.2.2
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[✓] VS Code (version 1.22.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Dart Code extension version 2.12.1

[✓] Connected devices (1 available)
    • iPhone6 ios 8.1 • 8458E68C-11D8-4294-8C49-82C654B6FB17 • ios • iOS 8.1 (simulator)

• No issues found!

I have faced with this issue on my Meizu M3 Note (Android 5.1). I'm confused by the comments above. Can anyone tell me how to fix this issue in short?
[√] Flutter (Channel unknown, v0.4.4, on Microsoft Windows [Version 10.0.17134.285], locale en-US)
    • Flutter version 0.4.4 at D:\program-files\flutter
    • Framework revision f9bb4289e9 (5 months ago), 2018-05-11 21:44:54 -0700
    • Engine revision 06afdfe54e
    • Dart version 2.0.0-dev.54.0.flutter-46ab040e58

[√] Android toolchain - develop for Android devices (Android SDK 28.0.1)
    • Android SDK at C:\Users\ngoan\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.1
    • Java binary at: D:\program-files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    • All Android licenses accepted.

[√] Android Studio (version 3.1)
    • Android Studio at D:\program-files\Android\Android Studio
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[√] Connected devices (1 available)
    • m3 note • L91HVCQ822DJ5 • android-arm64 • Android 5.1 (API 22)

• No issues found!

@ngoan98tv your Flutter version is quite outdated. Are you using the newest plugin version?

@zoechi Because some packages in my project only run on Dart versions <2 so I avoid to upgrade Flutter.
Is there any solution for me without upgrade to Dart 2?

@ngoan98tv not really, except updating the packages yourself to Dart 2 that are not yet compatible.


Import latest Advocu data

This just runs 'npm run advocu' to get the latest data.

@samtstern Could you please provide @dumbbillyhardy the admin access to the repo. We need to make some code changes


Ignoring some errors while parsing wrong html

Hi
In my MVC - C# application I have something like this:
var doc = new HtmlDocument();
var htmlString = "<span ?= >text</span>";
doc.LoadHtml(htmlString);
var e = doc.ParseErrors;
This is not giving any error, but <span ?= > should be wrong
Thank you for your help
Vittorio

Hello @Vittorio-Payoff ,
Thank you for reporting.
We will look during the weekend why this is not reporting as an error.
Best Regards,
Jonathan

Hello @Vittorio-Payoff ,
We looked at this issue during the weekend.
However, the time estimated to fix it and report it as an error is a way too long.
Since there is some major issue/feature more important than this one, we choose to postpone it.
We don't have yet any planning date.
Best Regards,
Jonathan


My php artisan queue:work and also php artisan queue:listen nothing works. Still I have jobs in my table. My jobs are never excecuted.

Laravel Version: 5.3
PHP Version: 7.0
Database Driver & Version: mysql

My queue was working firn with supervisor. Then I have stopped queue and supervisor for some purpose. Again I have restarted, But queue is not working...Supervisor showing running sttaus.. But queue is not working. Still jobs are in table.
I don't what is the exact issue

Hey there,
Unfortunately we don't support this version anymore. Please check out our support policy on which versions we are currently supporting. Can you please try to upgrade to the latest version and see if your problem persists? We'll help you out and re-open this issue if so.
Thanks!

Hey there,
Unfortunately we don't support this version anymore. Please check out our support policy on which versions we are currently supporting. Can you please try to upgrade to the latest version and see if your problem persists? We'll help you out and re-open this issue if so.
Thanks!

You are not supporting 5.3 bugs ...Or laravel 5.3 not support queue?


Text reordering suggestion on step 30

In step 30 (getWindowSize fallback), we have the following:

Because we’re always returning -1 (meaning an error occurred) from getWindowSize() at this point, we make a call to editorReadKey() so we can observe the results of our escape sequences before the program calls die() and clears the screen. When you run the program, you should see the cursor is positioned at the bottom-right corner of the screen, and then when you press a key you’ll see the error message printed by die() after it clears the screen.
Also notice we are sticking a 1 || at the front of our if condition temporarily, so that we can test this fallback branch we are developing.

The opposite (paragraph) ordering reads more logically, in my opinion. We're always returning -1 at this point because we've stuck the 1 || at the front of our conditional. Any thoughts?
If you give the thumbs up, I'm happy to make a pull request. Thanks for putting all of this together! :turtle:

You're right, thanks for catching that! You can go ahead and make a pull request. Maybe change 'Also notice' to 'Note that', which I think would flow better with the new ordering.

Sounds great! I'll pull it together by tomorrow.


Make SRIOV network device plugin independent of CNI

What would you like to be added?
Remove the dependency on CNI plugins using CDI devices https://github.com/k8snetworkplumbingwg/sriov-network-device-plugin/blob/master/deployments/cdi/README.md
What is the use case for this feature / enhancement?
Depending on CNI adds complexity, since SRIOV plugin already controls the whole lifecycle of the devices it can use CDI devices and its own APIs to handle the attachment of the additional devices to the Pods
I've presented and demoed how to use CDIDevices to add network interfaces to pod in https://docs.google.com/presentation/d/1pjDCtpdbCSWaqCbBYWgzTxAewOVbMf6rUS5SbjAJAe8/edit#slide=id.g2c2d4de4b62_1_323
https://github.com/aojea/network-device-plugin
Happy to sync on this if there is interest , also to work on an implementation

Hi @aojea, Thanks for this really interesting topic!
I check the presentation also video and the code.
there is only one point that I was not able to find about the deletion of the pod are we able to run some work in that case? for example change the internal name back/mac address/remove IP address and other stuff

Good question, let me figure that out

@SchSeba https://github.com/opencontainers/runtime-spec/blob/main/config.md#poststop

This is really nice!
will you be able to talk about it on our next community meeting?
you can find it in the<EMAIL_ADDRESS>calendar its the "K8s Network & Resource Management WG Tech discussion" meeting

@aojea  Is the goal here to eliminate the use of sriov-cni or just handle the movement of sriov interface to container namespace (still use sriov-cni for interface configurations, such as IP/MAC/spoofCheck/linkAuto etc)?

@aojea Is the goal here to eliminate the use of sriov-cni or just handle the movement of sriov interface to container namespace in sriov device plugin (still use sriov-cni for interface configurations, such as IP/MAC/spoofCheck/linkAuto etc)?

I'm looking for improvements on the user experience, not familiar with all the SRIOV use cases , but my feeling is that you can define this configurations in one place and avoid spreading the responsabilities over components this will turn out in a better UX and improve troubleshooting and supportability

@aojea Is the goal here to eliminate the use of sriov-cni or just handle the movement of sriov interface to container namespace in sriov device plugin (still use sriov-cni for interface configurations, such as IP/MAC/spoofCheck/linkAuto etc)?

I'm looking for improvements on the user experience and reduce the complexity of the existing solutions, not familiar with all the SRIOV use cases , but my feeling is that you can define this configurations in one place and avoid spreading the responsibilities over different components ...

I assume it is in align with the network device proposal here: https://github.com/opencontainers/runtime-spec/issues/1239, which provides the capacity of adding a network device to the namespace without explicit or implicit interactions with CNI, but not to configure its networking parameters (e.g. IP allocation and management).

yep, exactly, decoupling interface management of interface configuration I think allow to have much cleaner implementations ... right now CNI is "abused" for "everything networking goes there"

updating the issue https://github.com/containerd/nri/pull/119


Feature request: Ctrl+Arrow keys

I love this software.  However, the one thing that bothers me when entering a note is that I can't use Ctrl+"Left arrow" or Ctrl+"Right arrow" to navigate.  In most text editors, holding the Ctrl key while pressing the left or right arrow moves the cursor one word at a time.  I use that feature all the time and really miss it in PileMD.

I can't test this on Mac but the shortcut works for me on both Windows and Linux. Did you build the project yourself? Perhaps you can try my fork and see if it works there.

I installed originally by unzipping the Linux 0.9.0 release from pilemd.com and just running the binary.
I tried installing the 0.11 zip from your fork, and the feature works there, so thank you.  Just FYI, though, it wasn't instantly obvious to me that I couldn't create a note until I had created at least one folder.  You might consider initializing with some sort of default folder so people can just launch into creating notes.  I love the saving-notes-as-md-files feature though.
Thanks for your help!


feat: Add PM2 installation commands to install.sh for streamlined setup

Update package list and install jq and npm
Install PM2 globally and update PM2

I would still recommend removing sudo from the commands, as this will cause errors on some instances (runpod), and if a user needs to run with sudo perms, they can just run sudo bash install.sh.


safeAdapter extension nulls out the adapter at a wrong time when using dialogs or bottom sheets

Using safeAdapter with Dialogs leaves it null when it's needed

Safe adapter was deprecated in 0.7.3 because of this bug


Adding diagrams to readme from Chien Vu

Codecov Report

Merging #294 into master will decrease coverage by 0.08%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #294      +/-   ##
==========================================
- Coverage   91.98%   91.90%   -0.09%
==========================================
  Files          50       50
  Lines        2782     2779       -3
  Branches      521      521
==========================================
- Hits         2559     2554       -5
- Misses        117      118       +1
- Partials      106      107       +1

Flag
Coverage Δ

#unittests
91.90% <ø> (-0.09%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...rd/ml/operator_converters/sklearn/decomposition.py
81.81% <0.00%> (-6.07%)
:arrow_down:

hummingbird/ml/_container.py
92.75% <0.00%> (-0.07%)
:arrow_down:

...rd/ml/operator_converters/_tree_implementations.py
98.15% <0.00%> (-0.01%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2278bfa...5431603. Read the comment docs.


Preview site is dead

Trying to access any pages from preview sites gives "5XX: Server Error".
In addition, trying to access the main preview site with Chrome will show "HTTP ERROR 503".

BTW preview is not meant for normal usage. I may be changing the url soon to discourage users from using it.


Missing SLE currency

As of 1 July 2022, the ISO 4217 code is SLE due to a redenomination of the old leone (SLL).
This currency isn't supported in this library yet. Are there any plans to support SLE in the future?
https://en.wikipedia.org/wiki/Sierra_Leonean_leone

See PR #739, will merge after the weekend, if I not forget.


feat: add localPort, scheme properties to kubernetes-dashboard entrypoint

Note: These changes do not affect the latest version, but https://github.com/glasskube/glasskube/pull/245 is required for the changes to take effect.

TODO: Rebase after schema update