zxzx74147 / ExoPlayer

Fork from https://github.com/google/ExoPlayer , add tranparency support.
Apache License 2.0
17 stars 8 forks source link

使用noExtensionsDebug版本编译,播放VP9格式webm视频均失败,此问题必现 #2

Open ncwuguowei opened 2 years ago

ncwuguowei commented 2 years ago

[REQUIRED] 使用noExtensionsDebug版本编译,播放VP9格式webm视频均失败,此问题必现

[REQUIRED] 错误日志,提示Buffer too small

2022-04-20 11:04:37.727 26163-26291/com.google.android.exoplayer2.demo E/ExoPlayerImplInternal: Internal runtime error java.lang.IllegalStateException: Buffer too small (1572864 < 1853) at com.google.android.exoplayer2.decoder.DecoderInputBuffer.createReplacementByteBuffer(DecoderInputBuffer.java:204) at com.google.android.exoplayer2.decoder.DecoderInputBuffer.resetSupplementalData(DecoderInputBuffer.java:115) at com.google.android.exoplayer2.source.SampleDataQueue.readToBuffer(SampleDataQueue.java:141) at com.google.android.exoplayer2.source.SampleQueue.read(SampleQueue.java:333) at com.google.android.exoplayer2.source.ProgressiveMediaPeriod.readData(ProgressiveMediaPeriod.java:478) at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$SampleStreamImpl.readData(ProgressiveMediaPeriod.java:900) at com.google.android.exoplayer2.BaseRenderer.readSource(BaseRenderer.java:379) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.feedInputBuffer(MediaCodecRenderer.java:1101) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:722) at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:599) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:329) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:154) at android.os.HandlerThread.run(HandlerThread.java:61)

whitestarlau commented 1 year ago

作者没说,但是使用withExtensions编译加载vp9插件才能实现透明效果。 需要安装ndk 20,同时按照谷歌给vp9插件写的readme,编译之前需要执行/extensions/vp9/src/main/jni/generate_libvpx_android_configs.sh脚本生成必要文件才行。在linux下面验证成功,Windows下面我还没找到编译的办法。

Croie commented 5 months ago

作者没说,但是使用withExtensions编译加载vp9插件才能实现透明效果。 需要安装ndk 20,同时按照谷歌给vp9插件写的readme,编译之前需要执行/extensions/vp9/src/main/jni/generate_libvpx_android_configs.sh脚本生成必要文件才行。在linux下面验证成功,Windows下面我还没找到编译的办法。 有没有相关的文件说明,没太懂这块的意思

whitestarlau commented 3 months ago

作者没说,但是使用withExtensions编译加载vp9插件才能实现透明效果。 需要安装ndk 20,同时按照谷歌给vp9插件写的readme,编译之前需要执行/extensions/vp9/src/main/jni/generate_libvpx_android_configs.sh脚本生成必要文件才行。在linux下面验证成功,Windows下面我还没找到编译的办法。 有没有相关的文件说明,没太懂这块的意思

建议查看Exoplayer的官方仓库关于VP9的文档。https://github.com/google/ExoPlayer/tree/c00f90aace3521fdf66d6d5ada2f49b387e71537/extensions/vp9