http-streaming icon indicating copy to clipboard operation
http-streaming copied to clipboard

Live + AES javascript error - Uncaught TypeError: Cannot read properties of undefined (reading 'slice')

Open ChoOo7 opened this issue 3 years ago • 2 comments

Description

I'm playing an HLS stream encoded with AES symetric key (Azure Media services live with AES enabled) When the videojs player try to switch to another bandwidth (by user interaction or network bandwidth evolution) there is a javascript error here : https://github.com/videojs/http-streaming/blob/1e2f7a42aecdd26f127374888b4c8664ca6d245f/src/media-segment-request.js#L579 Uncaught TypeError: Cannot read properties of undefined (reading 'slice') after that, the player is frozen and is not usable anymore

adding a console.log show key.bytes is undefined adding and early return here to prevent error remove the error, but the player stay unuseable

Sorry, I can't let a test case opened because a live streaming cost money.

The videojs version is the latest one : 7.21.0 The bug is always reproduced in the described scenario

On VOD (video on demand, not live scenario) the bug is NOT reproduced

Sources

https://github.com/videojs/http-streaming/blob/1e2f7a42aecdd26f127374888b4c8664ca6d245f/src/media-segment-request.js#L579 key.bytes is undefined

Steps to reproduce

Create a videojs player playing a multi-stream HLS AES secured stream, and change played bandwidth

Results

Expected

Playing well, without error

Error output

VideoPlayer.js?9e5f:345 error TypeError: Cannot read properties of undefined (reading 'slice') at decrypt (video.es.js?f0e2:42462:1) at eval (video.es.js?f0e2:42654:1) at eval (video.es.js?f0e2:42150:1) at callbackWrapper (video.es.js?f0e2:31135:1) at Object.eval [as callback] (video.es.js?f0e2:31160:1) at cbOnce (index.js?3603:104:1) at XMLHttpRequest.loadFunc (index.js?3603:178:1)

Additional Information

Please include any additional information necessary here. Including the following:

videojs-http-streaming version

what version of videojs-http-streaming does this occur with? videojs-http-streaming 2.15.0 according to video.js sources

videojs version

videojs 7.21.0

Browsers

what browsers are affected? please include browser and version for each chrome Version 107.0.5304.107 (Build officiel) (64 bits)

Platforms

what platforms are affected? please include operating system and version or device and version for each Window 10

Other Plugins

are any other videojs plugins being used on the page? If so, please list them with version below. yes

Other JavaScript

are you using any other javascript libraries or frameworks on the page? if so please list them below. no

ChoOo7 avatar Nov 15 '22 17:11 ChoOo7

👋 Thanks for opening your first issue here! 👋

If you're reporting a 🐞 bug, please make sure you include steps to reproduce it. We get a lot of issues on this repo, so please be patient and we will get back to you as soon as we can. To help make it easier for us to investigate your issue, please follow the contributing guidelines.

welcome[bot] avatar Nov 15 '22 17:11 welcome[bot]

Hello Bug occures on live & vod, sorry The bug depends on the HLS format used https://learn.microsoft.com/fr-fr/azure/media-services/latest/encode-dynamic-packaging-concept it's okay with HLS V4 but it's not with HLS CMAF

ChoOo7 avatar Nov 15 '22 19:11 ChoOo7