1. Installed Vista Beta 2;
2. Installed Vista Beta 2 SDK;
3. Build MF_ProtectedPlayback Sample from provided samples;
When starting both Release and/or Debug versions of MF_ProtectedPlayback Sample with both Adminitrative and not-Administrative priv. as well as with DRM and not-DRM Video content => getting complain in the form of 3 Message Boxes:
"Windows -- Bad Image: X is either not designed to run on Windows or it contains an error...."
Followed by the crash...
Works fine for DRM/not-DRM Audio Files...
My guess: Video is not implemented yet

MF_ProtectedPlayback Sample doesn't work for Video on Vista Beta 2:
Terry Showers
Hi Igor,
FYI, WMP does try to use Media Foundation to playback all WMV/WMA/MP3 files. However, if this fails for some reasons, it will rollover and use the legacy Format SDK or DShow to play the content.
The Scenarios Under which we Rollover from MF are:
1. Un-trusted Binaries are being attempted to be loaded to the MFPMP process
2. The Content is using an ASF feature which is currently not supported by Media Foundation.
3. The content is being streamed from a Streaming server
4. The content is not an ASF or MP3 file.
5. A binary which was trusted has been "revoked" - so that it is no longer trusted.
Thanks
Steven Gilissen
After some in-house testing, Igor, we determined that the new driver you picked up from NVidia's website is not yet signed, which means that Windows will not be able to play back content in a protected process (mfpmp.exe) while this driver is present. Therefore, playback through Media Foundation will fail. In other words, you're experiencing situation #1 that Janaka describes above.
So if you want to just play content, you should be completely fine, because Windows Media Player will roll over to legacy technologies to play it.
But if you want to work with the MF protected playback sample, you have a couple options:
1) Modify the sample to set the MFPMPSESSION_UNPROTECTED_PROCESS flag in the dwCreationFlags parameter of MFCreatePMPMediaSession. This will cause mfpmp.exe to get launced as a regular (not protected) process. Playback of protected content will still fail, because the Protected Media Path requires the process it runs in to be a protected process if it is to play protected content, but playback of unprotected content should work. You won't be able to see stuff like the Content Protection Manager at work, but you will at least be somewhat unblocked.
2) You could, I suppose, try to roll back to the original ATI video card that came with your machine. With any luck, its inbox drivers would work.
And meanwhile, we will work on getting this NVidia driver signed, to avoid this problem in the future. Thanks much again for helping us identify this problem.
Becky
Steve Niles
That explaines.
However, if WMP11 does determine that MF playback is impossible and "falls back" to DShow, why MF API doesn't have such a function And/or why not MFCreatePMPMediaSession and/or some other function to return MF DRM capabilities of current system Maybe you do have such a function Why not have an error code and/or GetError function returning the reason of the failure
I'm not complaining, I'm just saying that there must be a "better" exit then just a crash in such situation. And what about those "ugly" and not very usefull message boxes "Bad Image" I understand that they are coming from protected MFPMP (runing in a different account) through CSRSS and you probably just reused one of the standard dialogs of CSRSS. But from user/developer perspective those messages just useless and confusing. Why not just state what "not-trusted" component has been found, so the user/developer will know what is "wrong" with his system
xplosiv_1
Hey Igor,
Good feedback, thanks. We definitely get what you're saying and are talking about what we can do about it.
Beckly
David Mc Dermid
NVIDIA GeForce 7300 LE.
Driver Provider: Nvidia
Driver Date: 5/19/2006
Driver Version: 8.8.6.1
====================
Driver Details:
Driver Files:
F:\Windows\help\nvcpl\help => I'm not including => several lines here...
.....
F:\Windows\system32\DRIVERS\nvlddmkm.sys
F:\Windows\system32\nvapi.dll
F:\Windows\system32\nvapps.xml
F:\Windows\system32\nvcolor.exe
F:\Windows\system32\nvcpl.cpl
F:\Windows\system32\nvcpl.dll
F:\Windows\system32\nvcplui.exe
.... and etc... I doubt you need all that => let me know....
=============
Hardware IDs
PCI\VEN_10DE&DEV_01D1&SUBSYS_035610DE&REV_A1
PCI\VEN_10DE&DEV_01D1&SUBSYS_035610DE
PCI\VEN_10DE&DEV_01D1&CC_030000
PCI\VEN_10DE&DEV_01D1&CC_0300
BTW:
Another question: Current SDK doesn't have "mfmediatypes.h" Include file. February CTP had it.
Is it gone forever, or maybe it was mistake
darthziv
Igor,
Could you please tell us what video card you are using
Also, it would be great if you could give us some info on your machine's display drivers. From a command prompt, type devmgmt.msc (you will receive a privileges elevation prompt; accept it). Go under "Display adapters", right-click on your video device, go to the Driver tab, hit "Driver details", and tell us what's listed. Also, go under the "Details" tab, choose the Hardware Ids property, and tell us what's there.
Thanks much,
Becky
Bill Martin
Janaka Goonasekera wrote:
>>
3. The content is being streamed from a Streaming server
<<
Question: Is it Microsoft Streaming Server (Win2003 server) or any Web Server
I've tried to create ASX file for streaming from one of Microsoft DRM Test sites and it looks like MFPMP is still used for audio files playback on my system. Therefore, the question is:
MF should be disabled only for Microsoft Streaming Server or any Web Streaming
BTW: Just to let you know: While doing that ASX streaming through MF I have discovered very sluggish audio playback, not comparable with either local playback and/or same ASX based streaming under WMP11/10 under XP. In fact playback just stopes in the middle of 10seconds segment. Are you aware of that Or something wrong with my audio/network subsystem now LOL
Tigerroad
As Vista Beta 2 (same as February CTP) didn't install proper graphics adapter driver during setup (but installed generic VGA driver), I've picked up/download/install Windows Vista x86 Beta 2 ForceWare driver from NVidia:
http://www.nvidia.com/object/winvista_x86_88.61.html
I don't recall any prompts asking for comformation on installation of unsigned driver, so I assume that driver is signed.
Other then in that particular case, that driver works fine, including Aero Glass, Transparency and etc...
About that computer system:
This is standard DELL system obtained just 2 months ago from DELL.com, so I assume there must be alot of customers:
-- Dimension E510, Intel Pentium D 820 with Dual Core (2.8Ghz);
-- 2GB DDr2 SDRAM @533Mhz;
-- NVidia GeForce 7300LE 128MB (default system comes with ATI Radeon with less memory, so I optioned to this one specifically to play with Vista);
-- 250 GB SATA (actually I installed second 250GB SATA for Dual Boot of Vista);
-- IEEE 1394 Adapter Card (option);
-- 16X DVD-ROM + 16X DVD+/-RW
Default boot of 2005 XP Media Center from original HD works fine, including recently installed beta XP WMP11 (without MF as I undertand).
singam
Is this "by design"
Would this stay in final version
Or this is just temporary Beta "feature" that will be "corrected" in final version
If it is "by design" and stays the same in final version: are you saying that MF implementation is not handling MS Media Streaming the same way as DirectShow does
keshavbs
solehome
Are you able to play the same video content in Windows Media Player
-Sumedh
da_Codez
To answer your question about where mfmediatypes.h has gone, we've consolidated that with mfapi.h. So all mediatype-related definitions that you'll need should be in mfapi.h and, to a lesser extent, mfobjects.idl.
Becky
Prasenna
Hi Igor,
I wanted to take a moment to thank you for reporting this problem. We are trying to repro the bug here and we will have an update soon. In meantime, I was wondering if you have installed any drivers other than those shipped with Vista
Becky will get back to you regarding your mfmediatypes.h question.
Thanks again,
Prakash Channagiri
shekhar saran
Absolutely... Yes...
Any DRM Video content playable in Vistas WMP11 produces the same result while attempting to play in yours ProtectedPlayback sample ==> it causes several Bad Image dialogs followed by the crash.
DRM Audio samples are working OK.
Did you try yours DRM Video samples yourself
Does it work for you
BTW: Looks like Vistas WMP11 doesn't use protected media path for DRM video: as it is explained in yours MF documentation separate process should be created (I assume it is MFPMP.EXE). As I don't see MFPMP.EXE in Task Manager when playing DRM video, while DRM audio shows MFPMP.EXE => I assume yours Video protected media path is not implemented yet by you in WMP11.
Is this true Or I'm confusing things here
PS:
In addition it looks like yours Include files provided in SDK are not in sync with the implementation.
For example the reason for crash is the following line in yours ContentEnabler.cpp file:
Line 314: hr = m_pMEG->BeginGetEvent(this, NULL);
When debugging Assertion caused by run-time stack check:
00401D5A cmp esi,esp
00401D5C call _RTC_CheckEsp (407FC0h)
after above BeginGetEvent(this, NULL); (in Release I assume it crashes here).
In my oppinion, that can only be caused by bad or incomplete definition of
IMFMediaEventGenerator (see mfobjects.h provided by you in yours Beta 2 SDK)...