⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 streams.h

📁 mediastreamer2是开源的网络传输媒体流的库
💻 H
字号:
//------------------------------------------------------------------------------// File: Streams.h//// Desc: DirectShow base classes - defines overall streams architecture.//// Copyright (c) Microsoft Corporation.  All rights reserved.//------------------------------------------------------------------------------#ifndef __STREAMS__#define __STREAMS__#ifdef	_MSC_VER// disable some level-4 warnings, use #pragma warning(enable:###) to re-enable#pragma warning(disable:4100) // warning C4100: unreferenced formal parameter#pragma warning(disable:4127) // warning C4127: conditional expression is constant#pragma warning(disable:4189) // warning C4189: local variable is initialized but not referenced#pragma warning(disable:4201) // warning C4201: nonstandard extension used : nameless struct/union#pragma warning(disable:4511) // warning C4511: copy constructor could not be generated#pragma warning(disable:4512) // warning C4512: assignment operator could not be generated#pragma warning(disable:4514) // warning C4514: unreferenced inline function has been removed#pragma warning(disable:4710) // warning C4710: 'function' not inlined#if _MSC_VER>=1100#define AM_NOVTABLE __declspec(novtable)#else#define AM_NOVTABLE#endif#endif	// MSC_VER// Because of differences between Visual C++ and older Microsoft SDKs,// you may have defined _DEBUG without defining DEBUG.  This logic// ensures that both will be set if Visual C++ sets _DEBUG.#ifdef _DEBUG#ifndef DEBUG#define DEBUG#endif#endif#include <windows.h>#include <windowsx.h>#include <olectl.h>#include <ddraw.h>// Disable warning message for C4201 - use of nameless struct/union// Otherwise, strmif.h will generate warnings for Win32 debug builds#pragma warning( disable : 4201 )  #include <mmsystem.h>#ifndef NUMELMS   #define NUMELMS(aa) (sizeof(aa)/sizeof((aa)[0]))#endif///////////////////////////////////////////////////////////////////////////// The following definitions come from the Platform SDK and are required if// the applicaiton is being compiled with the headers from Visual C++ 6.0.///////////////////////////////////////////////////////////////////////////#ifndef InterlockedExchangePointer	#define InterlockedExchangePointer(Target, Value) \   (PVOID)InterlockedExchange((PLONG)(Target), (LONG)(Value))#endif#ifndef _WAVEFORMATEXTENSIBLE_#define _WAVEFORMATEXTENSIBLE_typedef struct {    WAVEFORMATEX    Format;    union {        WORD wValidBitsPerSample;       /* bits of precision  */        WORD wSamplesPerBlock;          /* valid if wBitsPerSample==0 */        WORD wReserved;                 /* If neither applies, set to zero. */    } Samples;    DWORD           dwChannelMask;      /* which channels are */                                        /* present in stream  */    GUID            SubFormat;} WAVEFORMATEXTENSIBLE, *PWAVEFORMATEXTENSIBLE;#endif // !_WAVEFORMATEXTENSIBLE_#if !defined(WAVE_FORMAT_EXTENSIBLE)#define  WAVE_FORMAT_EXTENSIBLE                 0xFFFE#endif // !defined(WAVE_FORMAT_EXTENSIBLE)#ifndef GetWindowLongPtr  #define GetWindowLongPtrA   GetWindowLongA  #define GetWindowLongPtrW   GetWindowLongW  #ifdef UNICODE    #define GetWindowLongPtr  GetWindowLongPtrW  #else    #define GetWindowLongPtr  GetWindowLongPtrA  #endif // !UNICODE#endif // !GetWindowLongPtr#ifndef SetWindowLongPtr  #define SetWindowLongPtrA   SetWindowLongA  #define SetWindowLongPtrW   SetWindowLongW  #ifdef UNICODE    #define SetWindowLongPtr  SetWindowLongPtrW  #else    #define SetWindowLongPtr  SetWindowLongPtrA  #endif // !UNICODE#endif // !SetWindowLongPtr#ifndef GWLP_WNDPROC  #define GWLP_WNDPROC        (-4)#endif#ifndef GWLP_HINSTANCE  #define GWLP_HINSTANCE      (-6)#endif#ifndef GWLP_HWNDPARENT  #define GWLP_HWNDPARENT     (-8)#endif#ifndef GWLP_USERDATA  #define GWLP_USERDATA       (-21)#endif#ifndef GWLP_ID  #define GWLP_ID             (-12)#endif#ifndef DWLP_MSGRESULT  #define DWLP_MSGRESULT  0#endif#ifndef DWLP_DLGPROC   #define DWLP_DLGPROC    DWLP_MSGRESULT + sizeof(LRESULT)#endif#ifndef DWLP_USER  #define DWLP_USER       DWLP_DLGPROC + sizeof(DLGPROC)#endif///////////////////////////////////////////////////////////////////////////// End Platform SDK definitions///////////////////////////////////////////////////////////////////////////#pragma warning(disable:4201) // warning C4201: nonstandard extension used : nameless struct/union#include <strmif.h>     // Generated IDL header file for streams interfaces#include <reftime.h>    // Helper class for REFERENCE_TIME management#include <wxdebug.h>    // Debug support for logging and ASSERTs#include <amvideo.h>    // ActiveMovie video interfaces and definitions//include amaudio.h explicitly if you need it.  it requires the DirectX SDK.//#include <amaudio.h>    // ActiveMovie audio interfaces and definitions#include <wxutil.h>     // General helper classes for threads etc#include <combase.h>    // Base COM classes to support IUnknown#include <dllsetup.h>   // Filter registration support functions#include <measure.h>    // Performance measurement#include <comlite.h>    // Light weight com function prototypes#include <cache.h>      // Simple cache container class#include <wxlist.h>     // Non MFC generic list class#include <msgthrd.h>	// CMsgThread#include <mtype.h>      // Helper class for managing media types#include <fourcc.h>     // conversions between FOURCCs and GUIDs#include <control.h>    // generated from control.odl#include <ctlutil.h>    // control interface utility classes#include <evcode.h>     // event code definitions#include <amfilter.h>   // Main streams architecture class hierachy#include <transfrm.h>   // Generic transform filter#include <transip.h>    // Generic transform-in-place filter#include <uuids.h>      // declaration of type GUIDs and well-known clsids#include <source.h>	// Generic source filter#include <outputq.h>    // Output pin queueing#include <errors.h>     // HRESULT status and error definitions#include <renbase.h>    // Base class for writing ActiveX renderers#include <winutil.h>    // Helps with filters that manage windows#include <winctrl.h>    // Implements the IVideoWindow interface#include <videoctl.h>   // Specifically video related classes#include <refclock.h>	// Base clock class#include <sysclock.h>	// System clock#include <pstream.h>    // IPersistStream helper class#include <vtrans.h>     // Video Transform Filter base class#include <amextra.h>#include <cprop.h>      // Base property page class#include <strmctl.h>    // IAMStreamControl support#include <edevdefs.h>   // External device control interface defines#include <audevcod.h>   // audio filter device error event codes#else    #ifdef DEBUG    #pragma message("STREAMS.H included TWICE")    #endif#endif // __STREAMS__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -