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

[AdaptiveTree] Rework of manifest update params #1288

Merged
merged 1 commit into from
Jun 12, 2023

Conversation

CastagnaIT
Copy link
Collaborator

@CastagnaIT CastagnaIT commented Jun 11, 2023

Description

After reading DASH specs for "MPD update" the "type" tag must be present in the MPD to distinguish LIVE and VOD content,
so i made the decision to remove the "full" parameter of inputstream.adaptive.manifest_update_parameter then cleanup and rework related variables, now if a MPD is declared dynamic we always enable manifest updates.

the old inputstream.adaptive.manifest_update_parameter property is now deprecated and replaced by
inputstream.adaptive.manifest_upd_params that has the same meaning, but

  • ofc no "full" parameter support
  • can be used to always add parameters to the manifest update url
  • property name renamed to have a consistent name with the other properties
    I do not know if there are any other video services that use it except youtube

breaking change because "full" behaviour is removed,
@glennguy if you have some other live MPDs to test try play them

in the DASHTreeTest i have introduced a way to make manifest update tests which can be expanded as needs see updateParameterLiveSegmentStartNumber

Motivation and context

Followup of PR #1267 to finish wip changes

How has this been tested?

from what i understand there can be two main cases for live:

  1. regular live stream declared type=dynamic
  2. live content but shown as on-demand, its declared type=static with availabilityStartTime tag value and "live" to profiles tag
  3. regular live that when ends, it still accessible as VOD https://dashif-documents.azurewebsites.net/Guidelines-TimingModel/master/Guidelines-TimingModel.html#timing-mpd-updates-theend, im a bit unsure that this is currently handled idk

tests for points above:

  1. tested couple of sample dash live and facebook live
  2. https://dash.akamaized.net/envivio/EnvivioDash3/manifest.mpd
  3. atm i dont have a test stream, in theory FB live become LIVE to VOD when live ends, i notices in some occasions that some problem happens, but atm i cant confirm that its really related

Screenshots (if appropriate):

Types of change

  • Bug fix (non-breaking change which fixes an issue)
  • Clean up (non-breaking change which removes non-working, unmaintained functionality)
  • Improvement (non-breaking change which improves existing functionality)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that will cause existing functionality to change)
  • Cosmetic change (non-breaking change that doesn't touch code)
  • None of the above (please explain below)

Checklist:

  • I have read the Contributing document
  • My code follows the Code Guidelines of this project
  • My change requires a change to the Wiki documentation
  • I have updated the documentation accordingly

@CastagnaIT CastagnaIT added Type: Breaking change fix or feature that will cause existing functionality to change Type: Cleanup non-breaking change which removes non-working or unmaintained functionality Wiki: Needed Component: MPEG-DASH v21 Omega labels Jun 11, 2023
@CastagnaIT CastagnaIT force-pushed the manifest_upd_params branch from 0faa6d4 to 25cd175 Compare June 11, 2023 16:06
@CastagnaIT CastagnaIT marked this pull request as ready for review June 11, 2023 16:06
@CastagnaIT CastagnaIT requested a review from glennguy June 11, 2023 16:07
@CastagnaIT CastagnaIT force-pushed the manifest_upd_params branch from 25cd175 to 22a4c6a Compare June 11, 2023 16:16
@glennguy
Copy link
Contributor

Thanks @CastagnaIT . I never understood why we had the 'partial' DASH updates way of doing things, make much more sense to have 1 way.

@glennguy glennguy merged commit 510fd48 into xbmc:Omega Jun 12, 2023
@CastagnaIT CastagnaIT deleted the manifest_upd_params branch June 12, 2023 10:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: MPEG-DASH Type: Breaking change fix or feature that will cause existing functionality to change Type: Cleanup non-breaking change which removes non-working or unmaintained functionality v21 Omega Wiki: Done
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants