-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
The last image in the thumbnails is not always correct #3517
Comments
@paulJordaan do you have the same issue? |
Personally, I have only tested with the following testing assets and I think they had full image matrixes present so I did not run into this edge case.
If you could share the manifest you are using in this case I can assist with further troubleshooting. |
@paulJordaan I can share privately. Do you have an email to send it to? |
Great, you can send to pdjordaan@gmail.com |
Done! |
@avelad I've been looking at this issue and hoping you can help me with a question I have.
Having access to this value will allow us to calculate the duration of a single thumbnail window ie
Currently |
@joeyparrish can you help us with it? |
Here's what I'm seeing with the content @avelad sent:
So we're getting the correct thumbnail, we just need to know how long to show it. The duration of each segment is known to the manifest (in SegmentReference, 1000 in this case). The duration of each thumbnail in the segment is the segment duration / total images in the grid (including blank ones). We can compute this and expose it through the Thumbnail interface. I've got a draft locally which I will try to get through code review today. |
Ah, now I see it's not quite as trivial as I thought. There's an edge case, which is that the segment duration of the last segment is clipped to the media duration. This results in a calculated thumb duration of 4.6 seconds instead of 10, since the last segment is clipped to 460 seconds to match the end of the presentation. |
This might get fixed today, or maybe tomorrow. Since the thumbnail feature is broken without this fix, I'll hold v3.2 for another day to make sure this is in. |
It's really only broken when you don't use a 1x1 matrix. When I did the initial implementation, my streams used 1x1, and the Demo ones don't have this case. Note: I agree with you that putting it in 3.2 would help me avoid workarounds. Thanks @joeyparrish ! |
I have a fix in review. Thanks! |
Thumbnail segments may be structured for a certain grid size and duration, but the segment references may have their duration truncated due to the end of a period or the end of the presentation. This was causing us to calculate the wrong duration for those individual thumbnails, and therefore return the wrong thumbnail. We also did not have any way to indicate to an application how long a thumbnail should be shown. This fixes the duration calculation by retaining the original, untruncated duration in SegmentReference. This also exposes startTime and duration information on the Thumbnail object, so that applications know when/where and how long to show a given thumbnail. Closes #3517 Change-Id: I84aa7705a19691fc6ae68eee9944fecbd7067fe0
Thumbnail segments may be structured for a certain grid size and duration, but the segment references may have their duration truncated due to the end of a period or the end of the presentation. This was causing us to calculate the wrong duration for those individual thumbnails, and therefore return the wrong thumbnail. We also did not have any way to indicate to an application how long a thumbnail should be shown. This fixes the duration calculation by retaining the original, untruncated duration in SegmentReference. This also exposes startTime and duration information on the Thumbnail object, so that applications know when/where and how long to show a given thumbnail. Closes #3517 Change-Id: I84aa7705a19691fc6ae68eee9944fecbd7067fe0
Have you read the FAQ and checked for duplicate open issues? Yes
What version of Shaka Player are you using? 3.1.1
Can you reproduce the issue with our latest release version? Yes
Can you reproduce the issue with the latest code from
master
? YesAre you using the demo app or your own custom app? Both
If custom app, can you reproduce the issue using our demo app? Yes
What browser and OS are you using?
Chrome 91 macoS 11.4
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
What are the manifest and license server URIs?
I'll send a email
What configuration are you using? What is the output of
player.getConfiguration()
?Default
What did you do?
Load a stream with thumbnails as matrix, ah get the last position with
player.getThumbnails
What did you expect to happen?
The thumbnail position returned is correct
What actually happened?
The thumbnail position returned is not correct
Example:
Stream duration: 1460
Number of images: 2
First image
Start: 0
End: 1000
Second image
Start: 1000
End: 1460
The stream duration is 1460, but the thumbnail when using a matrix, the duration of the image track may exceed the duration of the audio/video to be able to fill the matrix correctly. In this case the second image ends in 2000
This is a problem that only occurs in DASH using a matrix.
The text was updated successfully, but these errors were encountered: