Skip to main content

WMS9 Development

As one of my consulting services, I develop WMS9 server plugins. If any of you has ever tried to develop a plugin for the Microsoft Media Server, you know that there is very little documentation for it, and very little support.

Recently, one of my clients setup a new Windows Server 2003 Enterprise system and tried to deploy our plugins to it. As you can imagine, the plugins did not work. While the other Micorosoft supplied plugins worked, my plugins reported error 0xc00d157d. You should try to google for that error code to see what you find.

The WMS log console shows that my plugins are reporting a binding error, yet the popup error message reports that it's a .NET runtime version error. Which path to choose?

For about a week, both me and my client's IT staff looked feverishly for a fix. Sometimes they blamed my code, sometimes we cursed Microsoft, and other times we looked to the heavens ala Google searching. Nothing seemed to work.

When I tried using the fusion log viewer, and with a little super-user configuration, I discovered that the binding error should have been our investigation path. As it turns out, the shipped WMS9 installation has Microsoft.WindowsMediaServices DLL version 9.1.1.3842. I knew this from long ago b/c this update has been around for a long time, and I've avoided it to preserve compatibility with existing systems. I didn't know that Microsoft had decided to put this new version into its latest service pack.

The WMS DLL version that I've been using for the past 2 years is 9.0.0.3693. This was the cutting edge DLL back in the day when we first started deploying the plugins. This was also the version that came with the Platform SDK for Multimedia/WindowsMediaServices9.

What really chaps me is that I pay good money to be an MSDN subscriber. You would think that Microsoft would want to tell the developer world that they are scrapping the old Platform SDK DLL in lieu of a new one that will break compatibility with existing plugins. Then again, you would also expect Microsoft to police their WMS newsgroups and actually answer questions that are more involved than the typical "how do I write a logging plugin." Neither is the case with WMS development.

Popular posts from this blog

Number of Primes

Anderson's Theorem (a) The number of primes in [1,n] is no more than 2+floor(n/2). The probability of n being prime when n is not prime is 1/2 - see Dasgupta,Papadimitriou,Vazirani "Algorithms" page 26. Therefore, the E(pi(n)) is n/2. (b) There does not exist another set of adjacent primes other than {1,2,3} 5: 2 + floor(5/2) = 2 + 2 = 4:=> {1,2,3,5} : 4 <= 4 7: 2 + floor(7/2) = 2 + 3 = 5 => {1,2,3,5,7} : 5 <= 5 11: 2 + floor(11/2) = 2 + 5 = 7 => {1,2,3,5,7,11} 6 <= 7 26: 2 + floor(26/2) = 15 => {1,2,3,5,7,11,13,17,19,23} : 10 <= 15 Lagrange's Theorem is Inaccurate Lagrange's theorem about primes states that pi(x) is the number of primes <= x. The pi(x) is approximately x/ln(x). He postulated that the lim of pi(x)/(x/lnx) as x-> infinity was 1. This is incorrect. if the number of primes is bounded by n/2 then refactoring and reducing Lagrange's Theorem results in the lim of ln(x) as x approaches infinity. This is alwa...

How To Cancel ATT Uverse

I was a subscriber to the AT&T Uverse service for a little over 2 years. In that time, we had experienced good service for the first year, and then it sucked. After 12 months, or there in, the service degraded quickly, and would stop working all together at times. At first it would die for a short period of time, usually when we were not home. Then it would get progressively worst, until there was an entire week of no service. We had technicians at the house trying to fix the service, but it would repeat the behavior quite consistently. On January 15th we finally gave up and switched to a lesser service, COX TV and Internet. In the past we had cable service and it was always reliable, but not as good as the AT&T digital service. COX doesn't have nearly as many HD channels, but that's not enough. We needed internet to be reliable, and AT&T couldn't deliver that. Cancelling the AT&T service was a nightmare. Try to find anything about such things on their web s...

DNS Custom Logs and selinux

If you google "named custom logs selinux" you will find quite a bit of chatter about setting up custom logs outside of /var/log for DNS (named). These posts are interesting, but they tend to be run on posts about learning selinux and becoming an expert on named. What you need to know? If you have setup custom logging locations in your /etc/named.conf file, such as:     channel default_file {         file "/var/log/named/default.log" versions 3 size 5m;         severity dynamic;         print-time yes;     }; Then you will likely see errors like this in /var/log/messages: Oct 26 11:41:13 namedsvr setroubleshoot: SELinux is preventing /usr/sbin/named from write access on the directory /var/named/chroot/var/log/named. For complete SELinux messages. run sealert -l 6eab4aaf-e615-4ade-9e88-4efdc789eaf2 Then you run the sealert command as suggested by the very friendly selinux audit log and yo...