我正在开发一个适用于 Android TV 设备的应用程序,它使用 ExoPlayer 作为视频播放器,并且我正在使用带有 PlayReady DRM 的平滑流视频。该应用程序能够毫无问题地执行关键请求等,并且大部分内容正在播放。
但是,我遇到了某些视频资产的问题。在 Logcat 中可以看到以下错误日志:
E/ExoPlayerImplInternal: Internal runtime error.
android.media.MediaCodec$CodecException: Error 0xffffffff
at android.media.MediaCodec.native_queueSecureInputBuffer(Native Method)
at android.media.MediaCodec.queueSecureInputBuffer(MediaCodec.java:2535)
at com.google.android.exoplayer.MediaCodecTrackRenderer.feedInputBuffer(MediaCodecTrackRenderer.java:721)
at com.google.android.exoplayer.MediaCodecTrackRenderer.doSomeWork(MediaCodecTrackRenderer.java:529)
at com.google.android.exoplayer.SampleSourceTrackRenderer.doSomeWork(SampleSourceTrackRenderer.java:128)
at com.google.android.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:432)
at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:211)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:148)
at android.os.HandlerThread.run(HandlerThread.java:61)
at com.google.android.exoplayer.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40)
我知道有问题的资产有效,因为我们在 Chromecast 上成功使用了它们。
我对这个错误感到非常困惑,因为它只发生在某些资产上,而且它们之间似乎没有任何联系。任何帮助将非常感激。