From: <yk...@us...> - 2008-02-16 21:53:13
|
Revision: 1380 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=1380&view=rev Author: ykamchi Date: 2008-02-16 13:53:03 -0800 (Sat, 16 Feb 2008) Log Message: ----------- Enable streaming sharing between computers. Mainly designed for webcamera sharring Added Paths: ----------- trunk/plugins/StreamingServer/ trunk/plugins/StreamingServer/DShowNET/ trunk/plugins/StreamingServer/DShowNET/AssemblyInfo.cs trunk/plugins/StreamingServer/DShowNET/DShowNET.csproj trunk/plugins/StreamingServer/DShowNET/DShowNET.csproj.user trunk/plugins/StreamingServer/DShowNET/DShowNET.sln trunk/plugins/StreamingServer/DShowNET/DShowNET.suo trunk/plugins/StreamingServer/DShowNET/DsBugWO.cs trunk/plugins/StreamingServer/DShowNET/DsControl.cs trunk/plugins/StreamingServer/DShowNET/DsCore.cs trunk/plugins/StreamingServer/DShowNET/DsDVD.cs trunk/plugins/StreamingServer/DShowNET/DsDevice.cs trunk/plugins/StreamingServer/DShowNET/DsExtend.cs trunk/plugins/StreamingServer/DShowNET/DsUtils.cs trunk/plugins/StreamingServer/DShowNET/DsUuids.cs trunk/plugins/StreamingServer/DShowNET/DsVmRender.cs trunk/plugins/StreamingServer/DShowNET/DsVmr9.cs trunk/plugins/StreamingServer/DShowNET/QEdit.cs trunk/plugins/StreamingServer/DShowNET/bin/ trunk/plugins/StreamingServer/DShowNET/bin/Debug/ trunk/plugins/StreamingServer/DShowNET/bin/Release/ trunk/plugins/StreamingServer/DShowNET/obj/ trunk/plugins/StreamingServer/DShowNET/obj/Debug/ trunk/plugins/StreamingServer/DShowNET/obj/Debug/DShowNET.csproj.FileListAbsolute.txt trunk/plugins/StreamingServer/DShowNET/obj/Debug/DShowNET.dll trunk/plugins/StreamingServer/DShowNET/obj/Debug/DShowNET.pdb trunk/plugins/StreamingServer/DShowNET/obj/Debug/Refactor/ trunk/plugins/StreamingServer/DShowNET/obj/Debug/Refactor/DShowNET.dll trunk/plugins/StreamingServer/DShowNET/obj/Debug/TempPE/ trunk/plugins/StreamingServer/DShowNET/obj/Release/ trunk/plugins/StreamingServer/DShowNET/obj/Release/DShowNET.csproj.FileListAbsolute.txt trunk/plugins/StreamingServer/DShowNET/obj/Release/DShowNET.dll trunk/plugins/StreamingServer/DShowNET/obj/Release/TempPE/ trunk/plugins/StreamingServer/DirectX.Capture/ trunk/plugins/StreamingServer/DirectX.Capture/AssemblyInfo.cs trunk/plugins/StreamingServer/DirectX.Capture/AudioCapabilities.cs trunk/plugins/StreamingServer/DirectX.Capture/AudioSource.cs trunk/plugins/StreamingServer/DirectX.Capture/Capture.cs trunk/plugins/StreamingServer/DirectX.Capture/CrossbarSource.cs trunk/plugins/StreamingServer/DirectX.Capture/DeviceInUseException.cs trunk/plugins/StreamingServer/DirectX.Capture/DirectShowPropertyPage.cs trunk/plugins/StreamingServer/DirectX.Capture/DirectX.Capture.csproj trunk/plugins/StreamingServer/DirectX.Capture/DirectX.Capture.csproj.user trunk/plugins/StreamingServer/DirectX.Capture/DirectX.Capture.xml trunk/plugins/StreamingServer/DirectX.Capture/Filter.cs trunk/plugins/StreamingServer/DirectX.Capture/FilterCollection.cs trunk/plugins/StreamingServer/DirectX.Capture/Filters.cs trunk/plugins/StreamingServer/DirectX.Capture/PropertyPage.cs trunk/plugins/StreamingServer/DirectX.Capture/PropertyPageCollection.cs trunk/plugins/StreamingServer/DirectX.Capture/Source.cs trunk/plugins/StreamingServer/DirectX.Capture/SourceCollection.cs trunk/plugins/StreamingServer/DirectX.Capture/Tuner.cs trunk/plugins/StreamingServer/DirectX.Capture/VfwCompressorPropertyPage.cs trunk/plugins/StreamingServer/DirectX.Capture/VideoCapabilities.cs trunk/plugins/StreamingServer/DirectX.Capture/bin/ trunk/plugins/StreamingServer/DirectX.Capture/bin/Debug/ trunk/plugins/StreamingServer/DirectX.Capture/bin/Release/ trunk/plugins/StreamingServer/DirectX.Capture/obj/ trunk/plugins/StreamingServer/DirectX.Capture/obj/Debug/ trunk/plugins/StreamingServer/DirectX.Capture/obj/Debug/DirectX.Capture.csproj.FileListAbsolute.txt trunk/plugins/StreamingServer/DirectX.Capture/obj/Debug/DirectX.Capture.dll trunk/plugins/StreamingServer/DirectX.Capture/obj/Debug/DirectX.Capture.pdb trunk/plugins/StreamingServer/DirectX.Capture/obj/Debug/Refactor/ trunk/plugins/StreamingServer/DirectX.Capture/obj/Debug/Refactor/DirectX.Capture.dll trunk/plugins/StreamingServer/DirectX.Capture/obj/Debug/ResolveAssemblyReference.cache trunk/plugins/StreamingServer/DirectX.Capture/obj/Debug/TempPE/ trunk/plugins/StreamingServer/DirectX.Capture/obj/Release/ trunk/plugins/StreamingServer/DirectX.Capture/obj/Release/DirectX.Capture.csproj.FileListAbsolute.txt trunk/plugins/StreamingServer/DirectX.Capture/obj/Release/DirectX.Capture.dll trunk/plugins/StreamingServer/DirectX.Capture/obj/Release/ResolveAssemblyReference.cache trunk/plugins/StreamingServer/DirectX.Capture/obj/Release/TempPE/ trunk/plugins/StreamingServer/StreamingClient/ trunk/plugins/StreamingServer/StreamingClient/Properties/ trunk/plugins/StreamingServer/StreamingClient/Properties/AssemblyInfo.cs trunk/plugins/StreamingServer/StreamingClient/StreamingClient.cs trunk/plugins/StreamingServer/StreamingClient/StreamingClient.csproj trunk/plugins/StreamingServer/StreamingClient/StreamingClientConfiguration.Designer.cs trunk/plugins/StreamingServer/StreamingClient/StreamingClientConfiguration.cs trunk/plugins/StreamingServer/StreamingClient/StreamingClientConfiguration.resx trunk/plugins/StreamingServer/StreamingClient/StreamingUtils.cs trunk/plugins/StreamingServer/StreamingClient/bin/ trunk/plugins/StreamingServer/StreamingClient/bin/Debug/ trunk/plugins/StreamingServer/StreamingClient/myStreamingClient.xml trunk/plugins/StreamingServer/StreamingClient/obj/ trunk/plugins/StreamingServer/StreamingClient/obj/Debug/ trunk/plugins/StreamingServer/StreamingClient/obj/Debug/Interop.DirectShowStreamLib.dll trunk/plugins/StreamingServer/StreamingClient/obj/Debug/Refactor/ trunk/plugins/StreamingServer/StreamingClient/obj/Debug/StreamingClient.csproj.FileListAbsolute.txt trunk/plugins/StreamingServer/StreamingClient/obj/Debug/StreamingClient.csproj.GenerateResource.Cache trunk/plugins/StreamingServer/StreamingClient/obj/Debug/StreamingClient.csproj.ResolveComReference.cache trunk/plugins/StreamingServer/StreamingClient/obj/Debug/StreamingClient.dll trunk/plugins/StreamingServer/StreamingClient/obj/Debug/StreamingClient.pdb trunk/plugins/StreamingServer/StreamingClient/obj/Debug/StreamingServer.WindowPlugin.StreamingClientConfiguration.resources trunk/plugins/StreamingServer/StreamingClient/obj/Debug/TempPE/ trunk/plugins/StreamingServer/StreamingClient/obj/Debug/WindowPlugin.csproj.FileListAbsolute.txt trunk/plugins/StreamingServer/StreamingServer/ trunk/plugins/StreamingServer/StreamingServer/Program.cs trunk/plugins/StreamingServer/StreamingServer/ProjectInstaller.Designer.cs trunk/plugins/StreamingServer/StreamingServer/ProjectInstaller.cs trunk/plugins/StreamingServer/StreamingServer/ProjectInstaller.resx trunk/plugins/StreamingServer/StreamingServer/Properties/ trunk/plugins/StreamingServer/StreamingServer/Properties/AssemblyInfo.cs trunk/plugins/StreamingServer/StreamingServer/Service References/ trunk/plugins/StreamingServer/StreamingServer/StreamingServer.csproj trunk/plugins/StreamingServer/StreamingServer/StreamingServer.csproj.user trunk/plugins/StreamingServer/StreamingServer/StreamingServer.suo trunk/plugins/StreamingServer/StreamingServer/StreamingService.Designer.cs trunk/plugins/StreamingServer/StreamingServer/StreamingService.cs trunk/plugins/StreamingServer/StreamingServer/bin/ trunk/plugins/StreamingServer/StreamingServer/bin/Debug/ trunk/plugins/StreamingServer/StreamingServer/obj/ trunk/plugins/StreamingServer/StreamingServer/obj/Debug/ trunk/plugins/StreamingServer/StreamingServer/obj/Debug/Refactor/ trunk/plugins/StreamingServer/StreamingServer/obj/Debug/ResolveAssemblyReference.cache trunk/plugins/StreamingServer/StreamingServer/obj/Debug/StreamingServer.ProjectInstaller.resources trunk/plugins/StreamingServer/StreamingServer/obj/Debug/StreamingServer.csproj.FileListAbsolute.txt trunk/plugins/StreamingServer/StreamingServer/obj/Debug/StreamingServer.csproj.GenerateResource.Cache trunk/plugins/StreamingServer/StreamingServer/obj/Debug/StreamingServer.exe trunk/plugins/StreamingServer/StreamingServer/obj/Debug/StreamingServer.pdb trunk/plugins/StreamingServer/StreamingServer/obj/Debug/TempPE/ trunk/plugins/StreamingServer/StreamingServer.sln trunk/plugins/StreamingServer/StreamingServer.suo trunk/plugins/StreamingServer/StreamingServerConfiguration/ trunk/plugins/StreamingServer/StreamingServerConfiguration/Configuration.Designer.cs trunk/plugins/StreamingServer/StreamingServerConfiguration/Configuration.cs trunk/plugins/StreamingServer/StreamingServerConfiguration/Configuration.resx trunk/plugins/StreamingServer/StreamingServerConfiguration/Film.ico trunk/plugins/StreamingServer/StreamingServerConfiguration/Program.cs trunk/plugins/StreamingServer/StreamingServerConfiguration/Properties/ trunk/plugins/StreamingServer/StreamingServerConfiguration/Properties/AssemblyInfo.cs trunk/plugins/StreamingServer/StreamingServerConfiguration/Properties/Resources.Designer.cs trunk/plugins/StreamingServer/StreamingServerConfiguration/Properties/Resources.resx trunk/plugins/StreamingServer/StreamingServerConfiguration/Properties/Settings.Designer.cs trunk/plugins/StreamingServer/StreamingServerConfiguration/Properties/Settings.settings trunk/plugins/StreamingServer/StreamingServerConfiguration/StreamingServerConfiguration.csproj trunk/plugins/StreamingServer/StreamingServerConfiguration/VlcWrapperForm.Designer.cs trunk/plugins/StreamingServer/StreamingServerConfiguration/VlcWrapperForm.cs trunk/plugins/StreamingServer/StreamingServerConfiguration/VlcWrapperForm.resx trunk/plugins/StreamingServer/StreamingServerConfiguration/bin/ trunk/plugins/StreamingServer/StreamingServerConfiguration/bin/Debug/ trunk/plugins/StreamingServer/StreamingServerConfiguration/obj/ trunk/plugins/StreamingServer/StreamingServerConfiguration/obj/Debug/ trunk/plugins/StreamingServer/StreamingServerConfiguration/obj/Debug/Interop.WIAACMGRLib.dll trunk/plugins/StreamingServer/StreamingServerConfiguration/obj/Debug/Interop.WIAVIDEOLib.dll trunk/plugins/StreamingServer/StreamingServerConfiguration/obj/Debug/Interop.WIAVIEWLib.dll trunk/plugins/StreamingServer/StreamingServerConfiguration/obj/Debug/Refactor/ trunk/plugins/StreamingServer/StreamingServerConfiguration/obj/Debug/ResolveAssemblyReference.cache trunk/plugins/StreamingServer/StreamingServerConfiguration/obj/Debug/StreamingServerConfiguration.Configuration.resources trunk/plugins/StreamingServer/StreamingServerConfiguration/obj/Debug/StreamingServerConfiguration.Properties.Resources.resources trunk/plugins/StreamingServer/StreamingServerConfiguration/obj/Debug/StreamingServerConfiguration.VlcWrapperForm.resources trunk/plugins/StreamingServer/StreamingServerConfiguration/obj/Debug/StreamingServerConfiguration.csproj.FileListAbsolute.txt trunk/plugins/StreamingServer/StreamingServerConfiguration/obj/Debug/StreamingServerConfiguration.csproj.GenerateResource.Cache trunk/plugins/StreamingServer/StreamingServerConfiguration/obj/Debug/StreamingServerConfiguration.csproj.ResolveComReference.cache trunk/plugins/StreamingServer/StreamingServerConfiguration/obj/Debug/StreamingServerConfiguration.exe trunk/plugins/StreamingServer/StreamingServerConfiguration/obj/Debug/StreamingServerConfiguration.pdb trunk/plugins/StreamingServer/StreamingServerConfiguration/obj/Debug/TempPE/ trunk/plugins/StreamingServer/StreamingServerSetup/ trunk/plugins/StreamingServer/StreamingServerSetup/Debug/ trunk/plugins/StreamingServer/StreamingServerSetup/Release/ trunk/plugins/StreamingServer/StreamingServerSetup/StreamingServerSetup.vdproj trunk/plugins/StreamingServer/StreamingServerUtils/ trunk/plugins/StreamingServer/StreamingServerUtils/Properties/ trunk/plugins/StreamingServer/StreamingServerUtils/Properties/AssemblyInfo.cs trunk/plugins/StreamingServer/StreamingServerUtils/SettingsUtils.cs trunk/plugins/StreamingServer/StreamingServerUtils/StreamingServerUtils.csproj trunk/plugins/StreamingServer/StreamingServerUtils/bin/ trunk/plugins/StreamingServer/StreamingServerUtils/bin/Debug/ trunk/plugins/StreamingServer/StreamingServerUtils/obj/ trunk/plugins/StreamingServer/StreamingServerUtils/obj/Debug/ trunk/plugins/StreamingServer/StreamingServerUtils/obj/Debug/Refactor/ trunk/plugins/StreamingServer/StreamingServerUtils/obj/Debug/Refactor/StreamingServerUtils.dll trunk/plugins/StreamingServer/StreamingServerUtils/obj/Debug/ResolveAssemblyReference.cache trunk/plugins/StreamingServer/StreamingServerUtils/obj/Debug/StreamingServerUtils.csproj.FileListAbsolute.txt trunk/plugins/StreamingServer/StreamingServerUtils/obj/Debug/StreamingServerUtils.dll trunk/plugins/StreamingServer/StreamingServerUtils/obj/Debug/StreamingServerUtils.pdb trunk/plugins/StreamingServer/StreamingServerUtils/obj/Debug/TempPE/ trunk/plugins/StreamingServer/VlcWrapper/ trunk/plugins/StreamingServer/VlcWrapper/LibVlcSupport.cs trunk/plugins/StreamingServer/VlcWrapper/Properties/ trunk/plugins/StreamingServer/VlcWrapper/Properties/AssemblyInfo.cs trunk/plugins/StreamingServer/VlcWrapper/VlcWrapper.cs trunk/plugins/StreamingServer/VlcWrapper/VlcWrapper.csproj trunk/plugins/StreamingServer/VlcWrapper/bin/ trunk/plugins/StreamingServer/VlcWrapper/bin/Debug/ trunk/plugins/StreamingServer/VlcWrapper/obj/ trunk/plugins/StreamingServer/VlcWrapper/obj/Debug/ trunk/plugins/StreamingServer/VlcWrapper/obj/Debug/Refactor/ trunk/plugins/StreamingServer/VlcWrapper/obj/Debug/Refactor/VlcWrapper.dll trunk/plugins/StreamingServer/VlcWrapper/obj/Debug/TempPE/ trunk/plugins/StreamingServer/VlcWrapper/obj/Debug/VlcWrapper.csproj.FileListAbsolute.txt trunk/plugins/StreamingServer/VlcWrapper/obj/Debug/VlcWrapper.dll trunk/plugins/StreamingServer/VlcWrapper/obj/Debug/VlcWrapper.pdb Added: trunk/plugins/StreamingServer/DShowNET/AssemblyInfo.cs =================================================================== --- trunk/plugins/StreamingServer/DShowNET/AssemblyInfo.cs (rev 0) +++ trunk/plugins/StreamingServer/DShowNET/AssemblyInfo.cs 2008-02-16 21:53:03 UTC (rev 1380) @@ -0,0 +1,58 @@ +using System.Reflection; +using System.Runtime.CompilerServices; + +// +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +// +[assembly: AssemblyTitle("DShowNET")] +[assembly: AssemblyDescription("DirectShow for .NET")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("net...@sw...")] +[assembly: AssemblyProduct("DirectShow.NET")] +[assembly: AssemblyCopyright("everybody")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: + +[assembly: AssemblyVersion("1.0.0.1")] + +// +// In order to sign your assembly you must specify a key to use. Refer to the +// Microsoft .NET Framework documentation for more information on assembly signing. +// +// Use the attributes below to control which key is used for signing. +// +// Notes: +// (*) If no key is specified, the assembly is not signed. +// (*) KeyName refers to a key that has been installed in the Crypto Service +// Provider (CSP) on your machine. KeyFile refers to a file which contains +// a key. +// (*) If the KeyFile and the KeyName values are both specified, the +// following processing occurs: +// (1) If the KeyName can be found in the CSP, that key is used. +// (2) If the KeyName does not exist and the KeyFile does exist, the key +// in the KeyFile is installed into the CSP and used. +// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility. +// When specifying the KeyFile, the location of the KeyFile should be +// relative to the project output directory which is +// %Project Directory%\obj\<configuration>. For example, if your KeyFile is +// located in the project directory, you would specify the AssemblyKeyFile +// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")] +// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework +// documentation for more information on this. +// +[assembly: AssemblyDelaySign(false)] +[assembly: AssemblyKeyFile("")] +[assembly: AssemblyKeyName("")] Added: trunk/plugins/StreamingServer/DShowNET/DShowNET.csproj =================================================================== --- trunk/plugins/StreamingServer/DShowNET/DShowNET.csproj (rev 0) +++ trunk/plugins/StreamingServer/DShowNET/DShowNET.csproj 2008-02-16 21:53:03 UTC (rev 1380) @@ -0,0 +1,129 @@ +<Project DefaultTargets="Build" ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <ProjectType>Local</ProjectType> + <ProductVersion>8.0.21022</ProductVersion> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{CE009BFA-5EF6-4153-B2A1-2FA79698A9AE}</ProjectGuid> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ApplicationIcon> + </ApplicationIcon> + <AssemblyKeyContainerName> + </AssemblyKeyContainerName> + <AssemblyName>DShowNET</AssemblyName> + <AssemblyOriginatorKeyFile> + </AssemblyOriginatorKeyFile> + <DefaultClientScript>JScript</DefaultClientScript> + <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout> + <DefaultTargetSchema>IE50</DefaultTargetSchema> + <DelaySign>false</DelaySign> + <OutputType>Library</OutputType> + <RootNamespace>DShowNET</RootNamespace> + <StartupObject> + </StartupObject> + <FileUpgradeFlags> + </FileUpgradeFlags> + <OldToolsVersion>0.0</OldToolsVersion> + <UpgradeBackupLocation> + </UpgradeBackupLocation> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <OutputPath>bin\Debug\</OutputPath> + <AllowUnsafeBlocks>false</AllowUnsafeBlocks> + <BaseAddress>285212672</BaseAddress> + <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow> + <ConfigurationOverrideFile> + </ConfigurationOverrideFile> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <DocumentationFile> + </DocumentationFile> + <DebugSymbols>true</DebugSymbols> + <FileAlignment>4096</FileAlignment> + <Optimize>false</Optimize> + <RegisterForComInterop>false</RegisterForComInterop> + <RemoveIntegerChecks>false</RemoveIntegerChecks> + <TreatWarningsAsErrors>false</TreatWarningsAsErrors> + <WarningLevel>4</WarningLevel> + <DebugType>full</DebugType> + <ErrorReport>prompt</ErrorReport> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <OutputPath>bin\Release\</OutputPath> + <AllowUnsafeBlocks>false</AllowUnsafeBlocks> + <BaseAddress>285212672</BaseAddress> + <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow> + <ConfigurationOverrideFile> + </ConfigurationOverrideFile> + <DefineConstants>TRACE</DefineConstants> + <DocumentationFile> + </DocumentationFile> + <DebugSymbols>false</DebugSymbols> + <FileAlignment>4096</FileAlignment> + <Optimize>true</Optimize> + <RegisterForComInterop>false</RegisterForComInterop> + <RemoveIntegerChecks>false</RemoveIntegerChecks> + <TreatWarningsAsErrors>false</TreatWarningsAsErrors> + <WarningLevel>4</WarningLevel> + <DebugType>none</DebugType> + <ErrorReport>prompt</ErrorReport> + </PropertyGroup> + <ItemGroup> + <Reference Include="System"> + <Name>System</Name> + </Reference> + <Reference Include="System.Data"> + <Name>System.Data</Name> + </Reference> + <Reference Include="System.Drawing"> + <Name>System.Drawing</Name> + </Reference> + <Reference Include="System.Xml"> + <Name>System.XML</Name> + </Reference> + </ItemGroup> + <ItemGroup> + <Compile Include="AssemblyInfo.cs"> + <SubType>Code</SubType> + </Compile> + <Compile Include="DsBugWO.cs"> + <SubType>Code</SubType> + </Compile> + <Compile Include="DsControl.cs"> + <SubType>Code</SubType> + </Compile> + <Compile Include="DsCore.cs"> + <SubType>Code</SubType> + </Compile> + <Compile Include="DsDevice.cs"> + <SubType>Code</SubType> + </Compile> + <Compile Include="DsDVD.cs"> + <SubType>Code</SubType> + </Compile> + <Compile Include="DsExtend.cs"> + <SubType>Code</SubType> + </Compile> + <Compile Include="DsUtils.cs"> + <SubType>Code</SubType> + </Compile> + <Compile Include="DsUuids.cs"> + <SubType>Code</SubType> + </Compile> + <Compile Include="DsVmr9.cs"> + <SubType>Code</SubType> + </Compile> + <Compile Include="DsVmRender.cs"> + <SubType>Code</SubType> + </Compile> + <Compile Include="QEdit.cs"> + <SubType>Code</SubType> + </Compile> + </ItemGroup> + <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> + <PropertyGroup> + <PreBuildEvent> + </PreBuildEvent> + <PostBuildEvent> + </PostBuildEvent> + </PropertyGroup> +</Project> \ No newline at end of file Added: trunk/plugins/StreamingServer/DShowNET/DShowNET.csproj.user =================================================================== --- trunk/plugins/StreamingServer/DShowNET/DShowNET.csproj.user (rev 0) +++ trunk/plugins/StreamingServer/DShowNET/DShowNET.csproj.user 2008-02-16 21:53:03 UTC (rev 1380) @@ -0,0 +1,57 @@ +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ReferencePath> + </ReferencePath> + <CopyProjectDestinationFolder> + </CopyProjectDestinationFolder> + <CopyProjectUncPath> + </CopyProjectUncPath> + <CopyProjectOption>0</CopyProjectOption> + <ProjectView>ProjectFiles</ProjectView> + <ProjectTrust>0</ProjectTrust> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <EnableASPDebugging>false</EnableASPDebugging> + <EnableASPXDebugging>false</EnableASPXDebugging> + <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging> + <EnableSQLServerDebugging>false</EnableSQLServerDebugging> + <RemoteDebugEnabled>false</RemoteDebugEnabled> + <RemoteDebugMachine> + </RemoteDebugMachine> + <StartAction>Project</StartAction> + <StartArguments> + </StartArguments> + <StartPage> + </StartPage> + <StartProgram> + </StartProgram> + <StartURL> + </StartURL> + <StartWorkingDirectory> + </StartWorkingDirectory> + <StartWithIE>false</StartWithIE> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <EnableASPDebugging>false</EnableASPDebugging> + <EnableASPXDebugging>false</EnableASPXDebugging> + <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging> + <EnableSQLServerDebugging>false</EnableSQLServerDebugging> + <RemoteDebugEnabled>false</RemoteDebugEnabled> + <RemoteDebugMachine> + </RemoteDebugMachine> + <StartAction>Project</StartAction> + <StartArguments> + </StartArguments> + <StartPage> + </StartPage> + <StartProgram> + </StartProgram> + <StartURL> + </StartURL> + <StartWorkingDirectory> + </StartWorkingDirectory> + <StartWithIE>true</StartWithIE> + </PropertyGroup> +</Project> \ No newline at end of file Added: trunk/plugins/StreamingServer/DShowNET/DShowNET.sln =================================================================== --- trunk/plugins/StreamingServer/DShowNET/DShowNET.sln (rev 0) +++ trunk/plugins/StreamingServer/DShowNET/DShowNET.sln 2008-02-16 21:53:03 UTC (rev 1380) @@ -0,0 +1,21 @@ +Microsoft Visual Studio Solution File, Format Version 7.00 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DShowNET", "DShowNET.csproj", "{CE009BFA-5EF6-4153-B2A1-2FA79698A9AE}" +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + ConfigName.0 = Debug + ConfigName.1 = Release + EndGlobalSection + GlobalSection(ProjectDependencies) = postSolution + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {CE009BFA-5EF6-4153-B2A1-2FA79698A9AE}.Debug.ActiveCfg = Debug|.NET + {CE009BFA-5EF6-4153-B2A1-2FA79698A9AE}.Debug.Build.0 = Debug|.NET + {CE009BFA-5EF6-4153-B2A1-2FA79698A9AE}.Release.ActiveCfg = Release|.NET + {CE009BFA-5EF6-4153-B2A1-2FA79698A9AE}.Release.Build.0 = Release|.NET + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal Added: trunk/plugins/StreamingServer/DShowNET/DShowNET.suo =================================================================== (Binary files differ) Property changes on: trunk/plugins/StreamingServer/DShowNET/DShowNET.suo ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/plugins/StreamingServer/DShowNET/DsBugWO.cs =================================================================== --- trunk/plugins/StreamingServer/DShowNET/DsBugWO.cs (rev 0) +++ trunk/plugins/StreamingServer/DShowNET/DsBugWO.cs 2008-02-16 21:53:03 UTC (rev 1380) @@ -0,0 +1,53 @@ +/****************************************************** + DirectShow .NET + net...@sw... +*******************************************************/ +// WORKAROUND FOR DS BUGs + +using System; +using System.Text; +using System.Runtime.InteropServices; + +namespace DShowNET +{ + +public class DsBugWO +{ + /* + works: + CoCreateInstance( CLSID_CaptureGraphBuilder2, ..., IID_ICaptureGraphBuilder2, ...); + doesn't (E_NOTIMPL): + CoCreateInstance( CLSID_CaptureGraphBuilder2, ..., IID_IUnknown, ...); + thus .NET 'Activator.CreateInstance' fails + */ + + public static object CreateDsInstance( ref Guid clsid, ref Guid riid ) + { + IntPtr ptrIf; + int hr = CoCreateInstance( ref clsid, IntPtr.Zero, CLSCTX.Inproc, ref riid, out ptrIf ); + if( (hr != 0) || (ptrIf == IntPtr.Zero) ) + Marshal.ThrowExceptionForHR( hr ); + + Guid iu = new Guid( "00000000-0000-0000-C000-000000000046" ); + IntPtr ptrXX; + hr = Marshal.QueryInterface( ptrIf, ref iu, out ptrXX ); + + object ooo = System.Runtime.Remoting.Services.EnterpriseServicesHelper.WrapIUnknownWithComObject( ptrIf ); + int ct = Marshal.Release( ptrIf ); + return ooo; + } + + [DllImport("ole32.dll") ] + private static extern int CoCreateInstance( ref Guid clsid, IntPtr pUnkOuter, CLSCTX dwClsContext, ref Guid iid, out IntPtr ptrIf ); +} + +[Flags] +internal enum CLSCTX + { + Inproc = 0x03, + Server = 0x15, + All = 0x17, + } + + +} // namespace DShowNET Added: trunk/plugins/StreamingServer/DShowNET/DsControl.cs =================================================================== --- trunk/plugins/StreamingServer/DShowNET/DsControl.cs (rev 0) +++ trunk/plugins/StreamingServer/DShowNET/DsControl.cs 2008-02-16 21:53:03 UTC (rev 1380) @@ -0,0 +1,500 @@ +/****************************************************** + DirectShow .NET + net...@sw... +*******************************************************/ +// DsControl +// basic Quartz control interfaces, ported from control.odl + +using System; +using System.Runtime.InteropServices; + +namespace DShowNET +{ + + +// --------------------------------------------------------------------------------------- + + [ComVisible(true), ComImport, + Guid("56a868b1-0ad4-11ce-b03a-0020af0ba770"), + InterfaceType( ComInterfaceType.InterfaceIsDual)] +public interface IMediaControl +{ + [PreserveSig] + int Run(); + + [PreserveSig] + int Pause(); + + [PreserveSig] + int Stop(); + + [PreserveSig] + int GetState( int msTimeout, out int pfs ); + + [PreserveSig] + int RenderFile( string strFilename ); + + [PreserveSig] + int AddSourceFilter( + [In] string strFilename, + [Out, MarshalAs(UnmanagedType.IDispatch)] out object ppUnk ); + + [PreserveSig] + int get_FilterCollection( + [Out, MarshalAs(UnmanagedType.IDispatch)] out object ppUnk ); + + [PreserveSig] + int get_RegFilterCollection( + [Out, MarshalAs(UnmanagedType.IDispatch)] out object ppUnk ); + + [PreserveSig] + int StopWhenReady(); +} + + + + + +// --------------------------------------------------------------------------------------- + + [ComVisible(true), ComImport, + Guid("56a868b6-0ad4-11ce-b03a-0020af0ba770"), + InterfaceType( ComInterfaceType.InterfaceIsDual)] +public interface IMediaEvent +{ + [PreserveSig] + int GetEventHandle( out IntPtr hEvent ); + + [PreserveSig] + int GetEvent( out DsEvCode lEventCode, out int lParam1, out int lParam2, int msTimeout ); + + [PreserveSig] + int WaitForCompletion( int msTimeout, out int pEvCode ); + + [PreserveSig] + int CancelDefaultHandling( int lEvCode ); + + [PreserveSig] + int RestoreDefaultHandling( int lEvCode ); + + [PreserveSig] + int FreeEventParams( DsEvCode lEvCode, int lParam1, int lParam2 ); +} + + + + + +// --------------------------------------------------------------------------------------- + + [ComVisible(true), ComImport, + Guid("56a868c0-0ad4-11ce-b03a-0020af0ba770"), + InterfaceType( ComInterfaceType.InterfaceIsDual)] +public interface IMediaEventEx +{ + #region "IMediaEvent Methods" + [PreserveSig] + int GetEventHandle( out IntPtr hEvent ); + + [PreserveSig] + int GetEvent( out DsEvCode lEventCode, out int lParam1, out int lParam2, int msTimeout ); + + [PreserveSig] + int WaitForCompletion( int msTimeout, [Out] out int pEvCode ); + + [PreserveSig] + int CancelDefaultHandling( int lEvCode ); + + [PreserveSig] + int RestoreDefaultHandling( int lEvCode ); + + [PreserveSig] + int FreeEventParams( DsEvCode lEvCode, int lParam1, int lParam2 ); + #endregion + + + [PreserveSig] + int SetNotifyWindow( IntPtr hwnd, int lMsg, IntPtr lInstanceData ); + + [PreserveSig] + int SetNotifyFlags( int lNoNotifyFlags ); + + [PreserveSig] + int GetNotifyFlags( out int lplNoNotifyFlags ); +} + + + + + +// --------------------------------------------------------------------------------------- + + [ComVisible(true), ComImport, + Guid("329bb360-f6ea-11d1-9038-00a0c9697298"), + InterfaceType( ComInterfaceType.InterfaceIsDual)] +public interface IBasicVideo2 +{ + [PreserveSig] + int AvgTimePerFrame( out double pAvgTimePerFrame ); + + [PreserveSig] + int BitRate( out int pBitRate ); + + [PreserveSig] + int BitErrorRate( out int pBitRate ); + + [PreserveSig] + int VideoWidth( out int pVideoWidth ); + + [PreserveSig] + int VideoHeight( out int pVideoHeight ); + + + [PreserveSig] + int put_SourceLeft( int SourceLeft ); + [PreserveSig] + int get_SourceLeft( out int pSourceLeft ); + + [PreserveSig] + int put_SourceWidth( int SourceWidth ); + [PreserveSig] + int get_SourceWidth( out int pSourceWidth ); + + [PreserveSig] + int put_SourceTop( int SourceTop ); + [PreserveSig] + int get_SourceTop( out int pSourceTop ); + + [PreserveSig] + int put_SourceHeight( int SourceHeight ); + [PreserveSig] + int get_SourceHeight( out int pSourceHeight ); + + + + [PreserveSig] + int put_DestinationLeft( int DestinationLeft ); + [PreserveSig] + int get_DestinationLeft( out int pDestinationLeft ); + + [PreserveSig] + int put_DestinationWidth( int DestinationWidth ); + [PreserveSig] + int get_DestinationWidth( out int pDestinationWidth ); + + [PreserveSig] + int put_DestinationTop( int DestinationTop ); + [PreserveSig] + int get_DestinationTop( out int pDestinationTop ); + + [PreserveSig] + int put_DestinationHeight( int DestinationHeight ); + [PreserveSig] + int get_DestinationHeight( out int pDestinationHeight ); + + [PreserveSig] + int SetSourcePosition( int left, int top, int width, int height ); + [PreserveSig] + int GetSourcePosition( out int left, out int top, out int width, out int height ); + [PreserveSig] + int SetDefaultSourcePosition(); + + + [PreserveSig] + int SetDestinationPosition( int left, int top, int width, int height ); + [PreserveSig] + int GetDestinationPosition( out int left, out int top, out int width, out int height ); + [PreserveSig] + int SetDefaultDestinationPosition(); + + + [PreserveSig] + int GetVideoSize( out int pWidth, out int pHeight ); + + [PreserveSig] + int GetVideoPaletteEntries( int StartIndex, int Entries, out int pRetrieved, IntPtr pPalette ); + + [PreserveSig] + int GetCurrentImage( ref int pBufferSize, IntPtr pDIBImage ); + + [PreserveSig] + int IsUsingDefaultSource(); + [PreserveSig] + int IsUsingDefaultDestination(); + + [PreserveSig] + int GetPreferredAspectRatio( out int plAspectX, out int plAspectY ); +} + + + + + + + + + + [ComVisible(true), ComImport, + Guid("56a868b4-0ad4-11ce-b03a-0020af0ba770"), + InterfaceType( ComInterfaceType.InterfaceIsDual )] +public interface IVideoWindow +{ + [PreserveSig] + int put_Caption( string caption ); + [PreserveSig] + int get_Caption( [Out] out string caption ); + + [PreserveSig] + int put_WindowStyle( int windowStyle ); + [PreserveSig] + int get_WindowStyle( out int windowStyle ); + + [PreserveSig] + int put_WindowStyleEx( int windowStyleEx ); + [PreserveSig] + int get_WindowStyleEx( out int windowStyleEx ); + + [PreserveSig] + int put_AutoShow( int autoShow ); + [PreserveSig] + int get_AutoShow( out int autoShow ); + + [PreserveSig] + int put_WindowState( int windowState ); + [PreserveSig] + int get_WindowState( out int windowState ); + + [PreserveSig] + int put_BackgroundPalette( int backgroundPalette ); + [PreserveSig] + int get_BackgroundPalette( out int backgroundPalette ); + + [PreserveSig] + int put_Visible( int visible ); + [PreserveSig] + int get_Visible( out int visible ); + + [PreserveSig] + int put_Left( int left ); + [PreserveSig] + int get_Left( out int left ); + + [PreserveSig] + int put_Width( int width ); + [PreserveSig] + int get_Width( out int width ); + + [PreserveSig] + int put_Top( int top ); + [PreserveSig] + int get_Top( out int top ); + + [PreserveSig] + int put_Height( int height ); + [PreserveSig] + int get_Height( out int height ); + + [PreserveSig] + int put_Owner( IntPtr owner ); + [PreserveSig] + int get_Owner( out IntPtr owner ); + + [PreserveSig] + int put_MessageDrain( IntPtr drain ); + [PreserveSig] + int get_MessageDrain( out IntPtr drain ); + + [PreserveSig] + int get_BorderColor( out int color ); + [PreserveSig] + int put_BorderColor( int color ); + + [PreserveSig] + int get_FullScreenMode( out int fullScreenMode ); + [PreserveSig] + int put_FullScreenMode( int fullScreenMode ); + + [PreserveSig] + int SetWindowForeground( int focus ); + + [PreserveSig] + int NotifyOwnerMessage( IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam ); + + [PreserveSig] + int SetWindowPosition( int left, int top, int width, int height ); + + [PreserveSig] + int GetWindowPosition( out int left, out int top, out int width, out int height ); + + [PreserveSig] + int GetMinIdealImageSize( out int width, out int height ); + + [PreserveSig] + int GetMaxIdealImageSize( out int width, out int height ); + + [PreserveSig] + int GetRestorePosition( out int left, out int top, out int width, out int height ); + + [PreserveSig] + int HideCursor( int hideCursor ); + + [PreserveSig] + int IsCursorHidden( out int hideCursor ); + +} + + + + + + + + + + +// --------------------------------------------------------------------------------------- + + [ComVisible(true), ComImport, + Guid("56a868b2-0ad4-11ce-b03a-0020af0ba770"), + InterfaceType( ComInterfaceType.InterfaceIsDual )] +public interface IMediaPosition +{ + [PreserveSig] + int get_Duration( out double pLength ); + + [PreserveSig] + int put_CurrentPosition( double llTime ); + [PreserveSig] + int get_CurrentPosition( out double pllTime ); + + [PreserveSig] + int get_StopTime( out double pllTime ); + [PreserveSig] + int put_StopTime( double llTime ); + + [PreserveSig] + int get_PrerollTime( out double pllTime ); + [PreserveSig] + int put_PrerollTime( double llTime ); + + [PreserveSig] + int put_Rate( double dRate ); + [PreserveSig] + int get_Rate( out double pdRate ); + + [PreserveSig] + int CanSeekForward( out int pCanSeekForward ); + [PreserveSig] + int CanSeekBackward( out int pCanSeekBackward ); +} + + + + + + + +// --------------------------------------------------------------------------------------- + + [ComVisible(true), ComImport, + Guid("56a868b3-0ad4-11ce-b03a-0020af0ba770"), + InterfaceType( ComInterfaceType.InterfaceIsDual )] +public interface IBasicAudio +{ + [PreserveSig] + int put_Volume( int lVolume ); + [PreserveSig] + int get_Volume( out int plVolume ); + + [PreserveSig] + int put_Balance( int lBalance ); + [PreserveSig] + int get_Balance( out int plBalance ); +} + + + + + +// --------------------------------------------------------------------------------------- + + [ComVisible(true), ComImport, + Guid("56a868b9-0ad4-11ce-b03a-0020af0ba770"), + InterfaceType( ComInterfaceType.InterfaceIsDual )] +public interface IAMCollection +{ + [PreserveSig] + int get_Count( out int plCount ); + + [PreserveSig] + int Item( int lItem, + [Out, MarshalAs(UnmanagedType.IUnknown) ] out object ppUnk ); + + [PreserveSig] + int get_NewEnum( + [Out, MarshalAs(UnmanagedType.IUnknown) ] out object ppUnk ); +} + + +public enum DsEvCode +{ + None, + Complete = 0x01, // EC_COMPLETE + UserAbort = 0x02, // EC_USERABORT + ErrorAbort = 0x03, // EC_ERRORABORT + Time = 0x04, // EC_TIME + Repaint = 0x05, // EC_REPAINT + StErrStopped = 0x06, // EC_STREAM_ERROR_STOPPED + StErrStPlaying = 0x07, // EC_STREAM_ERROR_STILLPLAYING + ErrorStPlaying = 0x08, // EC_ERROR_STILLPLAYING + PaletteChanged = 0x09, // EC_PALETTE_CHANGED + VideoSizeChanged = 0x0a, // EC_VIDEO_SIZE_CHANGED + QualityChange = 0x0b, // EC_QUALITY_CHANGE + ShuttingDown = 0x0c, // EC_SHUTTING_DOWN + ClockChanged = 0x0d, // EC_CLOCK_CHANGED + Paused = 0x0e, // EC_PAUSED + OpeningFile = 0x10, // EC_OPENING_FILE + BufferingData = 0x11, // EC_BUFFERING_DATA + FullScreenLost = 0x12, // EC_FULLSCREEN_LOST + Activate = 0x13, // EC_ACTIVATE + NeedRestart = 0x14, // EC_NEED_RESTART + WindowDestroyed = 0x15, // EC_WINDOW_DESTROYED + DisplayChanged = 0x16, // EC_DISPLAY_CHANGED + Starvation = 0x17, // EC_STARVATION + OleEvent = 0x18, // EC_OLE_EVENT + NotifyWindow = 0x19, // EC_NOTIFY_WINDOW + // EC_ .... + + // DVDevCod.h + DvdDomChange = 0x101, // EC_DVD_DOMAIN_CHANGE + DvdTitleChange = 0x102, // EC_DVD_TITLE_CHANGE + DvdChaptStart = 0x103, // EC_DVD_CHAPTER_START + DvdAudioStChange = 0x104, // EC_DVD_AUDIO_STREAM_CHANGE + + DvdSubPicStChange = 0x105, // EC_DVD_SUBPICTURE_STREAM_CHANGE + DvdAngleChange = 0x106, // EC_DVD_ANGLE_CHANGE + DvdButtonChange = 0x107, // EC_DVD_BUTTON_CHANGE + DvdValidUopsChange = 0x108, // EC_DVD_VALID_UOPS_CHANGE + DvdStillOn = 0x109, // EC_DVD_STILL_ON + DvdStillOff = 0x10a, // EC_DVD_STILL_OFF + DvdCurrentTime = 0x10b, // EC_DVD_CURRENT_TIME + DvdError = 0x10c, // EC_DVD_ERROR + DvdWarning = 0x10d, // EC_DVD_WARNING + DvdChaptAutoStop = 0x10e, // EC_DVD_CHAPTER_AUTOSTOP + DvdNoFpPgc = 0x10f, // EC_DVD_NO_FP_PGC + DvdPlaybRateChange = 0x110, // EC_DVD_PLAYBACK_RATE_CHANGE + DvdParentalLChange = 0x111, // EC_DVD_PARENTAL_LEVEL_CHANGE + DvdPlaybStopped = 0x112, // EC_DVD_PLAYBACK_STOPPED + DvdAnglesAvail = 0x113, // EC_DVD_ANGLES_AVAILABLE + DvdPeriodAStop = 0x114, // EC_DVD_PLAYPERIOD_AUTOSTOP + DvdButtonAActivated = 0x115, // EC_DVD_BUTTON_AUTO_ACTIVATED + DvdCmdStart = 0x116, // EC_DVD_CMD_START + DvdCmdEnd = 0x117, // EC_DVD_CMD_END + DvdDiscEjected = 0x118, // EC_DVD_DISC_EJECTED + DvdDiscInserted = 0x119, // EC_DVD_DISC_INSERTED + DvdCurrentHmsfTime = 0x11a, // EC_DVD_CURRENT_HMSF_TIME + DvdKaraokeMode = 0x11b // EC_DVD_KARAOKE_MODE +} + + +} // namespace DShowNET Added: trunk/plugins/StreamingServer/DShowNET/DsCore.cs =================================================================== --- trunk/plugins/StreamingServer/DShowNET/DsCore.cs (rev 0) +++ trunk/plugins/StreamingServer/DShowNET/DsCore.cs 2008-02-16 21:53:03 UTC (rev 1380) @@ -0,0 +1,567 @@ +/****************************************************** + DirectShow .NET + net...@sw... +*******************************************************/ +// DsCore +// Core streaming interfaces, ported from axcore.idl + +using System; +using System.Text; +using System.Runtime.InteropServices; + +namespace DShowNET +{ + + [ComVisible(false)] + public enum PinDirection // PIN_DIRECTION + { + Input, // PINDIR_INPUT + Output // PINDIR_OUTPUT + } + + [ComVisible(false)] + public enum PhysicalConnectorType + { + Video_Tuner = 1, + Video_Composite, + Video_SVideo, + Video_RGB, + Video_YRYBY, + Video_SerialDigital, + Video_ParallelDigital, + Video_SCSI, + Video_AUX, + Video_1394, + Video_USB, + Video_VideoDecoder, + Video_VideoEncoder, + Video_SCART, + + Audio_Tuner = 4096, + Audio_Line, + Audio_Mic, + Audio_AESDigital, + Audio_SPDIFDigital, + Audio_SCSI, + Audio_AUX, + Audio_1394, + Audio_USB, + Audio_AudioDecoder, + }; + + + + + [ComVisible(false)] + public class DsHlp + { + public const int OATRUE = -1; + public const int OAFALSE = 0; + + [DllImport( "quartz.dll", CharSet=CharSet.Auto)] + public static extern int AMGetErrorText( int hr, StringBuilder buf, int max ); + } + + + [ComVisible(true), ComImport, + Guid("56a86891-0ad4-11ce-b03a-0020af0ba770"), + InterfaceType( ComInterfaceType.InterfaceIsIUnknown )] + public interface IPin + { + [PreserveSig] + int Connect( + [In] IPin pReceivePin, + [In, MarshalAs(UnmanagedType.LPStruct)] AMMediaType pmt ); + + [PreserveSig] + int ReceiveConnection( + [In] IPin pReceivePin, + [In, MarshalAs(UnmanagedType.LPStruct)] AMMediaType pmt ); + + [PreserveSig] + int Disconnect(); + + [PreserveSig] + int ConnectedTo( [Out] out IPin ppPin ); + + [PreserveSig] + int ConnectionMediaType( + [Out, MarshalAs(UnmanagedType.LPStruct)] AMMediaType pmt ); + + [PreserveSig] + int QueryPinInfo( [Out] out PinInfo pInfo ); + + [PreserveSig] + int QueryDirection( out PinDirection pPinDir ); + + [PreserveSig] + int QueryId( + [Out, MarshalAs(UnmanagedType.LPWStr) ] out string Id ); + + [PreserveSig] + int QueryAccept( + [In, MarshalAs(UnmanagedType.LPStruct)] AMMediaType pmt ); + + [PreserveSig] + int EnumMediaTypes( IntPtr ppEnum ); + + [PreserveSig] + int QueryInternalConnections( IntPtr apPin, [In, Out] ref int nPin ); + + [PreserveSig] + int EndOfStream(); + + [PreserveSig] + int BeginFlush(); + + [PreserveSig] + int EndFlush(); + + [PreserveSig] + int NewSegment( long tStart, long tStop, double dRate ); + } + + + + + + + [ComVisible(true), ComImport, + Guid("56a8689f-0ad4-11ce-b03a-0020af0ba770"), + InterfaceType( ComInterfaceType.InterfaceIsIUnknown )] + public interface IFilterGraph +{ + [PreserveSig] + int AddFilter( + [In] IBaseFilter pFilter, + [In, MarshalAs(UnmanagedType.LPWStr)] string pName ); + + [PreserveSig] + int RemoveFilter( [In] IBaseFilter pFilter ); + + [PreserveSig] + int EnumFilters( [Out] out IEnumFilters ppEnum ); + + [PreserveSig] + int FindFilterByName( + [In, MarshalAs(UnmanagedType.LPWStr)] string pName, + [Out] out IBaseFilter ppFilter ); + + [PreserveSig] + int ConnectDirect( [In] IPin ppinOut, [In] IPin ppinIn, + [In, MarshalAs(UnmanagedType.LPStruct)] AMMediaType pmt ); + + [PreserveSig] + int Reconnect( [In] IPin ppin ); + + [PreserveSig] + int Disconnect( [In] IPin ppin ); + + [PreserveSig] + int SetDefaultSyncSource(); + +} + + + + + + +// --------------------------------------------------------------------------------------- + + [ComVisible(true), ComImport, + Guid("0000010c-0000-0000-C000-000000000046"), + InterfaceType( ComInterfaceType.InterfaceIsIUnknown )] + public interface IPersist +{ + [PreserveSig] + int GetClassID( + [Out] out Guid pClassID ); +} + + + // --------------------------------------------------------------------------------------- + + [ComVisible(true), ComImport, + Guid("0000010c-0000-0000-C000-000000000046"), + InterfaceType( ComInterfaceType.InterfaceIsIUnknown )] + public interface IPersistStream + { + [PreserveSig] + int GetClassID( + [Out] out Guid pClassID ); + } + + +// --------------------------------------------------------------------------------------- + + [ComVisible(true), ComImport, + Guid("56a86899-0ad4-11ce-b03a-0020af0ba770"), + InterfaceType( ComInterfaceType.InterfaceIsIUnknown )] + public interface IMediaFilter +{ + #region "IPersist Methods" + [PreserveSig] + int GetClassID( + [Out] out Guid pClassID ); + #endregion + + [PreserveSig] + int Stop(); + + [PreserveSig] + int Pause(); + + [PreserveSig] + int Run( long tStart ); + + [PreserveSig] + int GetState( int dwMilliSecsTimeout, out int filtState ); + + [PreserveSig] + int SetSyncSource( [In] IReferenceClock pClock ); + + [PreserveSig] + int GetSyncSource( [Out] out IReferenceClock pClock ); +} + + + + + + + +// --------------------------------------------------------------------------------------- + + [ComVisible(true), ComImport, + Guid("56a86895-0ad4-11ce-b03a-0020af0ba770"), + InterfaceType( ComInterfaceType.InterfaceIsIUnknown )] + public interface IBaseFilter +{ + #region "IPersist Methods" + [PreserveSig] + int GetClassID( + [Out] out Guid pClassID ); + #endregion + + #region "IMediaFilter Methods" + [PreserveSig] + int Stop(); + + [PreserveSig] + int Pause(); + + [PreserveSig] + int Run( long tStart ); + + [PreserveSig] + int GetState( int dwMilliSecsTimeout, [Out] out int filtState ); + + [PreserveSig] + int SetSyncSource( [In] IReferenceClock pClock ); + + [PreserveSig] + int GetSyncSource( [Out] out IReferenceClock pClock ); + #endregion + + [PreserveSig] + int EnumPins( + [Out] out IEnumPins ppEnum ); + + [PreserveSig] + int FindPin( + [In, MarshalAs(UnmanagedType.LPWStr)] string Id, + [Out] out IPin ppPin ); + + [PreserveSig] + int QueryFilterInfo( + [Out] FilterInfo pInfo ); + + [PreserveSig] + int JoinFilterGraph( + [In] IFilterGraph pGraph, + [In, MarshalAs(UnmanagedType.LPWStr)] string pName ); + + [PreserveSig] + int QueryVendorInfo( + [Out, MarshalAs(UnmanagedType.LPWStr) ] out string pVendorInfo ); +} + + + [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode), ComVisible(false)] + public class FilterInfo // FILTER_INFO +{ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst=128)] + public string achName; + [MarshalAs(UnmanagedType.IUnknown)] + public object pUnk; +} + + + + + + + + + +// --------------------------------------------------------------------------------------- + + [ComVisible(true), ComImport, + Guid("36b73880-c2c8-11cf-8b46-00805f6cef60"), + InterfaceType( ComInterfaceType.InterfaceIsIUnknown )] + public interface IMediaSeeking +{ + [PreserveSig] + int GetCapabilities( out SeekingCapabilities pCapabilities ); + + [PreserveSig] + int CheckCapabilities( [In, Out] ref SeekingCapabilities pCapabilities ); + + [PreserveSig] + int IsFormatSupported( [In] ref Guid pFormat ); + [PreserveSig] + int QueryPreferredFormat( [Out] out Guid pFormat ); + + [PreserveSig] + int GetTimeFormat( [Out] out Guid pFormat ); + [PreserveSig] + int IsUsingTimeFormat( [In] ref Guid pFormat ); + [PreserveSig] + int SetTimeFormat( [In] ref Guid pFormat ); + + [PreserveSig] + int GetDuration( out long pDuration ); + [PreserveSig] + int GetStopPosition( out long pStop ); + [PreserveSig] + int GetCurrentPosition( out long pCurrent ); + + [PreserveSig] + int ConvertTimeFormat( out long pTarget, [In] ref Guid pTargetFormat, + long Source, [In] ref Guid pSourceFormat ); + + [PreserveSig] + int SetPositions( + [In, Out, MarshalAs(UnmanagedType.LPStruct)] DsOptInt64 pCurrent, + SeekingFlags dwCurrentFlags, + [In, Out, MarshalAs(UnmanagedType.LPStruct)] DsOptInt64 pStop, + SeekingFlags dwStopFlags ); + + [PreserveSig] + int GetPositions( out long pCurrent, out long pStop ); + + [PreserveSig] + int GetAvailable( out long pEarliest, out long pLatest ); + + [PreserveSig] + int SetRate( double dRate ); + [PreserveSig] + int GetRate( out double pdRate ); + + [PreserveSig] + int GetPreroll( out long pllPreroll ); +} + + + [Flags, ComVisible(false)] + public enum SeekingCapabilities // AM_SEEKING_SeekingCapabilities AM_SEEKING_SEEKING_CAPABILITIES +{ + CanSeekAbsolute = 0x001, + CanSeekForwards = 0x002, + CanSeekBackwards = 0x004, + CanGetCurrentPos = 0x008, + CanGetStopPos = 0x010, + CanGetDuration = 0x020, + CanPlayBackwards = 0x040, + CanDoSegments = 0x080, + Source = 0x100 // Doesn't pass thru used to count segment ends +} + + + [Flags, ComVisible(false)] + public enum SeekingFlags // AM_SEEKING_SeekingFlags AM_SEEKING_SEEKING_FLAGS +{ + NoPositioning = 0x00, // No change + AbsolutePositioning = 0x01, // Position is supplied and is absolute + RelativePositioning = 0x02, // Position is supplied and is relative + IncrementalPositioning = 0x03, // (Stop) position relative to current, useful for seeking when paused (use +1) + PositioningBitsMask = 0x03, // Useful mask + SeekToKeyFrame = 0x04, // Just seek to key frame (performance gain) + ReturnTime = 0x08, // Plug the media time equivalents back into the supplied LONGLONGs + Segment = 0x10, // At end just do EC_ENDOFSEGMENT, don't do EndOfStream + NoFlush = 0x20 // Don't flush +} + + + + + +// --------------------------------------------------------------------------------------- + + [ComVisible(true), ComImport, + Guid("56a86897-0ad4-11ce-b03a-0020af0ba770"), + InterfaceType( ComInterfaceType.InterfaceIsIUnknown )] + public interface IReferenceClock +{ + [PreserveSig] + int GetTime( out long pTime ); + + [PreserveSig] + int AdviseTime( long baseTime, long streamTime, IntPtr hEvent, out int pdwAdviseCookie); + + [PreserveSig] + int AdvisePeriodic( long startTime, long periodTime, IntPtr hSemaphore, out int pdwAdviseCookie); + + [PreserveSig] + int Unadvise( int dwAdviseCookie ); +} + + + + + + + +// --------------------------------------------------------------------------------------- + + [ComVisible(true), ComImport, + Guid("56a86893-0ad4-11ce-b03a-0020af0ba770"), + InterfaceType( ComInterfaceType.InterfaceIsIUnknown )] + public interface IEnumFilters +{ +/* + [PreserveSig] + int Next( + [In] int cFilters, + [Out, MarshalAs(UnmanagedType.LPArray, SizeParamIndex=0)] IBaseFilter[] ppFilter, + [Out] out int pcFetched ); +*/ + + [PreserveSig] + int Next( + [In] uint cFilters, + out IBaseFilter x, + [Out] out uint pcFetched ); + + [PreserveSig] + int Skip( [In] int cFilters ); + void Reset(); + void Clone( [Out] out IEnumFilters ppEnum ); +} + + +// --------------------------------------------------------------------------------------- + + [ComVisible(true), ComImport, + Guid("56a86892-0ad4-11ce-b03a-0020af0ba770"), + InterfaceType( ComInterfaceType.InterfaceIsIUnknown )] + public interface IEnumPins + { + [PreserveSig] + int Next( + [In] int cPins, + [Out, MarshalAs(UnmanagedType.LPArray, SizeParamIndex=0)] IPin[] ppPins, + [Out] out int pcFetched ); + + [PreserveSig] + int Skip( [In] int cPins ); + void Reset(); + void Clone( [Out] out IEnumPins ppEnum ); + } + + + + + + + [StructLayout(LayoutKind.Sequential), ComVisible(false)] + public class AMMediaType // AM_MEDIA_TYPE + { + public Guid majorType; + public Guid subType; + [MarshalAs(UnmanagedType.Bool)] + public bool fixedSizeSamples; + [MarshalAs(UnmanagedType.Bool)] + public bool temporalCompression; + public int sampleSize; + public Guid formatType; + public IntPtr unkPtr; + public int formatSize; + public IntPtr formatPtr; + + } + + [StructLayout(LayoutKind.Sequential, Pack=1, CharSet=CharSet.Unicode), ComVisible(false)] + public struct PinInfo // PIN_INFO + { + public IBaseFilter filter; + public PinDirection dir; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst=128)] public string name; + } + + + + +// --------------------------------------------------------------------------------------- + + [ComVisible(true), ComImport, + Guid("56a8689a-0ad4-11ce-b03a-0020af0ba770"), + InterfaceType( ComInterfaceType.InterfaceIsIUnknown )] + public interface IMediaSample +{ + [PreserveSig] + int GetPointer( out IntPtr ppBuffer ); + [PreserveSig] + int GetSize(); + + [PreserveSig] + int GetTime( out long pTimeStart, out long pTimeEnd ); + + [PreserveSig] + int SetTime( + [In, MarshalAs(UnmanagedType.LPStruct)] DsOptInt64 pTimeStart, + [In, MarshalAs(UnmanagedType.LPStruct)] DsOptInt64 pTimeEnd ); + + [PreserveSig] + int IsSyncPoint(); + [PreserveSig] + int SetSyncPoint( + [In, MarshalAs(UnmanagedType.Bool)] bool bIsSyncPoint ); + + [PreserveSig] + int IsPreroll(); + [PreserveSig] + int SetPreroll( + [In, MarshalAs(UnmanagedType.Bool)] bool bIsPreroll ); + + [PreserveSig] + int GetActualDataLength(); + [PreserveSig] + int SetActualDataLength( int len ); + + [PreserveSig] + int GetMediaType( + [Out, MarshalAs(UnmanagedType.LPStruct)] out AMMediaType ppMediaType ); + + [PreserveSig] + int SetMediaType( + [In, MarshalAs(UnmanagedType.LPStruct)] AMMediaType pMediaType ); + + [PreserveSig] + int IsDiscontinuity(); + [PreserveSig] + int SetDiscontinuity( + [In, MarshalAs(UnmanagedType.Bool)] bool bDiscontinuity ); + + [PreserveSig] + int GetMediaTime( out long pTimeStart, out long pTimeEnd ); + + [PreserveSig] + int SetMediaTime( + [In, MarshalAs(UnmanagedType.LPStruct)] DsOptInt64 pTimeStart, + [In, MarshalAs(UnmanagedType.LPStruct)] DsOptInt64 pTimeEnd ); +} + + +} // namespace DShowNET Added: trunk/plugins/StreamingServer/DShowNET/DsDVD.cs =================================================================== --- trunk/plugins/StreamingServer/DShowNET/DsDVD.cs (rev 0) +++ trunk/plugins/StreamingServer/DShowNET/DsDVD.cs 2008-02-16 21:53:03 UTC (rev 1380) @@ -0,0 +1,752 @@ +/****************************************************** + DirectShow .NET + net...@sw... +*******************************************************/ +// DsDVD +// DVD interfaces, ported from dvdif.idl + +using System; +using System.Runtime.InteropServices; + +namespace DShowNET.Dvd +{ + + +// ================================================================================================= +// DVD GRAPH +// ================================================================================================= + +[Flags] +public enum DvdGraphFlags // AM_DVD_GRAPH_FLAGS +{ + Default = 0x00000000, + HwDecPrefer = 0x00000001, // AM_DVD_HWDEC_PREFER + HwDecOnly = 0x00000002, // AM_DVD_HWDEC_ONLY + SwDecPrefer = 0x00000004, // AM_DVD_SWDEC_PREFER + SwDecOnly = 0x00000008, // AM_DVD_SWDEC_ONLY + NoVpe = 0x00000100 // AM_DVD_NOVPE +} + +[Flags] +public enum DvdStreamFlags // AM_DVD_STREAM_FLAGS +{ + None = 0x00000000, + Video = 0x00000001, // AM_DVD_STREAM_VIDEO + Audio = 0x00000002, // AM_DVD_STREAM_AUDIO + SubPic = 0x00000004 // AM_DVD_STREAM_SUBPIC +} + + + [StructLayout(LayoutKind.Sequential, Pack=1), ComVisible(false)] +public struct DvdRenderStatus // AM_DVD_RENDERSTATUS +{ + public int vpeStatus; + public bool volInvalid; + public bool volUnknown; + public bool noLine21In; + public bool noLine21Out; + public int numStreams; + public int numStreamsFailed; + public DvdStreamFlags failedStreams; +} + + +// --------------------------------------------------------------------------------------- + + [ComVisible(true), ComImport, + Guid("FCC152B6-F372-11d0-8E00-00C04FD7C08B"), + InterfaceType( ComInterfaceType.InterfaceIsIUnknown )] +public interface IDvdGraphBuilder +{ + [PreserveSig] + int GetFiltergraph( + [Out] out IGraphBuilder ppGB ); + + [PreserveSig] + int GetDvdInterface( + [In] ref Guid riid, + [Out, MarshalAs(UnmanagedType.IUnknown) ] out object ppvIF ); + + [PreserveSig] + int RenderDvdVideoVolume( + [In, MarshalAs(UnmanagedType.LPWStr)] string lpcwszPathName, + DvdGraphFlags dwFlags, + [Out] out DvdRenderStatus pStatus ); +} + + + + + + + + + + + + + + + + + +// ================================================================================================= +// DVD CONTROL +// ================================================================================================= + +[Flags] +public enum DvdCmdFlags // DVD_CMD_FLAGS +{ + None = 0x00000000, // DVD_CMD_FLAG_None + Flush = 0x00000001, // DVD_CMD_FLAG_Flush + SendEvt = 0x00000002, // DVD_CMD_FLAG_SendEvents + Block = 0x00000004, // DVD_CMD_FLAG_Block + StartWRendered = 0x00000008, // DVD_CMD_FLAG_StartWhenRendered + EndARendered = 0x00000010 // DVD_CMD_FLAG_EndAfterRendered +} + + + [StructLayout(LayoutKind.Sequential, Pack=1), ComVisible(false)] +public struct DvdTimeCode // DVD_HMSF_TIMECODE +{ + public byte bHours; + public byte bMinutes; + public byte bSeconds; + public byte bFrames; +} + +public enum DvdMenuID // DVD_MENU_ID +{ + Title = 2, // DVD_MENU_Title + Root = 3, // DVD_MENU_Root + Subpicture = 4, // DVD_MENU_Subpicture + Audio = 5, // DVD_MENU_Audio + Angle = 6, // DVD_MENU_Angle + Chapter = 7 // DVD_MENU_Chapter +} + + +public enum DvdRelButton // DVD_RELATIVE_BUTTON +{ + Upper = 1, // DVD_Relative_Upper + Lower = 2, // DVD_Relative_Lower + Left = 3, // DVD_Relative_Left + Right = 4 // DVD_Relative_Right +} + + +public enum DvdOptionFlag // DVD_OPTION_FLAG +{ + ResetOnStop = 1, // DVD_ResetOnStop + NotifyParentalLevelChange = 2, // DVD_NotifyParentalLevelChange + HmsfTimeCodeEvt = 3 // DVD_HMSF_TimeCodeEvents +} + + +public enum DvdAudioLangExt // DVD_AUDIO_LANG_EXT +{ + NotSpecified = 0, // DVD_AUD_EXT_NotSpecified + Captions = 1, // DVD_AUD_EXT_Captions + VisuallyImpaired = 2, // DVD_AUD_EXT_VisuallyImpaired + DirectorComments1 = 3, // DVD_AUD_EXT_DirectorComments1 + DirectorComments2 = 4 // DVD_AUD_EXT_DirectorComments2 +} + +public enum DvdSubPicLangExt // DVD_SUBPICTURE_LANG_EXT +{ + NotSpecified = 0, // DVD_SP_EXT_NotSpecified + CaptionNormal = 1, // DVD_SP_EXT_Caption_Normal + CaptionBig = 2, // DVD_SP_EXT_Caption_Big + CaptionChildren = 3, // DVD_SP_EXT_Caption_Children + ClosedNormal = 5, // DVD_SP_EXT_CC_Normal + ClosedBig = 6, // DVD_SP_EXT_CC_Big + ClosedChildren = 7, // DVD_SP_EXT_CC_Children + Forced = 9, // DVD_SP_EXT_Forced + DirectorCmtNormal = 13, // DVD_SP_EXT_DirectorComments_Normal + DirectorCmtBig = 14, // DVD_SP_EXT_DirectorComments_Big + DirectorCmtChildren = 15, // DVD_SP_EXT_DirectorComments_Children +} + + + + +// --------------------------------------------------------------------------------------- + + [ComVisible(true), ComImport, + Guid("33BC7430-EEC0-11D2-8201-00A0C9D74842"), + InterfaceType( ComInterfaceTyp... [truncated message content] |