Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
DsExtend.cs
Package: capsample_src.zip [view]
Upload User: wuming6209
Upload Date: 2013-06-06
Package Size: 161k
Code Size: 19k
Category:
Video Capture
Development Platform:
Visual C++
- /******************************************************
- DirectShow .NET
- netmaster@swissonline.ch
- *******************************************************/
- // DsExtend
- // Extended streaming interfaces, ported from axextend.idl
- using System;
- using System.Drawing;
- using System.Runtime.InteropServices;
- namespace DShowNET
- {
- [ComVisible(true), ComImport,
- Guid("93E5A4E0-2D50-11d2-ABFA-00A0C9C6E38D"),
- InterfaceType( ComInterfaceType.InterfaceIsIUnknown )]
- public interface ICaptureGraphBuilder2
- {
- [PreserveSig]
- int SetFiltergraph( [In] IGraphBuilder pfg );
- [PreserveSig]
- int GetFiltergraph( [Out] out IGraphBuilder ppfg );
- [PreserveSig]
- int SetOutputFileName(
- [In] ref Guid pType,
- [In, MarshalAs(UnmanagedType.LPWStr)] string lpstrFile,
- [Out] out IBaseFilter ppbf,
- [Out] out IFileSinkFilter ppSink );
- [PreserveSig]
- int FindInterface(
- [In] ref Guid pCategory,
- [In] ref Guid pType,
- [In] IBaseFilter pbf,
- [In] ref Guid riid,
- [Out, MarshalAs(UnmanagedType.IUnknown) ] out object ppint );
- [PreserveSig]
- int RenderStream(
- [In] ref Guid pCategory,
- [In] ref Guid pType,
- [In, MarshalAs(UnmanagedType.IUnknown)] object pSource,
- [In] IBaseFilter pfCompressor,
- [In] IBaseFilter pfRenderer );
- [PreserveSig]
- int ControlStream(
- [In] ref Guid pCategory,
- [In] ref Guid pType,
- [In] IBaseFilter pFilter,
- [In] long pstart,
- [In] long pstop,
- [In] short wStartCookie,
- [In] short wStopCookie );
- [PreserveSig]
- int AllocCapFile(
- [In, MarshalAs(UnmanagedType.LPWStr)] string lpstrFile,
- [In] long dwlSize );
- [PreserveSig]
- int CopyCaptureFile(
- [In, MarshalAs(UnmanagedType.LPWStr)] string lpwstrOld,
- [In, MarshalAs(UnmanagedType.LPWStr)] string lpwstrNew,
- [In] int fAllowEscAbort,
- [In] IAMCopyCaptureFileProgress pFilter );
- [PreserveSig]
- int FindPin(
- [In] object pSource,
- [In] int pindir,
- [In] ref Guid pCategory,
- [In] ref Guid pType,
- [In, MarshalAs(UnmanagedType.Bool) ] bool fUnconnected,
- [In] int num,
- [Out] out IPin ppPin );
- }
- [ComVisible(true), ComImport,
- Guid("56a868a9-0ad4-11ce-b03a-0020af0ba770"),
- InterfaceType( ComInterfaceType.InterfaceIsIUnknown )]
- public interface IGraphBuilder
- {
- #region "IFilterGraph Methods"
- [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();
- #endregion
- [PreserveSig]
- int Connect( [In] IPin ppinOut, [In] IPin ppinIn );
- [PreserveSig]
- int Render( [In] IPin ppinOut );
- [PreserveSig]
- int RenderFile(
- [In, MarshalAs(UnmanagedType.LPWStr)] string lpcwstrFile,
- [In, MarshalAs(UnmanagedType.LPWStr)] string lpcwstrPlayList );
- [PreserveSig]
- int AddSourceFilter(
- [In, MarshalAs(UnmanagedType.LPWStr)] string lpcwstrFileName,
- [In, MarshalAs(UnmanagedType.LPWStr)] string lpcwstrFilterName,
- [Out] out IBaseFilter ppFilter );
- [PreserveSig]
- int SetLogFile( IntPtr hFile );
- [PreserveSig]
- int Abort();
- [PreserveSig]
- int ShouldOperationContinue();
- }
- // ---------------------------------------------------------------------------------------
- [ComVisible(true), ComImport,
- Guid("a2104830-7c70-11cf-8bce-00aa00a3f1a6"),
- InterfaceType( ComInterfaceType.InterfaceIsIUnknown )]
- public interface IFileSinkFilter
- {
- [PreserveSig]
- int SetFileName(
- [In, MarshalAs(UnmanagedType.LPWStr)] string pszFileName,
- [In, MarshalAs(UnmanagedType.LPStruct)] AMMediaType pmt );
- [PreserveSig]
- int GetCurFile(
- [Out, MarshalAs(UnmanagedType.LPWStr) ] out string pszFileName,
- [Out, MarshalAs(UnmanagedType.LPStruct) ] AMMediaType pmt );
- }
- [ComVisible(true), ComImport,
- Guid("00855B90-CE1B-11d0-BD4F-00A0C911CE86"),
- InterfaceType( ComInterfaceType.InterfaceIsIUnknown )]
- public interface IFileSinkFilter2
- {
- [PreserveSig]
- int SetFileName(
- [In, MarshalAs(UnmanagedType.LPWStr)] string pszFileName,
- [In, MarshalAs(UnmanagedType.LPStruct)] AMMediaType pmt );
- [PreserveSig]
- int GetCurFile(
- [Out, MarshalAs(UnmanagedType.LPWStr) ] out string pszFileName,
- [Out, MarshalAs(UnmanagedType.LPStruct) ] AMMediaType pmt );
- [PreserveSig]
- int SetMode( [In] int dwFlags );
- [PreserveSig]
- int GetMode( [Out] out int dwFlags );
- }
- // ---------------------------------------------------------------------------------------
- [ComVisible(true), ComImport,
- Guid("670d1d20-a068-11d0-b3f0-00aa003761c5"),
- InterfaceType( ComInterfaceType.InterfaceIsIUnknown )]
- public interface IAMCopyCaptureFileProgress
- {
- [PreserveSig]
- int Progress( int iProgress );
- }
- // ---------------------------------------------------------------------------------------
- [ComVisible(true), ComImport,
- Guid("e46a9787-2b71-444d-a4b5-1fab7b708d6a"),
- InterfaceType( ComInterfaceType.InterfaceIsIUnknown )]
- public interface IVideoFrameStep
- {
- [PreserveSig]
- int Step( int dwFrames,
- [In, MarshalAs(UnmanagedType.IUnknown)] object pStepObject );
- [PreserveSig]
- int CanStep( int bMultiple,
- [In, MarshalAs(UnmanagedType.IUnknown)] object pStepObject );
- [PreserveSig]
- int CancelStep();
- }
- // ---------------------------------------------------------------------------------------
- [ComVisible(true), ComImport,
- Guid("C6E13340-30AC-11d0-A18C-00A0C9118956"),
- InterfaceType( ComInterfaceType.InterfaceIsIUnknown )]
- public interface IAMStreamConfig
- {
- [PreserveSig]
- int SetFormat(
- [In, MarshalAs(UnmanagedType.LPStruct)] AMMediaType pmt );
- [PreserveSig]
- int GetFormat(
- [Out] out IntPtr pmt );
- [PreserveSig]
- int GetNumberOfCapabilities( out int piCount, out int piSize );
- [PreserveSig]
- int GetStreamCaps( int iIndex,
- //[Out, MarshalAs(UnmanagedType.LPStruct)] out AMMediaType ppmt,
- [Out] out IntPtr pmt,
- [In] IntPtr pSCC );
- }
- // =============================================================================
- // TUNER
- // =============================================================================
- [ComVisible(false)]
- public enum AMTunerSubChannel
- {
- NoTune = -2, // AMTUNER_SUBCHAN_NO_TUNE : don't tune
- Default = -1 // AMTUNER_SUBCHAN_DEFAULT : use default sub chan
- }
- [ComVisible(false)]
- public enum AMTunerSignalStrength
- {
- NA = -1, // AMTUNER_HASNOSIGNALSTRENGTH : cannot indicate signal strength
- NoSignal = 0, // AMTUNER_NOSIGNAL : no signal available
- SignalPresent = 1 // AMTUNER_SIGNALPRESENT : signal present
- }
- [Flags, ComVisible(false)]
- public enum AMTunerModeType
- {
- Default = 0x0000, // AMTUNER_MODE_DEFAULT : default tuner mode
- TV = 0x0001, // AMTUNER_MODE_TV : tv
- FMRadio = 0x0002, // AMTUNER_MODE_FM_RADIO : fm radio
- AMRadio = 0x0004, // AMTUNER_MODE_AM_RADIO : am radio
- Dss = 0x0008 // AMTUNER_MODE_DSS : dss
- }
- [ComVisible(false)]
- public enum AMTunerEventType
- {
- Changed = 0x0001, // AMTUNER_EVENT_CHANGED : status changed
- }
- // ---------------------------------------------------------------------------------------
- [ComVisible(true), ComImport,
- Guid("211A8761-03AC-11d1-8D13-00AA00BD8339"),
- InterfaceType( ComInterfaceType.InterfaceIsIUnknown )]
- public interface IAMTuner
- {
- [PreserveSig]
- int put_Channel( int lChannel, AMTunerSubChannel lVideoSubChannel, AMTunerSubChannel lAudioSubChannel );
- [PreserveSig]
- int get_Channel( out int plChannel, out int plVideoSubChannel, out int plAudioSubChannel );
- [PreserveSig]
- int ChannelMinMax( out int lChannelMin, out int lChannelMax );
- [PreserveSig]
- int put_CountryCode( int lCountryCode );
- [PreserveSig]
- int get_CountryCode( out int plCountryCode );
- [PreserveSig]
- int put_TuningSpace( int lTuningSpace );
- [PreserveSig]
- int get_TuningSpace( out int plTuningSpace );
- [PreserveSig]
- int Logon( IntPtr hCurrentUser );
- [PreserveSig]
- int Logout();
- [PreserveSig]
- int SignalPresent( out AMTunerSignalStrength plSignalStrength );
- [PreserveSig]
- int put_Mode( AMTunerModeType lMode );
- [PreserveSig]
- int get_Mode( out AMTunerModeType plMode );
- [PreserveSig]
- int GetAvailableModes( out AMTunerModeType plModes );
- [PreserveSig]
- int RegisterNotificationCallBack( IAMTunerNotification pNotify, AMTunerEventType lEvents );
- [PreserveSig]
- int UnRegisterNotificationCallBack( IAMTunerNotification pNotify );
- }
- // ---------------------------------------------------------------------------------------
- [ComVisible(true), ComImport,
- Guid("211A8760-03AC-11d1-8D13-00AA00BD8339"),
- InterfaceType( ComInterfaceType.InterfaceIsIUnknown )]
- public interface IAMTunerNotification
- {
- [PreserveSig]
- int OnEvent( AMTunerEventType Event );
- }
- // ---------------------------------------------------------------------------------------
- [Flags, ComVisible(false)]
- public enum AnalogVideoStandard
- {
- None = 0x00000000, // This is a digital sensor
- NTSC_M = 0x00000001, // 75 IRE Setup
- NTSC_M_J = 0x00000002, // Japan, 0 IRE Setup
- NTSC_433 = 0x00000004,
- PAL_B = 0x00000010,
- PAL_D = 0x00000020,
- PAL_G = 0x00000040,
- PAL_H = 0x00000080,
- PAL_I = 0x00000100,
- PAL_M = 0x00000200,
- PAL_N = 0x00000400,
- PAL_60 = 0x00000800,
- SECAM_B = 0x00001000,
- SECAM_D = 0x00002000,
- SECAM_G = 0x00004000,
- SECAM_H = 0x00008000,
- SECAM_K = 0x00010000,
- SECAM_K1 = 0x00020000,
- SECAM_L = 0x00040000,
- SECAM_L1 = 0x00080000,
- PAL_N_COMBO = 0x00100000 // Argentina
- }
- [ComVisible(false)]
- public enum TunerInputType
- {
- Cable,
- Antenna
- }
- // ---------------------------------------------------------------------------------------
- [ComVisible(true), ComImport,
- Guid("211A8766-03AC-11d1-8D13-00AA00BD8339"),
- InterfaceType( ComInterfaceType.InterfaceIsIUnknown )]
- public interface IAMTVTuner
- {
- #region "IAMTuner Methods"
- [PreserveSig]
- int put_Channel( int lChannel, AMTunerSubChannel lVideoSubChannel, AMTunerSubChannel lAudioSubChannel );
- [PreserveSig]
- int get_Channel( out int plChannel, out int plVideoSubChannel, out int plAudioSubChannel );
- [PreserveSig]
- int ChannelMinMax( out int lChannelMin, out int lChannelMax );
- [PreserveSig]
- int put_CountryCode( int lCountryCode );
- [PreserveSig]
- int get_CountryCode( out int plCountryCode );
- [PreserveSig]
- int put_TuningSpace( int lTuningSpace );
- [PreserveSig]
- int get_TuningSpace( out int plTuningSpace );
- [PreserveSig]
- int Logon( IntPtr hCurrentUser );
- [PreserveSig]
- int Logout();
- [PreserveSig]
- int SignalPresent( out AMTunerSignalStrength plSignalStrength );
- [PreserveSig]
- int put_Mode( AMTunerModeType lMode );
- [PreserveSig]
- int get_Mode( out AMTunerModeType plMode );
- [PreserveSig]
- int GetAvailableModes( out AMTunerModeType plModes );
- [PreserveSig]
- int RegisterNotificationCallBack( IAMTunerNotification pNotify, AMTunerEventType lEvents );
- [PreserveSig]
- int UnRegisterNotificationCallBack( IAMTunerNotification pNotify );
- #endregion
- [PreserveSig]
- int get_AvailableTVFormats( out AnalogVideoStandard lAnalogVideoStandard );
- [PreserveSig]
- int get_TVFormat( out AnalogVideoStandard lAnalogVideoStandard );
- [PreserveSig]
- int AutoTune( int lChannel, out int plFoundSignal );
- [PreserveSig]
- int StoreAutoTune();
- [PreserveSig]
- int get_NumInputConnections( out int plNumInputConnections );
- [PreserveSig]
- int put_InputType( int lIndex, TunerInputType inputType );
- [PreserveSig]
- int get_InputType( int lIndex, out TunerInputType inputType );
- [PreserveSig]
- int put_ConnectInput( int lIndex );
- [PreserveSig]
- int get_ConnectInput( out int lIndex );
- [PreserveSig]
- int get_VideoFrequency( out int lFreq );
- [PreserveSig]
- int get_AudioFrequency( out int lFreq );
- }
- // ---------------------------------------------------------------------------------------
- [ComVisible(true), ComImport,
- Guid("C6E13380-30AC-11d0-A18C-00A0C9118956"),
- InterfaceType( ComInterfaceType.InterfaceIsIUnknown )]
- public interface IAMCrossbar
- {
- [PreserveSig]
- int get_PinCounts(
- [Out] out int OutputPinCount,
- [Out] out int InputPinCount );
- [PreserveSig]
- int CanRoute(
- [In] int OutputPinIndex,
- [In] int InputPinIndex );
- [PreserveSig]
- int Route(
- [In] int OutputPinIndex,
- [In] int InputPinIndex );
- [PreserveSig]
- int get_IsRoutedTo(
- [In] int OutputPinIndex,
- [Out] out int InputPinIndex );
- [PreserveSig]
- int get_CrossbarPinInfo(
- [In, MarshalAs(UnmanagedType.Bool)] bool IsInputPin,
- [In] int PinIndex,
- [Out] out int PinIndexRelated,
- [Out] out PhysicalConnectorType PhysicalType
- );
- }
- // ---------------------------------------------------------------------------------------
- [ComVisible(true), ComImport,
- Guid("54C39221-8380-11d0-B3F0-00AA003761C5"),
- InterfaceType( ComInterfaceType.InterfaceIsIUnknown )]
- public interface IAMAudioInputMixer
- {
- // This interface is only supported by the input pins, not the filter
- // If disabled, this channel will not be mixed in as part of the
- // recorded signal.
- int put_Enable (
- [In] bool fEnable); // TRUE=enable FALSE=disable
- //Is this channel enabled?
- int get_Enable (
- [Out] out bool pfEnable);
- // When set to mono mode, making a stereo recording of this channel
- // will have both channels contain the same data... a mixture of the
- // left and right signals
- int put_Mono (
- [In] bool fMono); // TRUE=mono FALSE=multi channel
- //all channels combined into a mono signal?
- int get_Mono (
- [Out] out bool pfMono);
- // !!! WILL CARDS BE ABLE TO BOOST THE GAIN?
- //Set the record level for this channel
- int put_MixLevel (
- [In] double Level); // 0 = off, 1 = full (unity?) volume
- // AMF_AUTOMATICGAIN, if supported,
- // means automatic
- //Get the record level for this channel
- int get_MixLevel (
- [Out] out double pLevel);
- // For instance, when panned full left, and you make a stereo recording
- // of this channel, you will record a silent right channel.
- int put_Pan (
- [In] double Pan); // -1 = full left, 0 = centre, 1 = right
- //Get the pan for this channel
- int get_Pan (
- [Out] out double pPan);
- // Boosts the bass of low volume signals before they are recorded
- // to compensate for the fact that your ear has trouble hearing quiet
- // bass sounds
- int put_Loudness (
- [In] bool fLoudness);// TRUE=on FALSE=off
- int get_Loudness (
- [Out] out bool pfLoudness);
- // boosts or cuts the treble of the signal before it's recorded by
- // a certain amount of dB
- int put_Treble (
- [In] double Treble); // gain in dB (-ve = attenuate)
- //Get the treble EQ for this channel
- int get_Treble (
- [Out] out double pTreble);
- // This is the maximum value allowed in put_Treble. ie 6.0 means
- // any value between -6.0 and 6.0 is allowed
- int get_TrebleRange (
- [Out] out double pRange); // largest value allowed
- // boosts or cuts the bass of the signal before it's recorded by
- // a certain amount of dB
- int put_Bass (
- [In] double Bass); // gain in dB (-ve = attenuate)
- // Get the bass EQ for this channel
- int get_Bass (
- [Out] out double pBass);
- // This is the maximum value allowed in put_Bass. ie 6.0 means
- // any value between -6.0 and 6.0 is allowed
- int get_BassRange (
- [Out] out double pRange); // largest value allowed
- }
- // ---------------------------------------------------------------------------------------
- public enum VfwCompressDialogs
- {
- Config = 0x01,
- About = 0x02,
- QueryConfig = 0x04,
- QueryAbout = 0x08
- }
- // ---------------------------------------------------------------------------------------
- [ComVisible(true), ComImport,
- Guid("D8D715A3-6E5E-11D0-B3F0-00AA003761C5"),
- InterfaceType( ComInterfaceType.InterfaceIsIUnknown )]
- public interface IAMVfwCompressDialogs
- {
- [PreserveSig]
- // Bring up a dialog for this codec
- int ShowDialog(
- [In] VfwCompressDialogs iDialog,
- [In] IntPtr hwnd );
- // Calls ICGetState and gives you the result
- int GetState(
- [Out, MarshalAs(UnmanagedType.LPArray, SizeParamIndex=1)] byte[] pState,
- ref int pcbState );
- // Calls ICSetState
- int SetState(
- [In, MarshalAs(UnmanagedType.LPArray, SizeParamIndex=1)] byte[] pState,
- [In] int cbState );
- // Send a codec specific message
- int SendDriverMessage(
- int uMsg,
- long dw1,
- long dw2 );
- }
- // ---------------------------------------------------------------------------------------
- [StructLayout(LayoutKind.Sequential), ComVisible(false)]
- public class VideoStreamConfigCaps // VIDEO_STREAM_CONFIG_CAPS
- {
- public Guid Guid;
- public AnalogVideoStandard VideoStandard;
- public Size InputSize;
- public Size MinCroppingSize;
- public Size MaxCroppingSize;
- public int CropGranularityX;
- public int CropGranularityY;
- public int CropAlignX;
- public int CropAlignY;
- public Size MinOutputSize;
- public Size MaxOutputSize;
- public int OutputGranularityX;
- public int OutputGranularityY;
- public int StretchTapsX;
- public int StretchTapsY;
- public int ShrinkTapsX;
- public int ShrinkTapsY;
- public long MinFrameInterval;
- public long MaxFrameInterval;
- public int MinBitsPerSecond;
- public int MaxBitsPerSecond;
- }
- // ---------------------------------------------------------------------------------------
- [StructLayout(LayoutKind.Sequential), ComVisible(false)]
- public class AudioStreamConfigCaps // AUDIO_STREAM_CONFIG_CAPS
- {
- public Guid Guid;
- public int MinimumChannels;
- public int MaximumChannels;
- public int ChannelsGranularity;
- public int MinimumBitsPerSample;
- public int MaximumBitsPerSample;
- public int BitsPerSampleGranularity;
- public int MinimumSampleFrequency;
- public int MaximumSampleFrequency;
- public int SampleFrequencyGranularity;
- }
- } // namespace DShowNET