Tizen 2016 seems to require duplicate sessions
See original GitHub issueHello,
I’m working on adding Tizen support to Shaka. One of the updates required will be to allow creating new sessions with duplicate initData. I have a 2016 model Tizen TV (this is EME 0.1b) that I’m working with, and can confirm that I don’t achieve playback if the duplicate initData is suppressed.
I have read over #576 and #580, and the spec, but my understanding of the problem overall is not so strong – I don’t know exactly why we have multiple needkey
events to begin with. Is this for different tracks (video/audio/text)? I’m also not certain why Tizen needs a license request for each needkey event, but this is information I received directly from the Samsung web engine team.
It seems there might be a use case for disabling the behaviour which suppresses duplicate initData, so I propose adding a player config param ignoreDuplicateInitData
which defaults to true
.
Thoughts? I will need to add some similar behaviour one way or the other, so I’d like it to be done in a way that I can contribute the change back to Shaka.
Issue Analytics
- State:
- Created 6 years ago
- Comments:9 (6 by maintainers)
@kevinscroggins-youi my team also investigated workarounds to this issue and concluded that there was no suitable solution, so we dropped support for 2016 model TV’s. Your only option would be to fork Shaka and create a custom hack specifically for these TV’s. Samsung will almost certainly not fix this bug.
I spent some time experimenting with getting DASH w/ PlayReady DRM to work on a Tizen 2016 TV with no luck. I managed to get Shaka to ignore duplicate initialization data but it seems like the entire application execution locks up whenever it tries to retrieve the actual video stream from the content server based on the logs. Despite the polyfills for EME 0.1b to support the Toshiba TV, the draft version of EME 0.1b that is present on the 2016 (and 2015) Tizen TVs is different and seemingly entirely non-functional. I believe the only way to get any DRM encrypted content to play on this TV is through the use of embedded PlayReady object data in the manifest. I know this is the case with the standard Tizen AVPlay API and NaCl C++ media player interfaces as well (shy of hooking up your own code or library to their elementary streams to handle DRM yourself for the NaCl C++ interface). It may be possible that the 2015/2016 EME works, but without better support from Samsung and actual debugging capabilities, I’m not sure it would be feasible to get this feature to work. It is possible to obtain device logs using a custom serial cable and the factory menus but it mostly contains a ton of useless information. I researched several other HTML5 players as well, and no one else supports DRM on 2016 TVs or lower either.