Why IMFMediaEngine::TransferVideoFrame return E_FAIL and throw a exception on GTS 250 on 64 bit Wind

Hi NVidia Tech support and all
I Download the Media engine native C++ video playback sample from MSDN, compile and run the sample successfully on 64 bit Window 8 with Intel HD Graphic card 3000. When I run the same code on GTS 250 or GT 330, IMFMediaEngine::TransferVideoFrame return E_FAIL and throw a First-chance exception at 0x76D84B32 in MEPlaybackNative.exe: Microsoft C++ exception: _com_error at memory location 0x06B2DED8.
I have updated the graphic driver with 306.97, the problem still exist. Can anyone give me some more suggestions ? any help will appreciate.

Hi,
I’m also having the same issue on my Geforce GTS 450.

I ran the sample (here’s the link):
http://code.msdn.microsoft.com/windowsapps/media-engine-playback-ce1c82f0

And I got the same problem as you do freedayman. On my GTS 450 I HAVE TO force the D3D Device to be initialized in WARP mode to avoid IMFMediaEngine::TransferVideoFrame from crashing. But by doing this I lose hardware acceleration.
I tried the sample on a AMD HD Radeon 5770 and it just works fine, no crash, D3D Device in hardware mode with video acceleration enabled.

I posted this topic on the Media Foundation forum:
http://social.msdn.microsoft.com/Forums/en-US/mediafoundationdevelopment/thread/f21a03d7-d120-410f-a321-d523353bb6ee?prof=required
But still no answer…

My machine config is:
Windows Pro 8 64bits
Visual Studio 2012 using Windows SDK 8.0
NVidia GeForce GTS 450 with driver version 310.90 (latest ones)

As we can tell from your feedback freedayman, the MediaEngine works fine on all cards except the NVidia ones… :(

Can anyone from NVidia confirm the issue and give us some news about it, please? Will this issue be fixed in a future driver release?

Thanks.

Update:

I tried on a GeForce 560 and it fails too.
So from what I gathered so far, it fails on GeForce 200, 300, 400 and 500 series.

But not on AMD or Intel cards though :(

I think I’ve discovered a workaround for this issue. See my post here: http://social.msdn.microsoft.com/Forums/en-US/winappswithnativecode/thread/2f467b60-a99b-481d-baa1-fe0be124d8bb/

Haven’t seen any response from Microsoft or NVIDIA on this issue yet though.

Thanks for sharing your solution Andrew.
Also, the newest NVidia drivers 314.22 seem to fix the issue on my GTS 450. I can use the D3D device up to level 11.0 (couldn’t test level 11.1 though).

We are having the same issue. We require D3D 11 so using lower feature levels is not an effective solution. We still get this issue on 314.22. Our app is 3D heavy as well as using video. As with others here the problem does not occur on any other hardware, only NVidia (various cards from 550Ti up); WARP is also fine, but way too slow for us. This only happens using the new Windows 8 App API, using the old Desktop API the video works on all hardware (as we also have a Desktop build). However the Desktop API is not available to Store Apps, so that doesn’t help. The video either does not play, or plays corrupt, or occasionally causes a BSOD.

I have also posted this reply on the thread mentioned above (http://social.msdn.microsoft.com/Forums/en-US/winappswithnativecode/thread/2f467b60-a99b-481d-baa1-fe0be124d8bb/?prof=required).

I have the same exact issue. I downloaded the windows 8 (not 8.1) version of the Media Engine Native C++ sample which is in the Windows 8 apps samples pack link found on this page: http://code.msdn.microsoft.com/windowsapps/media-engine-playback-ce1c82f0

I upgraded my driver and even upgraded to the Beta driver version 326.80 but I still get this crash. My card is a GeForce GTX 480. I can run this sample successfully on a Surface Pro and Ultrabook which have Intel GPUs.

The workarounds provided above will not work in my case.

I would greatly appreciate it if someone from NVidia could verify whether this is a bug with the NVidia drivers or not. Apparently, Microsoft representatives believe it is. And if so, when a fix can be expected?

Thank you.

I am running into this issue on a GeForce GTX970 with driver version 344.75. I implemented the workaround by forcing the application to DirectX 9 only.

Here’s the github repo for a SharpDX based video player that shows the issue (and has an option to force the DirectX 9 workaround)

I would really appreciate any feedback on this issue.

Three years later and the issue still exists.

Geforce GTX750 with driver version 382.05

Three years later and the issue still exists.

Geforce GTX750 with driver version 382.05.