We are getting reports from our Mac users that some of their video is playing back garbled. This only started happening when Silverlight 5 was released. This release included hardware video decoding acceleration for H.264, which is the codec we use. We have found that disabling the hardware acceleration through the Silverlight Preferences solves the problem.
Does anyone know of a programmatic way of disabling the hardware acceleration? We have thousands of users on OS X, and would like to preemptively fix this issue for them. Other ways of solving the issue from our end would also be welcome.
Relevant details:
- H.264 codec in MP4 container, sometimes with AAC audio
- Video is hosted on Amazon S3 and fed through a CDN
- Using the Silverlight MediaElement
- I have tried turning off enableGPUAcceleration in the object params
- I have tried turning off the CacheMode since it affects GPU acceleration as detailed on this page about Silverlight hardware acceleration.
Update
- It doesn't happen consistently, which is making this problem harder to solve. Some videos will play OK, and others will not. All the videos are encoded the same way.
- It happens in Google Chrome, Safari, and Firefox.
- This is Mac OS X only, it doesn't happen at all in Windows.
- It happens on several different models and revisions of Macs. Mac Mini, MacBook Air, MacBook Pro, etc. We haven't found a particular model that never has the issue so far.
Update 2
- Reproduces with Silverlight 5.0 and 5.1
Update 3
- This is in-browser (hence the browsers listed above)
Here is an example of the garbled video
The preferences setting that fixes the issue