-
Notifications
You must be signed in to change notification settings - Fork 6k
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
Live streaming issue when using ExoPlayer version 2.17.0 and above #10065
Comments
I have emailed the link to support for testing. Thanks. |
Thanks for the link. I tried it with the 2.17.1 demo app and observed that playback never started (player stayed in the buffering state forever). I observed the same behaviour on 2.17.0. On the 2.16.1 demo app the playback starts successfully. So something seems to have changed between 2.16.1 and 2.17.0. Over to @christosts to take a closer look at this HLS stream. |
I can verify the problem. I'll try to get a fix in next week. Note to self: The loading thread is blocked on TimestampAdjuster.sharedInitializeOrWait() because the first HlsMediaChunk loaded is not a master timestamp source. In 2.16.1 on the other hand, the first chunk loaded is a master timestamp source. I need to check if a load re-ordering has happened between 2.16.1 and 2.17.1. |
Thanks for the issue investigation and the update!!! |
The symptom seems to be related with HLS chunkless preparation which is enabled by default in the 2.17 release. To quickly fix the problem in 2.17, you may instantiate the player with an HLS media source that has chunkless preparation disabled: HlsMediaSource.Factory factory =
new HlsMediaSource.Factory(dataSourceFactory).setAllowChunklessPreparation(false);
ExoPlayer player =
new ExoPlayer.Builder(context).setMediaSourceFactory(factory).build(); I still need to check if there is a bug in chunkless preparation or this playlist is incompatible with the feature. I'll update this issue accordingly. Information on chunkless preparation on this blog post. |
Thank you support for providing the quick fix which works very well . My app is now running release 2.17 with no problem from that playlist. Much appreciated!! |
Root-causing the issue: the player fails to load/prepare the playlist in chunkless mode because the playlist contains the CODECS attribute but it is missing the audio codec. The player assumes the video variants are prepared but the audio one is not, and the player gets stuck. If you have access to the encoding/packaging process, I'd suggest you update how the playlist is created and add the audio codec to CODECS. Then try with chunkless preparation, you might see some improvements in start-up time. On the ExoPlayer side, we submitted a fix to detect this case and fall back to traditional preparation. The fix will be available on the next ExoPlayer release. |
Thanks for your help and support. I will try out the fix once the next
release is available.
…On Thu., Mar. 31, 2022, 04:49 christosts, ***@***.***> wrote:
Closed #10065 <#10065>.
—
Reply to this email directly, view it on GitHub
<#10065 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AD2U2E2VOV742XBIKPOR5JDVCV7KZANCNFSM5QUMF5EA>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Issue: google/ExoPlayer#10065 #minor-release PiperOrigin-RevId: 438281023
Issue: #10065 #minor-release PiperOrigin-RevId: 438281023
I can stream a m3u8 link from my app when using ExoPlayer 2.16.1 libraries,. But when using ExoPlayer 2.17.0 or 2.17.1 libraries, I don't see the streaming from my app. I then use the demo app of 2.12.3 version and can see the streaming. for that link. But when using the demo app of 2.17.0, I don't see the streaming. I would appreciate if the support could review and recommend actions that I can take. I will submit the link later. Thanks .
The text was updated successfully, but these errors were encountered: