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

fix: Add null check for current reference #7184

Merged

Conversation

willdharris
Copy link
Contributor

Resolves #7174.

@shaka-bot
Copy link
Collaborator

Incremental code coverage: 100.00%

@joeyparrish
Copy link
Member

I'm okay with the fix, but we have some consistent test failures. Looks like some expectations need to be updated.

@joeyparrish
Copy link
Member

Or possibly some other test logic needs to be updated. Not sure.

@willdharris
Copy link
Contributor Author

@joeyparrish Thanks for the review. I see the common failing test. I'll take a look at what is going on there.

@joeyparrish
Copy link
Member

@willdharris, I have prepared new releases for v4.10.x and v4.9.x, but I will wait another day to see this get finished and merged.

@avelad avelad added type: bug Something isn't working correctly priority: P1 Big impact or workaround impractical; resolve before feature release labels Aug 21, 2024
@avelad avelad added this to the v4.11 milestone Aug 21, 2024
@willdharris
Copy link
Contributor Author

I'm still not sure how to resolve the failed test.
@avelad I see you looked into this one in the past. I'm sure it's been a while, but would you have any insight on this one?

it('appends the ReadableStream data with low latency mode', async () => {

The failing test indicates appendBuffer is getting called 10x more than it was before the change with the simulated VOD asset in the test. Updating the expect does resolve the failed test and all others pass, but that 10x change seems excessive and worth looking in to.
I did run some smoke tests with our DASH Live content and the Low Latency assets from the demo page. With real content, I'm not seeing the excessive calls to appendBuffer like in the test. Maybe there is logic in the test that should be updated? I'm not very familiar with the LL feature or these tests, so it will take me more time to get up to speed.

@avelad
Copy link
Member

avelad commented Aug 22, 2024

I'm still not sure how to resolve the failed test. @avelad I see you looked into this one in the past. I'm sure it's been a while, but would you have any insight on this one?

it('appends the ReadableStream data with low latency mode', async () => {

The failing test indicates appendBuffer is getting called 10x more than it was before the change with the simulated VOD asset in the test. Updating the expect does resolve the failed test and all others pass, but that 10x change seems excessive and worth looking in to. I did run some smoke tests with our DASH Live content and the Low Latency assets from the demo page. With real content, I'm not seeing the excessive calls to appendBuffer like in the test. Maybe there is logic in the test that should be updated? I'm not very familiar with the LL feature or these tests, so it will take me more time to get up to speed.

@theodab / @tykus160 any idea?

@theodab
Copy link
Contributor

theodab commented Aug 23, 2024

The streaming engine tests use a lot of complicated fakes in them. It unfortunately makes those tests difficult to debug. It's possible this is a result of a bug in the shaka.test.FakeSegmentIndex class.

@avelad
Copy link
Member

avelad commented Aug 23, 2024

With #7197 the problem is solved, once it is merged, please rebase from the main branch, thanks!

avelad added a commit that referenced this pull request Aug 23, 2024
@avelad
Copy link
Member

avelad commented Aug 23, 2024

@willdharris can you rebase the PR? Thanks!

@willdharris willdharris force-pushed the issue/7174-current-reference-null branch from c10bf2e to 7681942 Compare August 23, 2024 15:16
@willdharris
Copy link
Contributor Author

With #7197 the problem is solved, once it is merged, please rebase from the main branch, thanks!

@avelad Thanks for your help with the test!

@avelad avelad merged commit f5aceed into shaka-project:main Aug 23, 2024
13 of 15 checks passed
avelad added a commit that referenced this pull request Aug 26, 2024
avelad pushed a commit that referenced this pull request Aug 26, 2024
avelad added a commit that referenced this pull request Aug 26, 2024
avelad pushed a commit that referenced this pull request Aug 26, 2024
@avelad
Copy link
Member

avelad commented Aug 29, 2024

I'm going to revert this change, sorry!

Due to this change, it is being observed that there are many warning logs of the type:
imagen

And it breaks some HLS streams causing the downloaded segments to be duplicated, for example: https://cadena100-cope.flumotion.com/chunks.m3u8
imagen

avelad added a commit to avelad/shaka-player that referenced this pull request Aug 29, 2024
…Time" and hls playback errors

Reverts shaka-project#7184 ("fix: Add null check for current reference")

See shaka-project#7184 (comment)
avelad added a commit that referenced this pull request Aug 30, 2024
…Time" and hls playback errors (#7239)

Reverts #7184 ("fix:
Add null check for current reference")

See
#7184 (comment)
avelad added a commit that referenced this pull request Aug 30, 2024
…Time" and hls playback errors (#7239)

Reverts #7184 ("fix:
Add null check for current reference")

See
#7184 (comment)
avelad added a commit that referenced this pull request Aug 30, 2024
…Time" and hls playback errors (#7239)

Reverts #7184 ("fix:
Add null check for current reference")

See
#7184 (comment)
@shaka-bot shaka-bot added the status: archived Archived and locked; will not be updated label Oct 22, 2024
@shaka-project shaka-project locked as resolved and limited conversation to collaborators Oct 22, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
priority: P1 Big impact or workaround impractical; resolve before feature release status: archived Archived and locked; will not be updated type: bug Something isn't working correctly
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Buffer stalls due to null current segment reference in some DASH live streams
5 participants