microsoft / media-foundation

Repository for Windows Media Foundation related tools and samples
MIT License
144 stars 31 forks source link

[MediaEngineEMEUWPSample] The sample protection algorithms supported by components are not compatible. (0xC00D7176))) #55

Closed cjw1115 closed 1 year ago

cjw1115 commented 1 year ago

I tried to play an encrypted mp4 by project MediaEngineEMEUWPSample, the mp4 is audio only and codec is Dolby AC4, encrypted by PlayReady. And IMFMediaEngineNotify::EventNotify will be invoked with below args:

I tried to encrypt a Dolby AC3 mp4 with same way. It can be play correctly.

So I want to know why MediaEngine throw such error for AC4 codec?

Thanks!

cjrog commented 1 year ago

The MediaEngine does not support AC4 codec at this time. That is likely why you are seeing the error occur. The other codecs (AC3/ACC) are supported.

cjw1115 commented 1 year ago

Thanks, is there any plan to support AC4? I found AC4 related mf format(MFAudioFormat_Dolby_AC4) is already defined mfapi.h.

cjrog commented 1 year ago

Currently we don't have any plans to add support for AC-4.

cjw1115 commented 1 year ago

Currently we don't have any plans to add support for AC-4.

Since we are developing AC-4 UWP codec pack for testing, now we can use it play AC4 content by MediaPlayer, by MediaFoundation API. Looks it works on most of cases. But if we play some PlayReady DRM AC-4 content, it will fail just as I described in this issue. (BTW, our AC-4 codec has correct PE sign to pass Windows verification).

Could I know is it complex for PlayReady to support AC4 in your side? Thanks!

cjw1115 commented 1 year ago

The MediaEngine does not support AC4 codec at this time. That is likely why you are seeing the error occur. The other codecs (AC3/ACC) are supported.

Hi cjrog,

Now we switched to use a self-implementation MFT decoder of AC3 rather than Microsoft's one. But I still get this error 0xC00D7176, could you give me some hints about how to resolve it?

BTW, my AC3 MFT decoder works for non-DRM content in most of player. It is a codec extension in store:

Thanks!

cjrog commented 1 year ago

Closing this issue as we have an internal thread with Dolby around supporting sample protection.