shaka-project / shaka-player-embedded

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

Stop playback with Widevine DRM content #112

Closed yuta-n-play closed 4 years ago

yuta-n-play commented 4 years ago

Hi, I tried to play widevine content packaged by myself with sample_xcode_project, but it stop playing without error when it reaches clear lead. I checked our license proxy log and the packet traffic of iOS device, but they seems fine and certificate and license are issued correctly from License Server.

During playback, the following log was output.

[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.

Please let me what problem happened.

To identify the problem, I tried the following: ・ This content provided by Google and non-DRM sample content can be played. content: https://storage.googleapis.com/wvmedia/cenc/h264/tears/tears_sd.mpd proxy: https://proxy.staging.widevine.com/proxy ・ Shaka player browser based could playback completely.

Application full log for iPhone 6s (iOS 13.3) is below:

[Info]: "Starting attach..."
[Info]: "Starting load of https://xxxxxx/wv_sample.mpd..."
[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"
[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: ksid3137A91D
[Log]: "codecs" "avc1-mp4a" "avg bandwidth" 621239
[Log]: "onChooseStreams_"   {startTime:0, textStreams:[...], variants:[...]}
[Log]: "Choosing new streams after period changed"
[Log]: "init: completed initial Stream setup"
[Log]: "Ignoring duplicate init data."
[Log]: "Ignoring duplicate init data."
[Log]: "Ignoring duplicate init data."
[Log]: "Ignoring duplicate init data."
[Log]: "Ignoring duplicate init data."
[Log]: "Ignoring duplicate init data."
[Log]: "(audio:1)"  "looking up segment:"   "presentationTime=0"    "currentPeriod.startTime=0"
[Log]: "(video:2)"  "looking up segment:"   "presentationTime=0"    "currentPeriod.startTime=0"
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x13a91fa00] 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
WARNING: Logging before InitGoogleLogging() is written to STDERR
I0205 12:59:46.399474 1846685696 ffmpeg_decoder.cc:257] No hardware-accelerators available, using decoder: aac_at
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x13a071c00] 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
[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 = ksid3137A91D
[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: ksid3137A91D
[DEBUG:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/license.cpp(334):PrepareKeyRequest] PrepareKeyRequest: nonce=1939064674
I0205 12:59:46.668166 1846112256 ffmpeg_decoder.cc:263] Using decoder: h264, with hardware accelerator: videotoolbox
[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.
[Log]: "(video:2)"  "startup complete"
[Log]: "(all) setting up Period 0"
[Log]: "(all) Stream 2 is being or has been set up"
[Log]: "(all) Stream 1 is being or has been set up"
[Log]: "(all) Period 0 is being or has been set up"
[Log]: "canSwitch_"
[Log]: "Calling switch_(), bandwidth=10739 kbps"
[Log]: "switch_"
[Log]: "switch: switching to Stream (video:4)"
[Log]: "switch: Stream (audio:1) already active"
[INFO:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(331):AddKey] CdmEngine::AddKey: ksid3137A91D
[INFO:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(772):IsReleaseSession] CdmEngine::IsReleaseSession: ksid3137A91D
[Log]: "Session has expired"    "ksid3137A91D"
[INFO:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(198):CloseSession] CdmEngine::CloseSession: ksid3137A91D
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x13a91fa00] Failed to seek for auxiliary info, will only parse senc atoms for encryption info
[Log]: "(video:4)"  "looking up segment:"   "presentationTime=10"   "currentPeriod.startTime=0"
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x13a071c00] Found duplicated MOOV Atom. Stopping.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x13a939e00] Failed to seek for auxiliary info, will only parse senc atoms for encryption info
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x13a939e00] 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
[h264 @ 0x13a071c00] A non-intra slice in an IDR NAL unit.
[h264 @ 0x13a071c00] decode_slice_header error
[h264 @ 0x13a071c00] no frame!
[h264 @ 0x13a071c00] illegal modification_of_pic_nums_idc 28
[h264 @ 0x13a071c00] decode_slice_header error
[h264 @ 0x13a071c00] no frame!
[h264 @ 0x13a071c00] slice type 10 too large at 0
[h264 @ 0x13a071c00] decode_slice_header error
[h264 @ 0x13a071c00] no frame!
[h264 @ 0x13a071c00] non-existing PPS 3 referenced
[h264 @ 0x13a071c00] decode_slice_header error
[h264 @ 0x13a071c00] no frame!
[h264 @ 0x13a071c00] slice type 32 too large at 5
[h264 @ 0x13a071c00] decode_slice_header error
[h264 @ 0x13a071c00] no frame!
[h264 @ 0x13a071c00] non-existing PPS 1 referenced
[h264 @ 0x13a071c00] decode_slice_header error
[h264 @ 0x13a071c00] no frame!
[h264 @ 0x13a071c00] non-existing PPS 1 referenced
[h264 @ 0x13a071c00] decode_slice_header error
[h264 @ 0x13a071c00] no frame!
[h264 @ 0x13a071c00] deblocking_filter_idc 6 out of range
[h264 @ 0x13a071c00] decode_slice_header error
[h264 @ 0x13a071c00] no frame!
[h264 @ 0x13a071c00] deblocking filter parameters 0 -11 out of range
[h264 @ 0x13a071c00] decode_slice_header error
[h264 @ 0x13a071c00] no frame!
[h264 @ 0x13a071c00] illegal memory management control operation 17
[h264 @ 0x13a071c00] ref 28 overflow
[h264 @ 0x13a071c00] error while decoding MB 7 0
[h264 @ 0x13a071c00] concealing 3600 DC, 3600 AC, 3600 MV errors in P frame
[h264 @ 0x13a071c00] number of reference frames (0+4) exceeds max (3; probably corrupt input), discarding one
[h264 @ 0x13a071c00] non-existing PPS 1 referenced
[h264 @ 0x13a071c00] decode_slice_header error
[h264 @ 0x13a071c00] no frame!
[h264 @ 0x13a071c00] non-existing PPS 2 referenced
[h264 @ 0x13a071c00] decode_slice_header error
[h264 @ 0x13a071c00] no frame!
[h264 @ 0x13a071c00] non-existing PPS 12 referenced
[h264 @ 0x13a071c00] decode_slice_header error
[h264 @ 0x13a071c00] no frame!
[h264 @ 0x13a071c00] reference count overflow
[h264 @ 0x13a071c00] decode_slice_header error
[h264 @ 0x13a071c00] no frame!
[h264 @ 0x13a071c00] non-existing PPS 1 referenced
[h264 @ 0x13a071c00] decode_slice_header error
[h264 @ 0x13a071c00] no frame!
[h264 @ 0x13a071c00] non-existing PPS 1 referenced
[h264 @ 0x13a071c00] decode_slice_header error
[h264 @ 0x13a071c00] no frame!
[h264 @ 0x13a071c00] non-existing PPS 2 referenced
[h264 @ 0x13a071c00] decode_slice_header error
[h264 @ 0x13a071c00] no frame!
[h264 @ 0x13a071c00] top block unavailable for requested intra mode -1
[h264 @ 0x13a071c00] error while decoding MB 0 0
[h264 @ 0x13a071c00] concealing 3600 DC, 3600 AC, 3600 MV errors in i frame
[h264 @ 0x13a071c00] illegal short term buffer state detected
[h264 @ 0x13a071c00] illegal memory management control operation 32
[h264 @ 0x13a071c00] deblocking_filter_idc 3 out of range
[h264 @ 0x13a071c00] decode_slice_header error
[h264 @ 0x13a071c00] no frame!
[h264 @ 0x13a071c00] non-existing PPS 4 referenced
[h264 @ 0x13a071c00] decode_slice_header error
[h264 @ 0x13a071c00] no frame!
[h264 @ 0x13a071c00] illegal modification_of_pic_nums_idc 6
[h264 @ 0x13a071c00] decode_slice_header error
[h264 @ 0x13a071c00] no frame!
I0205 12:59:55.774302 1846112256 ffmpeg_decoder.cc:263] Using decoder: h264, with hardware accelerator: videotoolbox
[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.
[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.
[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.
[Log]: "Calling switch_(), bandwidth=22423 kbps"
[Log]: "switch_"
[Log]: "switch: Stream (video:4) 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.
[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.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x13a939e00] Failed to seek for auxiliary info, will only parse senc atoms for encryption info
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x13a91fa00] Failed to seek for auxiliary info, will only parse senc atoms for encryption info
[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.
[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.
[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.
[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.
[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.

Thanks!

TheModMaker commented 4 years ago

I see a line [Log]: "Session has expired" "ksid3137A91D", it appears that JavaScript thinks the session is expired and closes it. Check the expiration of the license and the policy to make sure the license doesn't expire too soon. Could you provide the manifest/license URL so we can test this? You can send it privately to shaka-player-issues@google.com.

yuta-n-play commented 4 years ago

The license playing with shaka player embedded is below. I suppose it will not be expired because our proxy set 86400(1 day) to licenseDurationSeconds.

{
    "id":{
        "requestId":"QzNDNkZCRjBBMTJGOUM5NjAwMDAwMDAwMDAwMDAwMDA=",
        "sessionId":"QzNDNkZCRjBBMTJGOUM5NjAwMDAwMDAwMDAwMDAwMDA=",
        "purchaseId":"",
        "type":"STREAMING",
        "version":0
    },
    "policy":{
        "canPlay":true,
        "canPersist":true,
        "canRenew":true,
        "licenseDurationSeconds":"86400"
    },
    "key":[{
        "iv":"xxxxx",
        "type":"SIGNING"
    },{
        "id":"xxxxxx",
        "iv":"xxxxxx",
        "type":"CONTENT",
        "level":"SW_SECURE_CRYPTO",
        "keyControl":{
            "keyControlBlock":"xxxxxx",
            "iv":"xxxxxx"
        },
        "trackLabel":"SD_HD"
    }],
    "licenseStartTime":"1581057126",
    "protectionScheme":0
}

Could you provide the manifest/license URL so we can test this? You can send it privately to shaka-player-issues@google.com.

Thanks! I'll send urls as soon as I’am ready.

yuta-n-play commented 4 years ago

I can play to the end when I set license_duration_seconds to 0(unlimited)! However, when I set 2147483647 (over 68 years) and 31557600 (1 year), playback will stop at clear read. I feel like a CDM bug.

TheModMaker commented 4 years ago

Actually I don't need the URLs, I've found the error. The CDM is reporting the correct expiration, but our wrappers convert it to seconds, where it should be kept as milliseconds. So the time reported to JavaScript appears to be in the past since it's in the wrong units. Should be an easy fix.