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

Initial ADS implementation #1625

Merged
merged 1 commit into from
Nov 19, 2023
Merged

Initial ADS implementation #1625

merged 1 commit into from
Nov 19, 2023

Conversation

CastagnaIT
Copy link
Owner

@CastagnaIT CastagnaIT commented Sep 20, 2023

Check if this PR fulfills these requirements:

Types of changes

  • New feature (non-breaking change which adds functionality)
  • Feature change (non-breaking change which changes behaviour of an existing functionality)
  • Improvement (non-breaking change which improves functionality)
  • Bug fix (non-breaking change which fixes an issue)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Refactor (non-breaking performance or readability improvements)

Description

The idea is allow to use ADS plan, at least in a more or less acceptable way trying not to make a bad impact on the provider

From website the playback of ADS looks to be a lot customized, which will not make it easy to implement it correctly in the addon

UPDATE 18/11/2023:
After many attemps i found a way to make ADS playable by keeping add-on features amost stable, im not sure that could be 100% stable without Kodi core fixes, this is the situation:

What done:

  • Support to Kodi 20 and higher (Kodi 19 have too old components)
  • ADS are played always before the movie and not in the middle of movie. This is not a kind of feature but a workaround for a complex thing that will need to be solved with the DASH manifest conversion, that currently i dont know how solve.
  • If ADS are played in sequence without fast-forwarding the video then add-on features (e.g. language selection, watched status sync, ...) 100% of times will work correctly, BUT if you try to skip the ADS all add-on features could stop working. This is one of major problems that cannot be solved, this is because of a big problem on Kodi core about changing chapter and wrong JSON RPC data sent to the addon. The chapter change happens when ISAdaptive addon send in to the buffer DEMUX_SPECIALID_STREAMCHANGE packet event, but looks like Kodi core process this packet without take in account of video buffer consumed or something related, this problem can also be displayed in the Kodi GUI info during playback where show the next chapter info while the current chapter is not ended yet.

What missing:

  • Is completely missing the backend code that send to the website the playback status of ADS videos
  • Implement to ISAdaptive a way to detect ADS, in order to disable Kodi player controls
  • The Kodi JSON RPC problems related to DEMUX_SPECIALID_STREAMCHANGE cause impossibility to the add-on to works correctly, and the workarounds implemented to the add-on are not safe, will require future Kodi core fixes
  • Fix the DASH manifest conversion to place ADS parts on the right timeline and not forced before the movie (to be fixed may require fixes on Kodi core first)

Not fixable (yet):

  • Broken video resume, when Synchronize the watched status of the videos with Netflix setting is disabled. The video resume will fails each time the ADS video parts change. A fix require not easy workarounds/hacks, i don't think it's worth it.
  • Broken video resume, when you play videos from Kodi library, same problem of previous point. A fix require not easy workarounds/hacks.

In case of Feature change / Breaking change:

Describe the current behavior

Describe the new behavior

Screenshots (if appropriate):

@CastagnaIT CastagnaIT added the WIP PR that is still being worked on label Sep 20, 2023
@CastagnaIT CastagnaIT force-pushed the ads branch 2 times, most recently from a3e754c to 55a226e Compare October 26, 2023 18:00
@CastagnaIT CastagnaIT force-pushed the ads branch 2 times, most recently from d984f50 to e73430a Compare November 3, 2023 13:50
@CastagnaIT CastagnaIT changed the title [Test] Initial partial ADS implementation Initial ADS implementation Nov 18, 2023
@CastagnaIT CastagnaIT removed the WIP PR that is still being worked on label Nov 19, 2023
@CastagnaIT CastagnaIT merged commit 8e3c500 into master Nov 19, 2023
12 checks passed
@CastagnaIT CastagnaIT deleted the ads branch November 19, 2023 09:27
@CastagnaIT CastagnaIT mentioned this pull request Nov 19, 2023
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant