-
Notifications
You must be signed in to change notification settings - Fork 6k
Description
Issue description
After upgrading ExoPlayer to 2.5.1 (from 2.4.4) we are seeing a lot of user reports of a libstagefright.so SIGSEGV. Playback starts, but a crash occurs when the player is released. This may be specific to Widevine+DASH, as the demo app will not crash using the Youtube DASH demos, while it crashes the same as our application on Widevine+DASH demos.
I have a feeling this may be related to the recent CENC support added:
#1989
But I also don't know what I'm talking about, so who knows ;)
I had a quick play at making DefaultDrmSessionManager return false for canAquireSession if the type was cenc etc. (that whole conditional), but ExoPlayer never seemed to call that method at all. Will fiddle a bit more, but thought I'd raise this ASAP.
A remote colleague has a device that can reproduce the crash (Motorola G5 Plus), but there's a bit of a lag getting debug information. Sorry if this contains limited information.
Reproduction steps
- Launch the demo app on an effected device
- Start a Widevine+DASH demo (
WV: Secure SD & HD (cenc,MP4,H264)definitely reproduces this) - Let playback begin
- Press back leaving playback, releasing the player
- Crash should occur
Link to test content
Reproducible in the demo WV: Secure SD & HD (cenc,MP4,H264), so not required.
Version of ExoPlayer being used
2.5.1
Device(s) and version(s) of Android being used
Seems to be 7.0/7.1 specific, but multiple devices. Easily reproducible, as it occurs from what I can tell any time when releasing the player after playback has begun.
Here are the play store device/version graphics:

A full bug report captured from the device
Here's a zipped adb bugreport > libstagefright-widevine-dash-crash.log from our application (iflix.play.dbg).
libstagefright-widevine-dash-crash.zip