shaka-project / shaka-player-embedded

Shaka Player in a C++ Framework
Apache License 2.0
236 stars 63 forks source link

Widevine content with key rotation #216

Open dfoteinakis opened 3 years ago

dfoteinakis commented 3 years ago

Hello,

We are trying to play Widevine encrypted content with shaka-player-embedded on iOS 14.4. We managed to play HLS + MPD with a single key, but we have been unable to get content with key rotation to play, even for the first period (before the key is changed). We tested with the encryption scheme CENC using shaka packager

These are the logs we see (log level set to V2).

[Info]: "Starting attach..."
[Info]: "Starting load of https://some.ip.net/live/playlist.m3u8"
[Warn]: "HLS SAMPLE-AES-CENC has been deprecated and will be removed in v2.6 . We are currently at version v2.5 . Additional information: SAMPLE-AES-CENC will no longer be supported, see Issue #1227"
[Debug]: "Fetching segment to find start time"
[Warn]: "HLS SAMPLE-AES-CENC has been deprecated and will be removed in v2.6 . We are currently at version v2.5 . Additional information: SAMPLE-AES-CENC will no longer be supported, see Issue #1227"
[Debug]: "Fetching segment to find start time"
[Debug]: "Parsing MP4 box"  "ftyp"
[Debug]: "Parsing MP4 box"  "moov"
[Debug]: "Parsing MP4 box"  "mvhd"
[Debug]: "Parsing MP4 box"  "meta"
[Debug]: "Parsing MP4 box"  "trak"
[Debug]: "Parsing MP4 box"  "tkhd"
[Debug]: "Parsing MP4 box"  "mdia"
[Debug]: "Parsing MP4 box"  "mdhd"
[Debug]: "Parsing MP4 box"  "styp"
[Debug]: "Parsing MP4 box"  "sidx"
[Debug]: "Parsing MP4 box"  "moof"
[Debug]: "Parsing MP4 box"  "mfhd"
[Debug]: "Parsing MP4 box"  "traf"
[Debug]: "Parsing MP4 box"  "tfhd"
[Debug]: "Parsing MP4 box"  "tfdt"
[Log]: "First segment"  "audio_123628.m4s"  "starts at" 91350.00252222222
[Log]: "Guessing stream type for"   "#EXT-X-STREAM-INF:BANDWIDTH=3966037,AVERAGE-BANDWIDTH=3545172,CODECS=\"avc1.4d4028,mp4a.40.2\",RESOLUTION=\"1280x720\",FRAME-RATE=29.970,AUDIO=\"audio\",CLOSED-CAPTIONS=\"CC\",URI=\"48high/video/chunklist.m3u8\""
[Log]: "Guessing video."
[Debug]: "Parsing MP4 box"  "ftyp"
[Debug]: "Parsing MP4 box"  "moov"
[Debug]: "Parsing MP4 box"  "mvhd"
[Debug]: "Parsing MP4 box"  "meta"
[Debug]: "Parsing MP4 box"  "trak"
[Debug]: "Parsing MP4 box"  "tkhd"
[Debug]: "Parsing MP4 box"  "mdia"
[Debug]: "Parsing MP4 box"  "mdhd"
[Debug]: "Parsing MP4 box"  "styp"
[Debug]: "Parsing MP4 box"  "sidx"
[Debug]: "Parsing MP4 box"  "moof"
[Debug]: "Parsing MP4 box"  "mfhd"
[Debug]: "Parsing MP4 box"  "traf"
[Debug]: "Parsing MP4 box"  "tfhd"
[Debug]: "Parsing MP4 box"  "tfdt"
[Log]: "First segment"  "audio_123628.m4s"  "starts at" 91350.00252222222
[Log]: "Guessing stream type for"   "#EXT-X-STREAM-INF:BANDWIDTH=1843179,AVERAGE-BANDWIDTH=1632864,CODECS=\"avc1.4d4028,mp4a.40.2\",RESOLUTION=\"1280x720\",FRAME-RATE=29.970,AUDIO=\"audio\",CLOSED-CAPTIONS=\"CC\",URI=\"48med/video/chunklist.m3u8\""
[Log]: "Guessing video."
[Warn]: "HLS SAMPLE-AES-CENC has been deprecated and will be removed in v2.6 . We are currently at version v2.5 . Additional information: SAMPLE-AES-CENC will no longer be supported, see Issue #1227"
[Debug]: "Fetching segment to find start time"
[Warn]: "HLS SAMPLE-AES-CENC has been deprecated and will be removed in v2.6 . We are currently at version v2.5 . Additional information: SAMPLE-AES-CENC will no longer be supported, see Issue #1227"
[Debug]: "Fetching segment to find start time"
[Debug]: "Parsing MP4 box"  "ftyp"
[Debug]: "Parsing MP4 box"  "moov"
[Debug]: "Parsing MP4 box"  "mvhd"
[Debug]: "Parsing MP4 box"  "meta"
[Debug]: "Parsing MP4 box"  "trak"
[Debug]: "Parsing MP4 box"  "tkhd"
[Debug]: "Parsing MP4 box"  "mdia"
[Debug]: "Parsing MP4 box"  "mdhd"
[Debug]: "Parsing MP4 box"  "styp"
[Debug]: "Parsing MP4 box"  "sidx"
[Debug]: "Parsing MP4 box"  "moof"
[Debug]: "Parsing MP4 box"  "mfhd"
[Debug]: "Parsing MP4 box"  "traf"
[Debug]: "Parsing MP4 box"  "tfhd"
[Debug]: "Parsing MP4 box"  "tfdt"
[Log]: "First segment"  "video_123629.m4s"  "starts at" 91350.40247777778
[Debug]: "Parsing MP4 box"  "ftyp"
[Debug]: "Parsing MP4 box"  "moov"
[Debug]: "Parsing MP4 box"  "mvhd"
[Debug]: "Parsing MP4 box"  "meta"
[Debug]: "Parsing MP4 box"  "trak"
[Debug]: "Parsing MP4 box"  "tkhd"
[Debug]: "Parsing MP4 box"  "mdia"
[Debug]: "Parsing MP4 box"  "mdhd"
[Debug]: "Parsing MP4 box"  "styp"
[Debug]: "Parsing MP4 box"  "sidx"
[Debug]: "Parsing MP4 box"  "moof"
[Debug]: "Parsing MP4 box"  "mfhd"
[Debug]: "Parsing MP4 box"  "traf"
[Debug]: "Parsing MP4 box"  "tfhd"
[Debug]: "Parsing MP4 box"  "tfdt"
[Log]: "First segment"  "video_123629.m4s"  "starts at" 91350.40247777778
[Debug]: "notifySegments:"  "maxSegmentDuration=6.01600000000326"
[Debug]: "notifySegments:"  "maxSegmentDuration=6.01600000000326"
[Debug]: "notifySegments:"  "maxSegmentDuration=6.01600000000326"
[Debug]: "notifySegments:"  "maxSegmentDuration=6.01600000000326"
[Log]: "Found variant with audio and video content, so filtering out audio-only content in all periods."
[Info]: "Created MediaKeys object for key system"   "com.widevine.alpha"
[Debug]: "Creating new temporary session"
[INFO:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(120):OpenSession] CdmEngine::OpenSession
[DEBUG:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/crypto_session.cpp(644):Open] CryptoSession::Open: requested_security_level: Default
[INFO:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/usage_table_header.cpp(38):Init] UsageTableHeader::Init: security level: 3
[INFO:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/usage_table_header.cpp(70):Init] UsageTableHeader::Init: number of usage entries: 0
[INFO:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/device_files.cpp(155):ExtractDeviceInfo] ExtractDeviceInfo Entry
[INFO:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(156):OpenSession] CdmEngine::OpenSession: ksid32AD33C8
[Log]: "codecs" "avc1-mp4a" "avg bandwidth" 2904608
[Log]: "onChooseStreams_"   {startTime:0, textStreams:[...], variants:[...]}
[Debug]: "onChooseStreams_, choosing variant from " [{...}, {...}]
[Debug]: "onChooseStreams_, choosing text from "    [{...}]
[Log]: "Choosing new streams after period changed"
[Debug]: "Bandwidth ranges:"    "1.843" "1.940" "4.666"
[Debug]: "Bandwidth ranges:"    "3.966" "4.175" "Infinity"
[Debug]: "onChooseStreams_, chose variant " {allowedByApplication:true, allowedByKeySystem:true, audio:{...}, bandwidth:1843179, drmInfos:[...], id:6, language:"en", primary:true, video:{...}}
[Debug]: "onChooseStreams_, chose text "    null
[Debug]: "(all) setting up Stream 1"
[Debug]: "(all) setting up Stream 5"
[Debug]: "(all) setup Stream 1"
[Debug]: "(all) setup Stream 5"
[Debug]: "(audio:1)"    "updating in 0 seconds"
[Debug]: "(video:5)"    "updating in 0 seconds"
[Log]: "init: completed initial Stream setup"
[Log]: "Dropping text stream. Is not supported by the platform."    {audioSamplingRate:null, channelsCount:null, closedCaptions:null, codecs:"", createSegmentIndex:function() {...}, emsgSchemeIdUris:null, encrypted:false, findSegmentPosition:function() {...}, frameRate:undefined, getSegmentReference:function() {...}, id:1000000000, initSegmentReference:null, keyId:null, kind:"caption", label:null, language:"en", mimeType:"application/cea-608", originalId:"CC1", pixelAspectRatio:undefined, presentationTimeOffset:0, ...}
[Log]: "Ignoring duplicate init data."
[Log]: "Ignoring duplicate init data."
[Log]: "Ignoring duplicate init data."
[Log]: "Ignoring duplicate init data."
[Debug]: "Bandwidth ranges:"    "1.843" "1.940" "4.666"
[Debug]: "Bandwidth ranges:"    "3.966" "4.175" "Infinity"
[Debug]: "Sending license request for session"  "ksid32AD33C8"  "of type"   "license-request"
[Debug]: "(audio:1)"    "timeNeeded=91371.61947798729"
[Debug]: "(audio:1)"    "update_:"  "presentationTime=91371.61947798729"    "bufferedAhead=0"
[Debug]: "(audio:1)"    "next position unknown: nothing buffered"
[Log]: "(audio:1)"  "looking up segment:"   "presentationTime=91371.61947798729"    "currentPeriod.startTime=0"
[Debug]: "(audio:1)"    "segment is not available:" "currentPeriod.startTime=0" "reference.startTime=91362.01352222222" "reference.endTime=91368.00852222221"   "availabilityStart=91371.94447779655"   "availabilityEnd=91392.94447779655"
[Debug]: "(audio:1)"    "fetchAndAppend_:"  "presentationTime=91371.61947798729"    "currentPeriod.startTime=0" "reference.position=123630" "reference.startTime=91368.00852222221" "reference.endTime=91374.0035222222"
[Debug]: "(audio:1)"    "setting timestamp offset to 0"
[Debug]: "(audio:1)"    "setting append window start to 0"
[Debug]: "(audio:1)"    "setting append window end to Infinity"
[Debug]: "(audio:1)"    "fetching init segment"
[Debug]: "fetching: reference=" {createUris:function() {...}, endByte:null, getEndByte:function() {...}, getSize:function() {...}, getStartByte:function() {...}, getUris:function() {...}, startByte:0}
[Debug]: "(audio:1)"    "fetching segment"
[Debug]: "fetching: reference=" {createUris:function() {...}, endByte:null, endTime:91374.0035222222, getEndByte:function() {...}, getEndTime:function() {...}, getPosition:function() {...}, getSize:function() {...}, getStartByte:function() {...}, getStartTime:function() {...}, getUris:function() {...}, position:123630, startByte:0, startTime:91368.00852222221}
found track
ENGLISH
found track
ENGLISH
[Debug]: "(video:5)"    "timeNeeded=91371.61947798729"
[Debug]: "(video:5)"    "update_:"  "presentationTime=91371.61947798729"    "bufferedAhead=0"
[Debug]: "(video:5)"    "next position unknown: nothing buffered"
[Log]: "(video:5)"  "looking up segment:"   "presentationTime=91371.61947798729"    "currentPeriod.startTime=0"
[Debug]: "(video:5)"    "segment is not available:" "currentPeriod.startTime=0" "reference.startTime=91362.41447777777" "reference.endTime=91368.38747777777"   "availabilityStart=91371.98647785187"   "availabilityEnd=91392.98647785187"
[Debug]: "(video:5)"    "fetchAndAppend_:"  "presentationTime=91371.61947798729"    "currentPeriod.startTime=0" "reference.position=123631" "reference.startTime=91368.38747777777" "reference.endTime=91374.39347777776"
[Debug]: "(video:5)"    "setting timestamp offset to 0"
[Debug]: "(video:5)"    "setting append window start to 0"
[Debug]: "(video:5)"    "setting append window end to Infinity"
[Debug]: "(video:5)"    "fetching init segment"
[Debug]: "fetching: reference=" {createUris:function() {...}, endByte:null, getEndByte:function() {...}, getSize:function() {...}, getStartByte:function() {...}, getUris:function() {...}, startByte:0}
[Debug]: "(video:5)"    "fetching segment"
[Debug]: "fetching: reference=" {createUris:function() {...}, endByte:null, endTime:91374.39347777776, getEndByte:function() {...}, getEndTime:function() {...}, getPosition:function() {...}, getSize:function() {...}, getStartByte:function() {...}, getStartTime:function() {...}, getUris:function() {...}, position:123631, startByte:0, startTime:91368.38747777777}
lang: en role: 
[Debug]: "Segment downloaded:"  "deltaTimeMs=156"   "numBytes=830"  "lastTimeChosenMs=1623054943769"    "enabled=false"
[Debug]: "(audio:1)"    "appending init segment"
[Debug]: "Segment downloaded:"  "deltaTimeMs=10"    "numBytes=0"    "lastTimeChosenMs=1623054943769"    "enabled=false"
[Debug]: "Segment downloaded:"  "deltaTimeMs=166"   "numBytes=930"  "lastTimeChosenMs=1623054943769"    "enabled=false"
[Debug]: "(video:5)"    "appending init segment"
[Debug]: "Segment downloaded:"  "deltaTimeMs=7" "numBytes=0"    "lastTimeChosenMs=1623054943769"    "enabled=false"
[Debug]: "Updating session" "ksid32AD33C8"
[INFO:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(528):SetSessionServiceCertificate] Setting service certificate: session_id = ksid32AD33C8
[INFO:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(542):QueryStatus] CdmEngine::QueryStatus
[INFO:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(242):GenerateKeyRequest] CdmEngine::GenerateKeyRequest: ksid32AD33C8
[DEBUG:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/license.cpp(334):PrepareKeyRequest] PrepareKeyRequest: nonce=584653118
[INFO:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/cdm/src/cdm.cpp(701):generateRequest] A license request has been generated.
[Debug]: "Sending license request for session"  "ksid32AD33C8"  "of type"   "license-request"
[Debug]: "Segment downloaded:"  "deltaTimeMs=505"   "numBytes=65209"    "lastTimeChosenMs=1623054943769"    "enabled=false"
[Debug]: "Segment downloaded:"  "deltaTimeMs=124"   "numBytes=32768"    "lastTimeChosenMs=1623054943769"    "enabled=false"
[Debug]: "Segment downloaded:"  "deltaTimeMs=24"    "numBytes=21394"    "lastTimeChosenMs=1623054943769"    "enabled=false"
[Debug]: "(audio:1)"    "checking buffer length"
[Debug]: "(audio:1)"    "buffer behind okay because nothing buffered:"  "presentationTime=91371.61947798729"    "bufferBehind=30"
[Debug]: "(audio:1)"    "appending media segment"
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x10703ae00] Protocol name not provided, cannot determine if input is local or a network protocol, buffers and access patterns cannot be configured optimally without knowing the protocol
[Debug]: "Segment downloaded:"  "deltaTimeMs=11"    "numBytes=0"    "lastTimeChosenMs=1623054943769"    "enabled=false"
[Debug]: "Segment downloaded:"  "deltaTimeMs=629"   "numBytes=16055"    "lastTimeChosenMs=1623054943769"    "enabled=false"
[Debug]: "(audio:1)"    "appended media segment"
[Debug]: "(audio:1)"    "updating in 0 seconds"
[Debug]: "(audio:1)"    "finished fetch and append"
[Debug]: "(audio:1)"    "timeNeeded=91374.0035222222"
[Debug]: "(audio:1)"    "update_:"  "presentationTime=91371.61947798729"    "bufferedAhead=2.3617109016049653"
[Debug]: "(audio:1)"    "next position known:"  "position=123631"
[Debug]: "(audio:1)"    "fetchAndAppend_:"  "presentationTime=91371.61947798729"    "currentPeriod.startTime=0" "reference.position=123631" "reference.startTime=91374.0035222222"  "reference.endTime=91380.01952222221"
[Debug]: "(audio:1)"    "fetching segment"
[Debug]: "fetching: reference=" {createUris:function() {...}, endByte:null, endTime:91380.01952222221, getEndByte:function() {...}, getEndTime:function() {...}, getPosition:function() {...}, getSize:function() {...}, getStartByte:function() {...}, getStartTime:function() {...}, getUris:function() {...}, position:123631, startByte:0, startTime:91374.0035222222}
[Debug]: "Updating session" "ksid32AD33C8"
[INFO:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(331):AddKey] CdmEngine::AddKey: ksid32AD33C8
[INFO:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(772):IsReleaseSession] CdmEngine::IsReleaseSession: ksid32AD33C8
[Debug]: "Key status changed for session"   "ksid32AD33C8"
[Debug]: "Segment downloaded:"  "deltaTimeMs=532"   "numBytes=311296"   "lastTimeChosenMs=1623054943769"    "enabled=false"
[Debug]: "Segment downloaded:"  "deltaTimeMs=512"   "numBytes=65209"    "lastTimeChosenMs=1623054943769"    "enabled=false"
[Debug]: "Segment downloaded:"  "deltaTimeMs=103"   "numBytes=163840"   "lastTimeChosenMs=1623054943769"    "enabled=false"
[Debug]: "Segment downloaded:"  "deltaTimeMs=112"   "numBytes=49152"    "lastTimeChosenMs=1623054943769"    "enabled=false"
[Debug]: "Segment downloaded:"  "deltaTimeMs=11"    "numBytes=5613" "lastTimeChosenMs=1623054943769"    "enabled=false"
[Debug]: "(audio:1)"    "checking buffer length"
[Debug]: "(audio:1)"    "buffer behind okay:"   "presentationTime=91371.61947798729"    "bufferedBehind=3.6116224317229353" "bufferBehind=30"   "underflow=26.388377568277065"
[Debug]: "(audio:1)"    "appending media segment"
[Debug]: "(audio:1)"    "appended media segment"
[Debug]: "(audio:1)"    "updating in 0 seconds"
[Debug]: "(audio:1)"    "finished fetch and append"
[Debug]: "(audio:1)"    "timeNeeded=91380.01952222221"
[Debug]: "(audio:1)"    "update_:"  "presentationTime=91371.61947798729"    "bufferedAhead=8.377710901608225"
[Debug]: "(audio:1)"    "next position known:"  "position=123632"
[Debug]: "(audio:1)"    "updating in 1 seconds"
[Debug]: "Segment downloaded:"  "deltaTimeMs=116"   "numBytes=344064"   "lastTimeChosenMs=1623054943769"    "enabled=false"
[Debug]: "Segment downloaded:"  "deltaTimeMs=94"    "numBytes=282117"   "lastTimeChosenMs=1623054943769"    "enabled=false"
[Debug]: "(video:5)"    "checking buffer length"
[Debug]: "(video:5)"    "buffer behind okay because nothing buffered:"  "presentationTime=91371.61947798729"    "bufferBehind=30"
[Debug]: "(video:5)"    "appending media segment"
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x106813a00] Failed to seek for auxiliary info, will only parse senc atoms for encryption info
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x106813a00] Protocol name not provided, cannot determine if input is local or a network protocol, buffers and access patterns cannot be configured optimally without knowing the protocol
[Debug]: "(video:5)"    "appended media segment"
[Info]: "Ignoring large gap at" 0   "size"  91368.38711111112
[Debug]: "(video:5)"    "updating in 0 seconds"
[Log]: "(video:5)"  "startup complete"
[Log]: "(all) setting up Period 0"
[Log]: "(all) Stream 5 is being or has been set up"
[Log]: "(all) Stream 1 is being or has been set up"
[Debug]: "(all) setting up Stream 3"
[Debug]: "(all) setup Stream 3"
[Debug]: "(video:5)"    "calling onCanSwitch()..."
[Log]: "canSwitch_"
[Debug]: "(all) setup Period 0"
[Log]: "(all) Period 0 is being or has been set up"
[Debug]: "(video:5)"    "finished fetch and append"
[Debug]: "(video:5)"    "timeNeeded=91374.39347777776"
[Debug]: "(video:5)"    "update_:"  "presentationTime=91373.54747796059"    "bufferedAhead=0.8456331505294656"
[Debug]: "(video:5)"    "next position known:"  "position=123632"
[Debug]: "(video:5)"    "fetchAndAppend_:"  "presentationTime=91373.54747796059"    "currentPeriod.startTime=0" "reference.position=123632" "reference.startTime=91374.39347777776" "reference.endTime=91380.39947777776"
[Debug]: "(video:5)"    "fetching segment"
[Debug]: "fetching: reference=" {createUris:function() {...}, endByte:null, endTime:91380.39947777776, getEndByte:function() {...}, getEndTime:function() {...}, getPosition:function() {...}, getSize:function() {...}, getStartByte:function() {...}, getStartTime:function() {...}, getUris:function() {...}, position:123632, startByte:0, startTime:91374.39347777776}
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1712):Decrypt] CdmEngine::Decrypt: session not found: Empty session ID
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/cdm/src/cdm.cpp(1203):decrypt] Key not available.
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1712):Decrypt] CdmEngine::Decrypt: session not found: Empty session ID
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/cdm/src/cdm.cpp(1203):decrypt] Key not available.
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1712):Decrypt] CdmEngine::Decrypt: session not found: Empty session ID
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/cdm/src/cdm.cpp(1203):decrypt] Key not available.
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1712):Decrypt] CdmEngine::Decrypt: session not found: Empty session ID
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/cdm/src/cdm.cpp(1203):decrypt] Key not available.
[Debug]: "Segment downloaded:"  "deltaTimeMs=310"   "numBytes=16055"    "lastTimeChosenMs=1623054943769"    "enabled=true"
[Debug]: "Suggesting Streams..."
[Debug]: "Bandwidth ranges:"    "1.843" "1.940" "4.666"
[Debug]: "Bandwidth ranges:"    "3.966" "4.175" "Infinity"
[Log]: "Calling switch_(), bandwidth=3866 kbps"
[Log]: "switch_"
[Log]: "switch: Stream (video:5) already active"
[Log]: "switch: Stream (audio:1) already active"
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1712):Decrypt] CdmEngine::Decrypt: session not found: Empty session ID
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/cdm/src/cdm.cpp(1203):decrypt] Key not available.
[Debug]: "Segment downloaded:"  "deltaTimeMs=155"   "numBytes=32768"    "lastTimeChosenMs=1623054945723"    "enabled=true"
[Debug]: "Suggesting Streams..."
[Debug]: "Still within switch interval..."

Am I missing something, or is Widevine with key rotation not supported at all by shaka-player-embedded?

Thanks!

franciscocarodiaz commented 9 months ago

Hi @dfoteinakis , did you find out any solution? We are having the same issue :(