Related libraries can be found at:
v 2.1 - Upgrade with support for W7 interfaces (2010-02-21)
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
v 2.0 - 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.
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.
DirectShowNet Library 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 by MS
20 Are untestable due to hw constraints (no filters implement)
10 Are untestable due to DS bugs
48 Are untestable due to various other reasons
See Interfaces.txt for the current list of tested interfaces.
DirectShowNet Library v 1.4 - Minor upgrade (2006-04-12)
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.
1 bug fixed: 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.
DirectShow Samples April 2006 (2006-04-12)
One new sample has been added: The GSSF sample is a way to implement a source filter
in c#. If you have samples (for example video frames from bitmap files) that you
want to use as a source in a graph, this filter will show you how.
Version 1.3 Release (03/18/2006)
63 more interfaces tested, including all remaining (testable) interfaces in DirectShow
9.0c. We have also added 3 new samples:
Samples\BDA\DTViewer - use BDA to display Digital TV into a Windows Form.
Samples\VMR9\VMR9Allocator2 - an alternative to the DirectShow VMR9Allocator program.
Samples\Misc\Toolkit - A collection of useful utilities.
Since all the existing DS interfaces are tested, no more releases of this library
are planned until Microsoft releases a new version (or until bugs are found in the
existing library).
Version 1.2 Release (11/06/2005)
Version 1.2 has tested interfaces for DES, DMO, and BDA.
The DES interfaces allow for the editing of multimedia files: resizing, changing
framerate, taking chunks of file A and combining them with file B, etc.
DMO allows developers to write their own filters (with some limitations).
BDA (standing for Broadcast Driver Architecture) is the cornerstone of
Microsoft TV Technologies which is useful for developers who want to write
Digital TV applications (from cable, satellite dish or roof antenna). It can easily
be linked to SBE technology for time-shifting and recording features.
Four new samples have been added. Two samples showing how to write DMOs, 1 sample
showing editing with DES, and 1 sample for editing dvr-ms files (SBE).
Version 1.1 Released! (8/29/2005)
Version 1.1 has tested interfaces for the Video Mixing Render (VMR), the Stream
Buffer Engine (SBE), and a handful of other interfaces. We have also added
definitions (currently as untested) for DirectShow Editing Services (DES)
& streaming. New samples for using tv tuners, video compression, VMR,
and DVDs are included.
Work has begun on version 1.2. If you are interested in helping out, please
drop one of the project admins an email.
|