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

[Bug] Latest ISA build from Github Actions carshes ISA #1690

Closed
lavish440 opened this issue Oct 11, 2024 · 14 comments
Closed

[Bug] Latest ISA build from Github Actions carshes ISA #1690

lavish440 opened this issue Oct 11, 2024 · 14 comments
Labels
Triage: Needed (managed by bot) issue that was just created and needs someone looking at it

Comments

@lavish440
Copy link

Describe the problem

I downloaded the latest builds from Github actions to test the new inputstream.adaptive.common_headers property.
It was successfully installed. But when I tried to play any content with ISA (no matter the property used), it crashes Kodi.

Possible fix

No response

Steps to reproduce

  1. Download and install the latest build of ISA from Github Actions.
  2. Try playing any content with ISA.

Debug log

2024-10-11 19:36:46.807 T:8196     info <general>: Creating InputStream
2024-10-11 19:36:46.807 T:8196    debug <general>: ADDON: Dll Initializing - InputStream Adaptive
2024-10-11 19:36:46.807 T:8196    debug <general>: SECTION:LoadDLL(/home/lavish/.kodi/addons/inputstream.adaptive/inputstream.adaptive.so.22.1.5)
2024-10-11 19:36:46.807 T:8196    debug <general>: Loading: /home/lavish/.kodi/addons/inputstream.adaptive/inputstream.adaptive.so.22.1.5
2024-10-11 19:36:46.810 T:8130    debug <general>: Loading settings for pvr://channels/tv/All%20channels@-1/[email protected]_1625116856.pvr

Stream manifest file(s)

No response

Additional info

No response

Operating system(s)

Linux

Operating system version(s)

Arch Linux

InputStream Adaptive version(s)

22.1.5

Kodi version(s)

Kodi (22.0-ALPHA1 (21.90.700) Git:20240924-20ad993b8e1-dirty)

@lavish440 lavish440 added the Triage: Needed (managed by bot) issue that was just created and needs someone looking at it label Oct 11, 2024
@CastagnaIT
Copy link
Collaborator

are you able to try cherry-pick the commit from PR #1683 and rebuild it?
i assume its same problem

@lavish440
Copy link
Author

do a checkout at 1683 and then build?

@CastagnaIT
Copy link
Collaborator

maybe more easy for you manually edit the files
see the changes
CastagnaIT@14c708a

@lavish440
Copy link
Author

It worked.
Also, the new property works good.

@CastagnaIT
Copy link
Collaborator

thanks for the feedback

@lavish440
Copy link
Author

@CastagnaIT
Also before opening another issue, I want to ask something.
I tried the new DRM property. It works great.
I used the use_http_get_request, it only worked for Widevine DRM but not for Clearkey.
Is that how it's supposed to work?

@CastagnaIT
Copy link
Collaborator

clear key license request fwik is mandatory use POST request,
because you need to inform the license server of the KID's to be requested

@lavish440
Copy link
Author

clear key license request fwik is mandatory use POST request,
because you need to inform the license server of the KID's to be requested

What if the server already knows the current keyID which would be requested?
In that case forcing a get request could be helpful.

@CastagnaIT
Copy link
Collaborator

what you are saying sound a bit weird to me
how can a license server know what stream you are decoding if you dont provide the kids?

looks like a out-of-spec thing, exists some test stream that can prove this?
as you can read on the specs there is a license request format to be used
https://www.w3.org/TR/encrypted-media/#clear-key-request-format

@lavish440
Copy link
Author

lavish440 commented Oct 11, 2024

I am currently using this because ISA can't extract the Default KID from the media segments.
I manually inject the KID and PSSH in the manifest.
Because of that I already know the KeyID that would be requested.

Edit: My use case is described in Dash-Industry-Forum/DASH-IF-IOP#159 (comment)

Use the same initialization segment throughout. The initialization segment, including default_KID stays the same even if key rotates. cenc:default_KID should not present in the manifest. Use sbgp sgpd with seig in media segments to indicate the key id (See DASH-IF-IOP v4.1 7.4.1). There is no need to use separate periods when key rotates as neither initialization segment nor cenc:default_KID changes.

@CastagnaIT
Copy link
Collaborator

yes what you are describing is the DRM key rotation behaviour, is not supported in ISA
there are some issues already opened, and its also specified on wiki WIP page

but your request is a workaround an attempt to mitigate this unsupported feature
does not seem to me to be the case to implement vague customizations due to unsupported features

@lavish440
Copy link
Author

currently ISA can successfully extract default KID from initial segments but not from media

@CastagnaIT
Copy link
Collaborator

currently ISA can successfully extract default KID from initial segments but not from media

initial segment is similar but different thing,
you need to implement correctly the key rotations management between segments and decryption pool

@lavish440
Copy link
Author

currently ISA can successfully extract default KID from initial segments but not from media

initial segment is similar but different thing,
you need to implement correctly the key rotations management between segments and decryption pool

See my above comment. I quoted something from the DASH IF.
That could also partially solve the Widevine playback issue that I reported.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Triage: Needed (managed by bot) issue that was just created and needs someone looking at it
Projects
None yet
Development

No branches or pull requests

2 participants