-
Notifications
You must be signed in to change notification settings - Fork 8
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
MPD Update #160
Comments
I took a look at the change request for this issue. The change looks like an improvement, but is there a reason the two sentences starting from:
are still present? As per (1) above, the manifest update described in those sentences appears to violate 23009-1 by allowing Period@start to change. As per (3) above, the manifest update described appears to be unnecessary because the end result is that the parameter changes cancel one another out. Have I misunderstood? Is there a plan to remove those sentences in a future revision unless someone can justify why the manifest update described is required for a concrete use case? Thanks! |
addressed in v4.12 |
@haudiobe - Could you respond to my questions about the amendment in the post above? Thanks! |
OJW, we discussed this in detail and made it a "should". It does not contradict with 23009-1, it only contradicts with a specific profile. The rest is pretty clear that you use Period id. What else do you think is unclear? |
It may only contradict a specific profile, but isn't the profile it contradicts the one that everyone's going to be using for live (and the one used throughout the DASH-IF document)? In which case it seems fairly confusing. I think it would be clearer if the part starting "In this case, the Period start may be moved ..." were amended to more explicitly state:
In practice it feels to me like the second bullet point is going to prevent pretty much anyone from making the manifest change described, which is why I asked whether it would be better to remove the part from "In this case, the Period start may be moved ..." Apologies if I've misunderstood anything! |
Submitter: Oliver Woodman
This issue is spun out of a discussion here: google/ExoPlayer#3457
The paragraph under discussion in the DASH-IF guidelines is:
"In order to make the MPD joining friendly and to remove data that is available in the past, any segments that have fallen out of the time shift buffer may no longer be announced in the MPD. In this case, the Period start may be moved by changing one or both, MPD@availabilityStartTime and Period@start. However, this requires that the @startNumber, @presentationTimeOffset and S values need to be updated such that the Segment Information accorging to section 4.3.2.2.6 is not modified over an MPD update."
There appear to be a few issues:
As noted in the issue ref'd above, allowing @availabilityStartTime to change appears to directly contradict 23009-1 which states: "When the MPD is updated, the value of MPD@availabilityStartTime shall be the same in the original and the updated MPD"
Given Period@id is optional in the DASH spec, fixed Period@start values are a convenient way for DASH clients to match periods in the updated manifest to those in a previous manifest. Allowing Period@start values to change makes matching periods more difficult.
I cannot think of a reason why it would be necessary, or a good idea, to adjust Period@start in the way described. I don't think such adjustments are ever required to remove segments that are no longer available in the period. Making the adjustment appears to require changing other variables (e.g. @presentationTimeOffset also has to change) in a way so that the end result is the changes cancel one another out. This is more complicated than not changing any of them, and is more difficult for clients to handle (e.g. see point above).
Unless this type of manifest adjustment is genuinely necessary, it seems preferable that the DASH-IF guidelines should instead require Period@start and MPD@availabilityStartTime to remain unchanged across manifest updates.
The text was updated successfully, but these errors were encountered: