Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ExoPlayer Looper.myLooper() internal crash on dev-2 branch with DASH Live stream WV L3 #7273

Closed
tibor-leo-safar-accedo opened this issue Apr 21, 2020 · 4 comments
Assignees
Labels

Comments

@tibor-leo-safar-accedo
Copy link

[REQUIRED] Issue description

Regarding an already filed issue (#6348) what is happening also with the streams and devices we are working with, we have done some testing with the dev-2 branch (checked out on 12 of April 2020). It turned out that the playback of live stream is not starting. Looking into the logs the issue was identified in SampleQueue.java function onFormatResult line 800.
The crash was because the assertion have failed for Looper.myLooper().
Replacing it with Looper.getMainLooper() didn't crash and playback works nicely.

[REQUIRED] Reproduction steps

This is an application what we develop for one of our clients.
There are Live DASH streams with protected with WideVine L3.

[REQUIRED] Link to test content

A test stream and additional will be shared separately in an e-mail.

[REQUIRED] A full bug report captured from the device

[REQUIRED] Version of ExoPlayer being used

[ExoPlayerLib/2.11.4] from dev-2 branch, checked out on 18 of April 2020.

[REQUIRED] Device(s) and version(s) of Android being used

Samsung Galaxy S10 with Android 10.
Crash happened in 100%

@kim-vde
Copy link
Contributor

kim-vde commented Apr 21, 2020

Did you send the email with a link to the test content? I couldn't find it. Please make sure to put the issue ID in the description.

Also, can you try to play your content on the demo app to see if it works?

@kim-vde kim-vde self-assigned this Apr 21, 2020
@tibor-leo-safar-accedo
Copy link
Author

tibor-leo-safar-accedo commented Apr 22, 2020 via email

@kim-vde
Copy link
Contributor

kim-vde commented Apr 22, 2020

There is indeed a bug in the code because we assume that the SampleQueue is always consumed by the playback thread (which has a looper), while in this case it is consumed by the loader thread (which does not have a looper). Thanks for reporting the issue. We will fix it in a near future.

If you want to make a quick fix in your current version of ExoPlayer, what you can do is to execute the code requesting a looper only if Looper.myLooper() is non-null.

@kim-vde kim-vde assigned AquilesCanta and unassigned kim-vde Apr 22, 2020
icbaker pushed a commit that referenced this issue Apr 27, 2020
@AquilesCanta
Copy link
Contributor

AquilesCanta commented Apr 28, 2020

Please try the fix already available in the dev-v2 branch, referenced above. If you re-encounter the issue, just comment below, and I'll reopen. Thanks for reporting this!

ojw28 pushed a commit that referenced this issue May 28, 2020
@google google locked and limited conversation to collaborators Jun 28, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants