SJM
14th April 2009, 06:38
I am unable to play AviSynth scripts on 64 Vista with directshow.
I am using the playback code from the SourceForge sample code, Dxtext, to play videos.
The following avisynth script does not play with this code on 64 bit Vista:
DirectShowSource("C:\\test.avi")
separateFields
I receive the exception:
Could not get interfaces,
System.Runtime.InteropServices.COmException(0x80040154): Class not registered.
The offending code is:
hr = filterGraph.AddSourceFilter(clipFile, "Ds.NET FileFilter", out capFilter);
The code runs successfully when I play the "test.avi" file without the avisynth script on 64 bit Vista.
The code plays the script successfully on 32 bit Vista.
I can play the script with GraphEdit and Window Media Player on 64 bit Vista, so I assume that I have the correct version of avisynth and it is registered.
I am using:
avisynth version 2.5.8
DirectShowLib-2005.dll, version 2.0.0, runtime version v2.0.50727, dated 7/9/2007
I am using Visual C# 2008 Express Edition to compile. There is no compile option for 64 or 32 bit code with the Express Edition. The compiled code runs on 32 bit systems, so I assume that it is compiling 32 bit code.
I am not very familiar with DirectShow or AviSynth. Could it be that I am leaving out a reference or "using" statement?
I appreciate any help you can give me. Thank you.
I am using the playback code from the SourceForge sample code, Dxtext, to play videos.
The following avisynth script does not play with this code on 64 bit Vista:
DirectShowSource("C:\\test.avi")
separateFields
I receive the exception:
Could not get interfaces,
System.Runtime.InteropServices.COmException(0x80040154): Class not registered.
The offending code is:
hr = filterGraph.AddSourceFilter(clipFile, "Ds.NET FileFilter", out capFilter);
The code runs successfully when I play the "test.avi" file without the avisynth script on 64 bit Vista.
The code plays the script successfully on 32 bit Vista.
I can play the script with GraphEdit and Window Media Player on 64 bit Vista, so I assume that I have the correct version of avisynth and it is registered.
I am using:
avisynth version 2.5.8
DirectShowLib-2005.dll, version 2.0.0, runtime version v2.0.50727, dated 7/9/2007
I am using Visual C# 2008 Express Edition to compile. There is no compile option for 64 or 32 bit code with the Express Edition. The compiled code runs on 32 bit systems, so I assume that it is compiling 32 bit code.
I am not very familiar with DirectShow or AviSynth. Could it be that I am leaving out a reference or "using" statement?
I appreciate any help you can give me. Thank you.