Ongoing situation with Intel Integrated Graphics and MPEG4 protected content streaming
Streaming MPEG4 copy-once video over HDCP (i.e. cable TV video in Windows Media Center) with Intel integrated graphics results in no video displayed but audio playing.
Intel is continuing to actively investigate this issue. The platforms in question support protected H.264 video in general, as can be seen in Blu-ray playback and Windows 8.1 Media Center Edition* (MCE).
Intel and Microsoft* senior engineers are in direct contact regarding this issue, and it is not yet clear why Windows 7 MCE is not working with protected H.264 content on Intel Graphics. In our debug analysis we see the MCE framework calling the graphics driver to discover its capabilities, and the Intel driver is correctly reporting that it supports protected H.264 content. However, the MCE application does not actually send any video data to the graphics driver for it to decode. This usage model was not extensively tested, because few service providers were using protected H.264 when Windows 7 MCE was launched. Microsoft made several improvements in the MCE framework in Windows 8 and Windows 8.1, and indeed protected H.264 playback via MCE is working with Intel Graphics on Windows 8.1. We understand that this capability is apparently working on Windows 7 on some other vendor’s graphics cards, but we also see reports of certain models of other vendor’s cards failing here as well. We are continuing our investigation to see if there is any way to resolve this issue on Windows 7. For now, Windows 8.1 seems to be working properly.
Copy Control Information (or CCI) is a two byte flag included in digital television streams that allows content owners and cable operators to specify how content can be duplicated.
Some of the most common flags that exists are:
0x00 - Copy freely - Content is not copy protected.
0x01 - Copy No More - A copy of the content has already occurred and no more copies are permitted.
0x02 - Copy Once - One recording can be made, but it cannot be copied to another device.
In a normal HDCP compliant setup like: Protected-Content Source (e.g. Netflix) -> PC -> Display, the content is distributed only to 1 device with recording capabilities (i.e. the PC) and thus any 'Copy-once' flag is read and the content can be displayed (the application used is able to read and decrypt said flag).
However, in a setup involving other devices such as CableCARD the Copy-Once 0x02 flag appears to be generating a conflict between the playback application and the graphics driver. In our debug analysis we see the MCE framework calling the graphics driver to discover its capabilities, and the Intel driver is correctly reporting that it supports protected H.264 content. However, the MCE application does not actually send any video data to the graphics driver for it to decode.