ExoPlayer icon indicating copy to clipboard operation
ExoPlayer copied to clipboard

ExoPlaybackException occurs on some terminals

Open ogawa-ma opened this issue 3 years ago • 3 comments

■ Question I'm publishing an app that uses ExoPlayer, but some users are experiencing errors and cannot play videos. two weeks ago, we had logs that showed normal playback, but starting last week, the following error occurred and playback failed. The playback method is Widevine DASH streaming playback.

Exception: com.google.android.exoplayer2.ExoPlaybackException: Source error
       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:628)
       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:582)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loopOnce(Looper.java:201)
       at android.os.Looper.loop(Looper.java:288)
       at android.os.HandlerThread.run(HandlerThread.java:67)

Do you know the cause of the error? Also, are you using the player correctly? As a supplement, the Pixel6a at hand can play videos normally.

firebase

player = ExoPlayer.Builder(mgsApplicationContext)
            .setMediaSourceFactory(mediaSourceFactory)
            .setTrackSelector(trackSelector)
            .setSeekBackIncrementMs(10000)
            .setSeekForwardIncrementMs(10000)
            .build()

val mediaItem = MediaItem.Builder()
            		.setUri(mpdUrl)
            		.setMediaMetadata(MediaMetadata.Builder().setTitle(title).build())
            		.setDrmConfiguration(
                		MediaItem.DrmConfiguration.Builder(C.WIDEVINE_UUID)
                    		.setLicenseUri(licenseUrl)
                    		.setMultiSession(true)
                    		.setForceDefaultLicenseUri(false)
                    		.build()
            		)
            		.build()

player?.setMediaItem(mediaItem)
player?.playWhenReady = true
player?.repeatMode = Player.REPEAT_MODE_OFF
player?.prepare()
playerView?.player = player

ExoPlayer version used:2.16.1 Device:Lenovo YT-K606F Android version:12

I have sent the media file URL and the license server URL to [email protected].

ogawa-ma avatar Aug 29 '22 07:08 ogawa-ma

The screenshots indicate your app received an HTTP 400 response from the Widevine provisioning (not license) request. @rrfrias would you be able to take a look?

icbaker avatar Aug 30 '22 09:08 icbaker

@ogawa-ma, i agree with icbaker that the DrmSessionException appears to be from the Widevine provisioning service. Can you

  1. Is it possible to capture/share a provisioning URL/request from the device?
  2. Include a logcat/bugreport if possible
  3. Are you seeing this across devices or only on Lenovo YT-K606F? Does it fail all the time or intermittently?
  4. If you are not able to get a bugreport, might it be possible for the user to install DRM info app (https://play.google.com/store/apps/details?id=com.androidfung.drminfo) and let us know what the System ID of the device is.

rrfrias avatar Sep 20 '22 18:09 rrfrias

@rrfrias Due to machine translation, we are not sure if some parts have been conveyed correctly. We apologize for that. If you have any questions, please ask.

  1. Is it possible to capture/share a provisioning URL/request from the device?

How do I get this information?

  1. Include a logcat/bugreport if possible

Sorry, we did not get a bug report.

  1. Are you seeing this across devices or only on Lenovo YT-K606F? Does it fail all the time or intermittently?

We have confirmed that this error is occurring on more devices than when the issue was created. Even with the same Lenovo YT-K606F, there are devices that have this error and devices that do not. Also, it always occurs on devices where this error occurs.


  1. If you are not able to get a bugreport, might it be possible for the user to install DRM info app

Since there was no reply from the user who had the error on Lenovo YT-K606F, I did not know the System ID, but the user who had the same error on a different model (SOG05 and SO-53B) I got the System ID from. Both System IDs were 15567.

ogawa-ma avatar Sep 21 '22 10:09 ogawa-ma

@rrfrias The same error is occurring on the XQ-BT44(Android 12) and SO-52B(Android 12), and a user provided me with the information on the DRM info app, which we will share.

ogawa-ma avatar Sep 27 '22 02:09 ogawa-ma

DefaultDrmSession in ExoPlayer has a method provision that retrieves the ProvisioningRequest . Might it be possible to save and share the data portion of the ProvisioningRequest?

rrfrias avatar Oct 18 '22 11:10 rrfrias

@rrfrias Sorry, I don't have a device where the error occurs, and I can't distribute an app with the code to get the ProvisioningRequest data to the general user who is experiencing the error, so I can't share it with you.

ogawa-ma avatar Oct 21 '22 03:10 ogawa-ma

We have a few reports about this issue but have had difficulty tracking it down. We will follow up with other partners and will let you know if we can get to the bottom of this and if have a resolution.

rrfrias avatar Nov 01 '22 20:11 rrfrias

We have been unable to get failing provisioning requests that we need to make progress. I will have to close this for now. If you manage to get failing provisioning requests, please comment and we can reopen.

rrfrias avatar Jan 30 '23 08:01 rrfrias

@rrfrias We plan to collect logs of ProvisioningRequest data at that time, as there will be a revision of our application in the near future. The ProvisioningRequest data is of byte type, but should I share it as is? Or is it better to share the value converted to something (e.g. fromUtf8Bytes)?

ogawa-ma avatar Feb 02 '23 10:02 ogawa-ma

@rrfrias I am still getting errors and would like to reopen the issues. We got the data in the ProvisioningRequest of the terminal where the error occurred and converted it with Util.fromUtf8Bytes. Please confirm.

■ Device A103SO(Android 12)

CpkGEgSHkpprGgQIABIAKugFCgx3aWRldmluZS5jb20SEFFDT-KkTHY7zCyCai1u-acasAPTC1HWvoZbgxyb0sMYnSFFswrwrFV323Jk_d3eLdyp2xuRM1jZEVui75EIyuWrlBi6b3KZ76aR8qONhCoR-8jqI0_57EjwJvJsuXVGOu0HO15KrupgZ9L28tSitbfuMakhuZnLTqMaGUZmd7tTrdBxczc1gpFpH-DPV4hmOSQur-j9bRJThXRUKgnRis8FztCFTwJN5SQgd9jOknhfBTCl_Ywh2PzOjIallyu3rlUSkmcEX5JGwEWf_Oce-dxpOD0O3_yi21wxtqlYKiPeJurUrJhgVoztN6mJ4YHSYUBVgPJHXV6lVrDc545H-lqi4BiPe7LpSPRrjQ9qeTDOUTbAQY-QBMP-hhfP6JZXreguJSubh3RctR41FGcsrafypR-RsJRgQJCCg53yvqUsefUPm_AaEevJIRTndb1l3aCRoYu93zO35fEw2E_MJ60ImoyDQ4fQV2uPDTvoqzLKNo4oS8xMl3NwOp9Fr9c7JjYQ-3USGfaSi6P6-oxyTXFVczbZFRkwF9wMnA8hmVw0zkX5j5r5YhtRQnO2fPtzBDLkukHUaLD7OVReigKReoCOpZYiEDo-69AAj8znzstfMN6bumwqgAIU0YNPM2i1uU-aXML7LmSKf9s4khpwY5VcGOv3OteN3a0qHLZKE6RUtlQLJoq20JOG_ZaK8AkvJjEqk-5Jt6tD8xRWYtJdAWxf7CrWCEg2NNsCGJo5jgQzf_-WUV2JOIANWO3DJqnlD0SnWPvNTqZ8-yEV6T6gWNWmfnyYs5Aa6KanxJJr5uLQ2VrSh8rpWgqiAITPiPhBgqcSWMWzFn1J23Hign2XXsgKIS2TkjapmhZWCnn_o0hwlk7hYDEH5ix3lKyDSN95VvKGiOA67xGFEKy4gzsEpu1oaJn4pN9PsfUlLUrBwzmV8GFQ9HdVkRJLmOsipSV910qvDMEVBE5rOiCt2jIxzdH_NGPFr_wlKK3xc8OlMI68pAZuukayKkBVTBIgwhHsuNkdz0oWmswkYQ8kIQ8BwDR23_Rysph5Na_QKEsYAjJYAAAABQAAAFgAAwAQa5qShwAAAAAAAAAgU09OWV9YUEVSSUFfMDdlM18wMDExYTdmYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

ogawa-ma avatar Mar 13 '23 05:03 ogawa-ma