gpt4 book ai didi

android - 在 MALI 400 上让 SurfaceTexture 与 Android Videoplayer 一起工作时出现问题

转载 作者:太空宇宙 更新时间:2023-11-03 11:16:37 25 4
gpt4 key购买 nike

我编写了一个应用程序,基本上使用此处许多帖子中的代码将视频渲染到纹理中。我猜原件来自此处的一些 nVidia 样本 (VideoSurfaceView):Using SurfaceTexture in Android

此示例在移动设备和平板电脑上运行良好 - 两者均基于 Tegra。然后我在基于 MALI 400 的安卓系统 (Minix Neo5) 上尝试了相同的代码,我可以看到视频在播放,但我得到的主要是黑屏,上面有一些垃圾(只有 3 或 4 行)

我尝试使用 OpenGL ES 跟踪器来检查从 SurfaceTexture 复制回纹理本身的内容,但看起来跟踪器无法正确显示它(无论是在 tegra 系统上还是在 tegra 设备上。请注意我没有收到任何 OpenGL 错误或任何警告。看起来一切正常。

是否有任何其他工具可以告诉我如果将任何内容复制到 TEXTURE_EXTERNAL 会怎样?所有 TEXTURE_2D 都在跟踪器上可用。

我在 MALI 系统上注意到的一件奇怪的事情是它根本无法播放高清视频。我的 1280x720 视频在调试器上报告说他们正在使用 SoftwareRenderer。也许这就是为什么帧没有正确复制到将用作纹理的 OGL_IMAGE 的原因。

我想我需要更好地了解引擎盖下发生的事情,但我预计会出现一个错误,告诉系统无法执行此操作,或者它应该可以正常工作,即使性能很差。也许这是 android 的修改版本,媒体播放器代码刚刚被破坏...

最佳答案

谢谢你的帖子!这正是我在另外两台 Android 设备(均为 Mali-400 MP)上观察到的情况,我不知道为什么会这样。好像视频是在后台播放的。我将以下几行添加到我的 GLSurfaceView 类的构造函数中:

setEGLConfigChooser(8,8,8,8,0,0);
getHolder().setFormat(PixelFormat.RGBA_8888);

视频在我的 OpenGL 场景“后面”可见。两种设备都声称支持“GL_OES_EGL_image_external”扩展。

关于android - 在 MALI 400 上让 SurfaceTexture 与 Android Videoplayer 一起工作时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15721450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com