DirectShow .NET Changelog

What's new in DirectShow .NET 2.1

Dec 10, 2011
  • Defined
  • Tested
  • See Interfaces.txt for the current list of tested interfaces.
  • Fixed 1 bug related to 64bit in DsRotEntry.
  • W7 introduced a number of new interfaces. Most of these had to do with digital TV, but
  • there were a few that are generally useful:
  • http://msdn.microsoft.com/en-us/library/dd390976(VS.85).aspx
  • These interfaces are defined in the library, but most of them are untested.

New in DirectShow .NET 2.0 (Dec 10, 2011)

  • In this release, we added the new interfaces introduced into DirectShow in Vista. Obviously
  • these interfaces will only work on Vista.
  • Defined
  • Tested
  • See Interfaces.txt for the current list of tested interfaces.
  • Not all of the Vista interfaces can be tested, but we have tested the ones for which we have
  • hardware. The others are included as untested.
  • We have added the System.Security.SuppressUnmanagedCodeSecurity attribute to the interfaces
  • as well. This tends to improve performance in interfaces that are called frequently (ie many
  • times a second). No code change should be required.
  • We have also corrected problems related 64 bit support. Primarily fixing "pack" problems on
  • structures, but a few interfaces have been changed to support 64 bit. Primarily changing
  • parameters from int to IntPtr. This will require code changes where you are using them, but
  • the changes are relatively obvious, and are easily located with a re-compile.
  • IMediaEventSink
  • IMediaEvent
  • IDVDInfo2
  • IVideoWindow
  • IMediaEvent
  • IMediaEventEx
  • We have also changed all the IEnumXXX interfaces so that param 3 is an IntPtr rather than
  • an "out int." This is consistent with Microsoft's implementations, and absolutely essential
  • for cases where someone needs to *implement* the method, rather than just call it. The places
  • we have made changes are easily located with a re-compile. If you are using any of these methods,
  • here's what you'll need to change:
  • If you are *not* using the value returned by the 3rd parameter, simply replace it with
  • IntPtr.Zero.
  • If you *are* using the value returned by the 3rd parameter, you'll need something like this:
  • IntPtr p = Marshal.AllocCoTaskMem(4);
  • try
  • hr = em.Next(monikers.Length, monikers, p);
  • DsError.ThrowExceptionForHR(hr);
  • x = Marshal.ReadInt32(p);
  • finally
  • Marshal.FreeCoTaskMem(p);
  • We have also removed a few duplicate definitions. If you were using one of these and we deleted
  • the one you were using, you'll need to use the other one. The compiler will complain about the
  • missing definition in your next re-compile.
  • AtscFilterOptions & ATSCFilterOptions
  • DsmccFilterOptions & DSMCCFilterOptions
  • MpegPacketList & MPEGPacketList
  • MpegRequestType & MPEGRequestType
  • Mpeg2Filter & MPEG2Filter
  • MpegWinsock & MPEGWinsock
  • MpegBcsDemux & BCSDeMux
  • MpegContext & MPEGContext
  • MpegStreamBuffer & MPEGStreamBuffer
  • We have also dropped support for VS2003. Since VS2005 has been out for 2 years now (and is
  • available for free!), it doesn't seem worth the effort to put time into keeping the vs2003 stuff
  • active. We haven't (to our knowledge) done anything to the library that will prevent it from working
  • with 2003, but since none of the dev team still has it installed, we haven't tried it. If you are
  • still using vs2003, you can check the cvs tree at sourceforge for the old .csproj and .sln files.
  • And that's about it. Now that MS has stopped development on DirectShow, we may call this library
  • done. Barring bug fixes, of course.

New in DirectShow .NET 1.5 (Dec 10, 2011)

  • In addition to testing an additional 20 interfaces, we have also updated the existing
  • definitions to enable c# code to *implement* these interfaces (instead of just calling them).
  • This also fixes a fairly messy problem that could occur if you attempted to run regasm
  • against the DirectShowLib.dll.
  • Defined
  • Tested
  • Deprecated & undocumented
  • Are untestable due to hw constraints (no filters implement)
  • Are untestable due to DS bugs
  • Are untestable due to various other reasons

New in DirectShow .NET 1.4 (Dec 10, 2011)

  • I didn't think we'd be doing another release quite so soon. No, it isn't because we found
  • bugs. We decided to rebuild the library and samples under vs2005. We have added a solution
  • and csproj file to the library and each of the samples so that you can compile them under
  • either vs2003 or vs2005.
  • Well, all right, we found 1 bug: MPEG1WaveFormat was declared as a struct, and should have been
  • a class. After nearly 12,000 downloads, this is only the 5th bug found in the library. Not bad.
  • Further, we have split the samples off in to a separate download. Now that the library is
  • "finished", it doesn't make sense to tie the release of samples to the release of the library.
  • See the Samples package for a description of new samples.

New in DirectShow .NET 1.3 (Dec 10, 2011)

  • Note: As of this release, there are no more interfaces to be tested in DirectShow v9.0c. So,
  • until Microsoft releases a new version of DS (or until bugs are found in the existing library),
  • no more releases of this library are planned.
  • However, additional samples, and "sister" libraries (DirectDraw, Windows Media Format, etc)
  • are being discussed. There has also been talk of wrapping these low-level interfaces into
  • classes and making a true DirectShow Class library. We'll see.
  • more interfaces tested.
  • Defined
  • Tested
  • Deprecated & undocumented
  • Others not scheduled to be tested
  • left to be tested (Yipee!!!!!!!)
  • See Interfaces.txt for the current list of tested interfaces.
  • new samples have been added.
  • Samples:
  • Samples\BDA\DVViewer
  • Samples\Misc\Toolkit
  • Samples\VMR9\VMR9Allocator2

New in DirectShow .NET 1.2 (Dec 10, 2011)

  • more interfaces tested.
  • Defined
  • Tested
  • Deprecated & undocumented
  • Others not scheduled to be tested
  • left to be tested
  • See Interfaces.txt for the current list of tested interfaces.
  • new samples have been added.
  • Samples:
  • Samples\DMO\DMOFlip
  • Samples\DMO\DMOSplit
  • Samples\Editing\DESCombine
  • Samples\SBE\DvrMsCutter

New in DirectShow .NET 1.1 (Dec 10, 2011)

  • more interfaces tested, 61 new (untested) interfaces defined including DES & Streaming
  • Defined
  • Tested
  • Deprecated & undocumented
  • Others not scheduled to be tested
  • left to be tested
  • See Interfaces.txt for the current list of tested interfaces.
  • new samples have been added.
  • Samples:
  • Capture\CapWMV
  • Capture\DxPropPages
  • Capture\DxTuner
  • Players\DVDPlay
  • VMR9\VMR9Allocator
  • VMR9\BitmapMixer