shaka-project / shaka-player-embedded

Shaka Player in a C++ Framework
Apache License 2.0
239 stars 62 forks source link

Issue while playing Widevine protected content #58

Closed onefarad closed 4 years ago

onefarad commented 4 years ago

Hello,

We are trying to use Shaka Player Embedded integrated with Widevine DRM. Compiling CDM into Shaka Player Embedded worked smoothly according to the CDM and Shaka Player Embedded documentation.

Content that is not encrypted works fine, as expected.

When switching to DRM protected content the player just freezes when trying to display encrypted content. Tests were done using Widevine sample provided content and Shaka Packager prepared content. The below content/proxy has problems only on IOS - everything works fine on Exoplayer and Browser.

Same results on iPhone 5s iPhone X.

According to proxy logs, license was issued corectly. Widevine team sugested I submit this issue; below is the code used to start player and logs. Any thoughts on this problem?

How the payer framework was used:

#import "ViewController.h"
#import <ShakaPlayerEmbedded/ShakaPlayerEmbedded.h>
@implementation ViewController
- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    // Make a Shaka Player view.

    ShakaPlayerView *player = [[ShakaPlayerView alloc] init];
    player.frame = self.view.bounds;
    [self.view addSubview:player];
    [player setClient:NULL];
    // Load and play an asset.

    // all ok - clear
    //[player load:@"https://storage.googleapis.com/shaka-demo-assets/angel-one/dash.mpd" withBlock:^(ShakaPlayerError *error){if (error) {NSLog(@"###error");} else {NSLog(@"###ok");}}];

    // not working - encrypted
    [player load:@"https://storage.googleapis.com/wvmedia/cenc/h264/tears/tears_sd.mpd" withBlock:^(ShakaPlayerError *error){if (error) {NSLog(@"###error");} else {NSLog(@"###ok");}}];
    [player configure:@"drm.servers.com\\.widevine\\.alpha" withString:@"https://proxy.staging.widevine.com/proxy"];

    [player play];

}
@end

Application log for iPhone 5s is below:

[Info]: "Starting attach..."
[Info]: "Starting load of https://storage.googleapis.com/wvmedia/cenc/h264/tears/tears_sd.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"
[Log]: "codecs" "avc1-mp4a" "avg bandwidth" 1409174
[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."
[Warn]: "No preferred audio language set.  We will choose an arbitrary language initially"
2019-10-09 18:14:59.461739+0300 testShaka[8314:7569067] ###ok
[Log]: "(audio:1)"  "looking up segment:"   "presentationTime=0"    "currentPeriod.startTime=0"
[Log]: "(video:2)"  "looking up segment:"   "presentationTime=0"    "currentPeriod.startTime=0"
[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: ksidA149B344
[INFO:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(529):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: ksidA149B344
[DEBUG:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/license.cpp(336):PrepareKeyRequest] PrepareKeyRequest: nonce=2502408683
[INFO:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/cdm/src/cdm.cpp(691):generateRequest] A license request has been generated.
[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/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: ksidDF5BE7F3
[INFO:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(529):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: ksidDF5BE7F3
[DEBUG:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/license.cpp(336):PrepareKeyRequest] PrepareKeyRequest: nonce=2818731362
[INFO:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/cdm/src/cdm.cpp(691):generateRequest] A license request has been generated.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x10401fc00] 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
I1009 18:15:00.359156 1869606912 media_processor.cc:456] No hardware-accelerators available, using decoder: aac_at
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x10402d800] 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 @ 0x103060c00] Reinit context to 320x144, pix_fmt: yuv420p
I1009 18:15:00.475390 1876488192 media_processor.cc:462] Using decoder: h264, with hardware accelerator: videotoolbox
[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"
[h264 @ 0x1040a7800] Reinit context to 320x144, pix_fmt: videotoolbox_vld
[INFO:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(331):AddKey] CdmEngine::AddKey: ksidDF5BE7F3
[INFO:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(759):IsReleaseSession] CdmEngine::IsReleaseSession: ksidDF5BE7F3
[INFO:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(331):AddKey] CdmEngine::AddKey: ksidA149B344
[INFO:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(759):IsReleaseSession] CdmEngine::IsReleaseSession: ksidA149B344
[Log]: "canSwitch_"
[Log]: "Calling switch_(), bandwidth=2987 kbps"
[Log]: "switch_"
[Log]: "switch: switching to Stream (video:3)"
[Log]: "switch: Stream (audio:1) already active"
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x10401fc00] Failed to seek for auxiliary info, will only parse senc atoms for encryption info
[Log]: "Choosing new streams after key status changed"
[Log]: "(video:3)"  "looking up segment:"   "presentationTime=12"   "currentPeriod.startTime=0"
I1009 18:15:03.058017 11381696 video_controller.cc:163] Dropped 1 frames.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x10402d800] Found duplicated MOOV Atom. Stopping.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x10402d800] Failed to seek for auxiliary info, will only parse senc atoms for encryption info
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x10402d800] 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 @ 0x103060c00] Reinit context to 864x384, pix_fmt: yuv420p
[h264 @ 0x103060c00] left block unavailable for requested intra4x4 mode -1
[h264 @ 0x103060c00] error while decoding MB 0 0, bytestream 43889
[h264 @ 0x103060c00] concealing 1296 DC, 1296 AC, 1296 MV errors in I frame
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1699):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(1193):decrypt] Key not available.
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1699):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(1193):decrypt] Key not available.
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1699):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(1193):decrypt] Key not available.
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1699):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(1193):decrypt] Key not available.
[Log]: "Calling switch_(), bandwidth=12272 kbps"
[Log]: "switch_"
[Log]: "switch: Stream (video:3) already active"
[Log]: "switch: Stream (audio:1) already active"
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x10401fc00] 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(1699):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(1193):decrypt] Key not available.
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1699):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(1193):decrypt] Key not available.
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1699):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(1193):decrypt] Key not available.
[Log]: "Stall detected at 10.018999999999949 for 1.005000114440918 seconds. Seeking forward 0.1 seconds."
I1009 18:15:11.669751 1876488192 media_processor.cc:462] Using decoder: h264, with hardware accelerator: videotoolbox
[Log]: "(all): seeked: buffered seek: presentationTime=10.118999999999948"
I1009 18:15:11.682724 1869606912 media_processor.cc:456] No hardware-accelerators available, using decoder: aac_at
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1699):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(1193):decrypt] Key not available.
[h264 @ 0x1040b3800] Reinit context to 320x144, pix_fmt: videotoolbox_vld
I1009 18:15:11.784584 1869606912 media_processor.cc:456] No hardware-accelerators available, using decoder: aac_at
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1699):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(1193):decrypt] Key not available.
I1009 18:15:11.890714 1869606912 media_processor.cc:456] No hardware-accelerators available, using decoder: aac_at
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1699):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(1193):decrypt] Key not available.
I1009 18:15:11.993680 1869606912 media_processor.cc:456] No hardware-accelerators available, using decoder: aac_at
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1699):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(1193):decrypt] Key not available.
I1009 18:15:12.099826 1869606912 media_processor.cc:456] No hardware-accelerators available, using decoder: aac_at
[Log]: "Stall detected at 10.118999999999948 for 1.0209999084472656 seconds. Seeking forward 0.1 seconds."
[Log]: "(all): seeked: buffered seek: presentationTime=10.218999999999948"
I1009 18:15:12.962056 1876488192 media_processor.cc:462] Using decoder: h264, with hardware accelerator: videotoolbox
[h264 @ 0x103090e00] Reinit context to 320x144, pix_fmt: videotoolbox_vld
I1009 18:15:13.041841 1869606912 media_processor.cc:456] No hardware-accelerators available, using decoder: aac_at
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1699):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(1193):decrypt] Key not available.
I1009 18:15:13.147902 1869606912 media_processor.cc:456] No hardware-accelerators available, using decoder: aac_at
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1699):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(1193):decrypt] Key not available.
I1009 18:15:13.252373 1869606912 media_processor.cc:456] No hardware-accelerators available, using decoder: aac_at
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1699):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(1193):decrypt] Key not available.
I1009 18:15:13.359730 1869606912 media_processor.cc:456] No hardware-accelerators available, using decoder: aac_at
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1699):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(1193):decrypt] Key not available.

[....]

[Log]: "Stall detected at 11.618999999999943 for 1.0049998760223389 seconds. Seeking forward 0.1 seconds."
[Log]: "(all): seeked: buffered seek: presentationTime=11.718999999999943"
I1009 18:15:32.081878 1876488192 media_processor.cc:462] Using decoder: h264, with hardware accelerator: videotoolbox
I1009 18:15:32.090919 1869606912 media_processor.cc:456] No hardware-accelerators available, using decoder: aac_at
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1699):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(1193):decrypt] Key not available.
[h264 @ 0x10307f600] Reinit context to 320x144, pix_fmt: videotoolbox_vld
I1009 18:15:32.195667 1869606912 media_processor.cc:456] No hardware-accelerators available, using decoder: aac_at
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1699):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(1193):decrypt] Key not available.
I1009 18:15:32.302528 1869606912 media_processor.cc:456] No hardware-accelerators available, using decoder: aac_at
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1699):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(1193):decrypt] Key not available.
I1009 18:15:32.409524 1869606912 media_processor.cc:456] No hardware-accelerators available, using decoder: aac_at
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1699):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(1193):decrypt] Key not available.
I1009 18:15:32.490700 1876488192 media_processor.cc:462] 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(1699):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(1193):decrypt] Key not available.
I1009 18:15:32.512061 1869606912 media_processor.cc:456] No hardware-accelerators available, using decoder: aac_at
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1699):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(1193):decrypt] Key not available.
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1699):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(1193):decrypt] Key not available.
I1009 18:15:32.617478 1869606912 media_processor.cc:456] No hardware-accelerators available, using decoder: aac_at
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1699):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(1193):decrypt] Key not available.
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1699):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(1193):decrypt] Key not available.
I1009 18:15:32.720180 1869606912 media_processor.cc:456] No hardware-accelerators available, using decoder: aac_at
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1699):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(1193):decrypt] Key not available.
[ERROR:/var/lib/jenkins/workspace/CDM_Arxan_Create_Release/oemcrypto-arxan/third_party/cdm/core/src/cdm_engine.cpp(1699):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(1193):decrypt] Key not available.

[....]
TheModMaker commented 4 years ago

It works fine for me on both an armv7 and arm64 device. What version of the CDM and Shaka Player Embedded are you using? What are the flags you passed to ./configure?

Steps I performed:

If you define a client, do you get any error logs?

@interface ViewController () <ShakaPlayerClient>
@end

@implementation ViewController
- (void)onPlayerError:(ShakaPlayerError *)error {
  NSLog(@"Async error: %@", [error message]);
}
...
@end

[player setClient:self];

To help debug, you could edit this part of the decrypt operation to log the requested key ID and the existing key IDs (using cdm->GetKeyStatuses). You could also log here for when we get the license back. The Widevine CDM synchronously loads the session, so after it returns we should have the keys.

onefarad commented 4 years ago

CDM version used is 15.2.1. Shaka Player Embedded downloaded from GitHub.

Just passed the asset as seen in the code.

Will try the way you suggested, adding more logs, and get back to you with an answer.

onefarad commented 4 years ago

Retrying what you suggested and doing everything mentioned above did not work.

Reinstalling MacOS (back to Mojave), XCode and recompiling everything made things work flawless. The versions of Shaka Player Embedded and CDM used were the latest from repositories.

Sorry for the troubles and thanks for involvement.