The DejaVU Framework --
hush 3.1
-
[up]
[top] -
index
make
include
source
logic
grammar
scripts
html
configure
mx
slides
talks
scenes
reports
projects
<body bgcolor="#FFFFFF" text="#000000">
//------------------------------------------------------------------------------
// 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
// 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
<h4>/////////////////////////////////////////////////////////////////</h4>
// 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.
<h4>/////////////////////////////////////////////////////////////////</h4>
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
<h4>/////////////////////////////////////////////////////////////////</h4>
// End Platform SDK definitions
<h4>/////////////////////////////////////////////////////////////////</h4>
#pragma warning(disable:4201) // warning C4201: nonstandard extension used : nameless struct/union
include <strmif.h> // Generated IDL header file for streams interfaces
include // Helper class for REFERENCE_TIME management
include <wxdebug.h> // Debug support for logging and ASSERTs
include // ActiveMovie video interfaces and definitions
//include amaudio.h explicitly if you need it. it requires the DirectX SDK.
//#include // ActiveMovie audio interfaces and definitions
include <wxutil.h> // General helper classes for threads etc
include // Base COM classes to support IUnknown
include // Filter registration support functions
include <measure.h> // Performance measurement
include // Light weight com function prototypes
include // 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 // generated from control.odl
include // control interface utility classes
include <evcode.h> // event code definitions
include // 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 // Base clock class
include <sysclock.h> // System clock
include <pstream.h> // IPersistStream helper class
include <vtrans.h> // Video Transform Filter base class
include
include // Base property page class
include <strmctl.h> // IAMStreamControl support
include <edevdefs.h> // External device control interface defines
include // audio filter device error event codes
else
#ifdef DEBUG
#pragma message("STREAMS.H included TWICE")
#endif
endif // __STREAMS__
<hr>
<style type="text/css">
div.mainnavigate {
margin: 20px 2px;
/*
background-color: #ffffff;
*/
border: 1px solid black;
}
</style>
<div class=xnavigate>
[]
<black>readme</black>
course(s)
preface
<black>I</black>
1
2
<black>II</black>
3
4
<black>III</black>
5
6
7
<black>IV</black>
8
9
10
<black>V</black>
11
12
afterthought(s)
<black>appendix</black>
reference(s)
example(s)
<black>resource(s)</black>
_
</div>
<hr>
(C) Æliens
20/2/2008
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.
</div>
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-2780434-1";
urchinTracker();
</script>
</body>
</html>
<hr>
<hr>
<table cellpadding=10>
<tr>
<td>
<address>
Hush Online Technology
</address>
hush@cs.vu.nl
<br>03/12/09
</td><td>
</td>
<td></td><td></td><td></td><td></td><td></td><td></td><td></td>
<td>
</td>
</tr>
</table>