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

Video with HD audio (e.g. TrueHD) stuck buffering after seek #3845

Closed
ebr11 opened this issue Feb 13, 2018 · 9 comments
Closed

Video with HD audio (e.g. TrueHD) stuck buffering after seek #3845

ebr11 opened this issue Feb 13, 2018 · 9 comments
Assignees
Labels

Comments

@ebr11
Copy link

ebr11 commented Feb 13, 2018

Issue description

The player will get stuck in the "Buffering" state after SimpleExoPlayer.seekTo(). This appears to be somehow related to the HD audio as switching the very same video item to a normal (AC3) audio track will no longer reproduce the problem.

The problem isn't 100% consistent but a few seeks will almost always "stick" the player and it will sometimes "unstick" if you seek several more times.

Reproduction steps

Play content with a TrueHD audio track such that it plays directly via the MatroskaExtractor and issue a few seekTo() commands. The player will enter the buffering state and never get to ready again even though the frame on-screen updates to the proper frame.

Link to test content

Samples are extremely large. Can try to provide upon request

Version of ExoPlayer being used

2.6.1 Dev-v2 branch (as of 2/13/18).

Device(s) and version(s) of Android being used

Reproduced on NVidia Shield TV Android 7.0 Shield experience 6.3.

A full bug report captured from the device

Can attempt to produce upon request.

@andrewlewis andrewlewis self-assigned this Feb 14, 2018
@andrewlewis
Copy link
Collaborator

Please could you provide a clip from the test content (enough so that we can reproduce the issue in the demo app)? Thanks.

@ebr11
Copy link
Author

ebr11 commented Feb 14, 2018

Link emailed.

Thanks!

@ebr11
Copy link
Author

ebr11 commented Feb 18, 2018

Hi. Were you able to reproduce the problem with my link?

@ebr11
Copy link
Author

ebr11 commented Feb 22, 2018

I have discovered this problem may not be limited to HD audio as I have now seen other items get stuck in this condition.

@ebr11
Copy link
Author

ebr11 commented Mar 9, 2018

Hi. This issue is still labeled as "Need more info" but I did provide content that easily reproduces the problem. Are you still waiting for more info?

Thanks.

@andrewlewis
Copy link
Collaborator

Haven't got round to looking at this yet, I'm afraid.

You mentioned that this is not limited to HD audio. Could you provide some sample media for that too?

@ebr11
Copy link
Author

ebr11 commented Mar 9, 2018

I can't provide any other media that will definitely reproduce the issue like the one I did. For other media, it is much less likely and hard to predict but I have seen it occur.

It is very predictable with the media I provided though. Only one or two skips and it is going to get stuck.

Thanks.

ojw28 pushed a commit that referenced this issue Apr 8, 2018
In MatroskaExtractor TrueHD audio samples are joined into larger chunks. For
some streams the resulting chunked samples seem never to start with a syncframe.
This could result in playback of TrueHD streams getting stuck after seeking
because we could never read a syncframe at the start of a sample to determine
the sample size.

Instead of expecting to find a syncframe at the start of a sample, search for it
within the sample, to fix this issue.

Note: this means that we may search a few thousand bytes to find the sample
size, but the cost is only incurred for the first audio sample read.

Issue: #3845

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=191775779
@andrewlewis
Copy link
Collaborator

This should be fixed on dev-v2. Please try it out and let us know if you still have problems.

@ebr11
Copy link
Author

ebr11 commented Apr 9, 2018

Yes! Appears fixed.

Thanks very much.

@google google locked and limited conversation to collaborators Aug 10, 2018
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

2 participants