GenerateRequest failure reproducer#62
Conversation
roman380
left a comment
There was a problem hiding this comment.
To reproduce,
- Open samples\ContentDecryptionModule01\ContentDecryptionModule01.sln
- Build Debug x64
- Run
| try | ||
| { | ||
| std::wcout << L"Before GenerateRequest" << std::endl; | ||
| m_MediaKeySession->GenerateRequest(L"cenc", std::vector<uint8_t>(g_InitializationData, g_InitializationData + std::size(g_InitializationData))); |
There was a problem hiding this comment.
By this call debug output is this, and presumably this is as expected:
ContentDecryption.h(488): Eme::Factory::Factory: this 00000057FBAFF3E0
ContentDecryption.h(500): Eme::Factory::RequestMediaKeySystemAccess: this 00000057FBAFF3E0, KeySystem com.microsoft.playready.recommendation, ConfigurationVector.size() 1
ContentDecryption.h(508): Eme::Factory::RequestMediaKeySystemAccess: this 00000057FBAFF3E0, ContentDecryptionModuleFactory 000001BF5A7C08C0
ContentDecryption.h(529): Eme::Factory::RequestMediaKeySystemAccess: this 00000057FBAFF3E0, ContentDecryptionModuleAccess 000001BF5A7C0AD0
ContentDecryption.h(449): Eme::MediaKeySystemAccess::MediaKeySystemAccess: this 000001BF58CC2060
Exception thrown at 0x00007FFFDB88CF19 (KernelBase.dll) in ContentDecryptionModule01.exe: 0x000006A6: The binding handle is invalid.
Exception thrown at 0x00007FFFDB88CF19 (KernelBase.dll) in ContentDecryptionModule01.exe: WinRT originate error - 0xC00D36BA : 'The object does not support the specified service.'.
ContentDecryption.h(473): Eme::MediaKeySystemAccess::CreateMediaKeys: this 000001BF58CC2060, ContentDecryptionModule 000001BF5A915190
ContentDecryption.h(241): Eme::MediaKeys::MediaKeys: this 000001BF58CF1860
ContentDecryption.h(83): Eme::MediaKeySession::MediaKeySession: this 000001BF58CF56A0
ContentDecryption.h(94): Eme::MediaKeySession::Initialize: this 000001BF58CF56A0, Type MF_MEDIAKEYSESSION_TYPE_TEMPORARY
ContentDecryption.h(188): Eme::MediaKeySession::SessionCallbacks::SessionCallbacks: this 000001BF58CF2DA0
ContentDecryption.h(98): Eme::MediaKeySession::Initialize: this 000001BF58CF56A0, ContentDecryptionModuleSession 000001BF5A915500
There was a problem hiding this comment.
Stepping further into IMFContentDecryptionModuleSession::GenerateRequest I get this:
ContentDecryption.h(145): Eme::MediaKeySession::GenerateRequest: this 000001BF58CF56A0, InitializationDataType cenc, InitializationData 852
ContentDecryption.h(103): Eme::MediaKeySession::SessionId: this 000001BF58CF56A0
ContentDecryption.h(146): Eme::MediaKeySession::GenerateRequest: SessionId
Exception thrown at 0x00007FFEC2F1B4FA (Windows.Media.Protection.PlayReady.dll) in ContentDecryptionModule01.exe: 0xC0000005: Access violation reading location 0x0000000000000000.
with call stack
Windows.Media.Protection.PlayReady.dll!00007ffec2f1b4fa() Unknown
Windows.Media.Protection.PlayReady.dll!00007ffec2f19fbd() Unknown
Windows.Media.Protection.PlayReady.dll!00007ffec2f1ca68() Unknown
> ContentDecryptionModule01.exe!Eme::MediaKeySession::GenerateRequest(const std::wstring & InitializationDataType, const std::vector<unsigned char,std::allocator<unsigned char>> & InitializationData) Line 149 C++
ContentDecryptionModule01.exe!Application::Main() Line 77 C++
ContentDecryptionModule01.exe!wmain() Line 99 C++
ContentDecryptionModule01.exe!invoke_main() Line 91 C++
ContentDecryptionModule01.exe!__scrt_common_main_seh() Line 288 C++
ContentDecryptionModule01.exe!__scrt_common_main() Line 331 C++
ContentDecryptionModule01.exe!wmainCRTStartup(void * __formal) Line 17 C++
kernel32.dll!00007fffdc8c7344() Unknown
ntdll.dll!00007fffde1826b1() Unknown
2ab7256 to
78ea4ea
Compare
|
@roman380 please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
Contributor License AgreementContribution License AgreementThis Contribution License Agreement (“Agreement”) is agreed to by the party signing below (“You”),
|
78ea4ea to
d7a6d4e
Compare
The reproducer app is entirely inside samples\ContentDecryptionModule01 directory, code is detached from player itself just to take us to the problematic place.
Original
MediaEngineEMEUWPSampleis updated to use the same samples\ContentDecryptionModule01\ContentDecryption.h and UWP sample works well.