-----------------------------------------------------------------
v 2.1 - Upgrade with support for W7 interfaces (2010-02-21)

   541 Defined
   304 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%28VS.85%29.aspx

These interfaces are defined in the library, but most of them are untested.

-----------------------------------------------------------------
v 2.1 - Upgrade with breaking changes (2007-07-15)

In this release, we added the new interfaces introduced into DirectShow in Vista.  Obviously
these interfaces will only work on Vista.

   432 Defined
   283 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.


-----------------------------------------------------------------
v 1.5 - Minor upgrade (2006-08-02)

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.

361 Defined
250 Tested
 33 Deprecated & undocumented
 20 Are untestable due to hw constraints (no filters implement)
 27 Are untestable due to DS bugs
 31 Are untestable due to various other reasons


See Interfaces.txt for the current list of tested interfaces.



v 1.4 - Minor upgrade (2006-04-12)

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.

-----------------------------------------------------------------
V 1.3 - Minor upgrade (2006-03-16)

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.

63 more interfaces tested.

359 Defined
230 Tested
 38 Deprecated & undocumented
 86 Others not scheduled to be tested
---
  0 left to be tested (Yipee!!!!!!!)

See Interfaces.txt for the current list of tested interfaces.

3 new samples have been added.

Samples:

Samples\BDA\DVViewer
Samples\Misc\Toolkit
Samples\VMR9\VMR9Allocator2

See Docs\readme.rtf and the readme.txt in each project for details of what these samples show.

-----------------------------------------------------------------
V 1.2 - Minor upgrade (2005-11-06)

52 more interfaces tested.

359 Defined
167 Tested
 35 Deprecated & undocumented
 67 Others not scheduled to be tested
---
 90 left to be tested

See Interfaces.txt for the current list of tested interfaces.

4 new samples have been added.

Samples:

Samples\DMO\DMOFlip
Samples\DMO\DMOSplit
Samples\Editing\DESCombine
Samples\SBE\DvrMsCutter

See readme.rtf and the readme.txt in each project for details of what these samples show.

-----------------------------------------------------------------
V 1.1 - Minor upgrade (2005-08-29)

54 more interfaces tested, 61 new (untested) interfaces defined including DES & Streaming

359 Defined
114 Tested
 37 Deprecated & undocumented
 52 Others not scheduled to be tested
---
156 left to be tested

See Interfaces.txt for the current list of tested interfaces.

6 new samples have been added.

Samples: 

   Capture\CapWMV
   Capture\DxPropPages
   Capture\DxTuner
   Players\DVDPlay
   VMR9\VMR9Allocator
   VMR9\BitmapMixer

See readme.rtf and the readme.txt in each project for details of what these samples show.

Capture\DxSnap was improved to work with more hardware types.


-----------------------------------------------------------------
V 1.0 Original release (2005-07-03)


297 Interfaces defined
60 Interfaces tested 

9 Samples