dshow_capture.h File Reference
#include "avdevice.h"
#include <windows.h>
#include <dshow.h>
#include <dvdmedia.h>
Include dependency graph for dshow_capture.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  GUIDoffset
 
struct  libAVPin
 
struct  libAVEnumPins
 
struct  libAVEnumMediaTypes
 
struct  libAVFilter
 

Macros

#define DSHOWDEBUG   0
 
#define COBJMACROS
 
#define NO_DSHOW_STRSAFE
 
#define EC_DEVICE_LOST   0x1f
 
#define dshowdebug(...)
 
#define DECLARE_QUERYINTERFACE(class, ...)
 
#define DECLARE_ADDREF(class)
 
#define DECLARE_RELEASE(class)
 
#define DECLARE_DESTROY(class, func)
 
#define DECLARE_CREATE(class, setup, ...)
 
#define SETVTBL(vtbl, class, fn)   do { (vtbl)->fn = (void *) class##_##fn; } while(0)
 

Typedefs

typedef struct libAVPin libAVPin
 
typedef struct libAVMemInputPin libAVMemInputPin
 
typedef struct libAVEnumPins libAVEnumPins
 
typedef struct libAVEnumMediaTypes libAVEnumMediaTypes
 
typedef struct libAVFilter libAVFilter
 

Enumerations

enum  dshowDeviceType { VideoDevice = 0, AudioDevice = 1 }
 

Functions

long ff_copy_dshow_media_type (AM_MEDIA_TYPE *dst, const AM_MEDIA_TYPE *src)
 
void ff_print_VIDEO_STREAM_CONFIG_CAPS (const VIDEO_STREAM_CONFIG_CAPS *caps)
 
void ff_print_AUDIO_STREAM_CONFIG_CAPS (const AUDIO_STREAM_CONFIG_CAPS *caps)
 
void ff_print_AM_MEDIA_TYPE (const AM_MEDIA_TYPE *type)
 
void ff_printGUID (const GUID *g)
 
static void nothing (void *foo)
 
long WINAPI libAVPin_QueryInterface (libAVPin *, const GUID *, void **)
 
unsigned long WINAPI libAVPin_AddRef (libAVPin *)
 
unsigned long WINAPI libAVPin_Release (libAVPin *)
 
long WINAPI libAVPin_Connect (libAVPin *, IPin *, const AM_MEDIA_TYPE *)
 
long WINAPI libAVPin_ReceiveConnection (libAVPin *, IPin *, const AM_MEDIA_TYPE *)
 
long WINAPI libAVPin_Disconnect (libAVPin *)
 
long WINAPI libAVPin_ConnectedTo (libAVPin *, IPin **)
 
long WINAPI libAVPin_ConnectionMediaType (libAVPin *, AM_MEDIA_TYPE *)
 
long WINAPI libAVPin_QueryPinInfo (libAVPin *, PIN_INFO *)
 
long WINAPI libAVPin_QueryDirection (libAVPin *, PIN_DIRECTION *)
 
long WINAPI libAVPin_QueryId (libAVPin *, wchar_t **)
 
long WINAPI libAVPin_QueryAccept (libAVPin *, const AM_MEDIA_TYPE *)
 
long WINAPI libAVPin_EnumMediaTypes (libAVPin *, IEnumMediaTypes **)
 
long WINAPI libAVPin_QueryInternalConnections (libAVPin *, IPin **, unsigned long *)
 
long WINAPI libAVPin_EndOfStream (libAVPin *)
 
long WINAPI libAVPin_BeginFlush (libAVPin *)
 
long WINAPI libAVPin_EndFlush (libAVPin *)
 
long WINAPI libAVPin_NewSegment (libAVPin *, REFERENCE_TIME, REFERENCE_TIME, double)
 
long WINAPI libAVMemInputPin_QueryInterface (libAVMemInputPin *, const GUID *, void **)
 
unsigned long WINAPI libAVMemInputPin_AddRef (libAVMemInputPin *)
 
unsigned long WINAPI libAVMemInputPin_Release (libAVMemInputPin *)
 
long WINAPI libAVMemInputPin_GetAllocator (libAVMemInputPin *, IMemAllocator **)
 
long WINAPI libAVMemInputPin_NotifyAllocator (libAVMemInputPin *, IMemAllocator *, BOOL)
 
long WINAPI libAVMemInputPin_GetAllocatorRequirements (libAVMemInputPin *, ALLOCATOR_PROPERTIES *)
 
long WINAPI libAVMemInputPin_Receive (libAVMemInputPin *, IMediaSample *)
 
long WINAPI libAVMemInputPin_ReceiveMultiple (libAVMemInputPin *, IMediaSample **, long, long *)
 
long WINAPI libAVMemInputPin_ReceiveCanBlock (libAVMemInputPin *)
 
void libAVPin_Destroy (libAVPin *)
 
libAVPinlibAVPin_Create (libAVFilter *filter)
 
void libAVMemInputPin_Destroy (libAVMemInputPin *)
 
long WINAPI libAVEnumPins_QueryInterface (libAVEnumPins *, const GUID *, void **)
 
unsigned long WINAPI libAVEnumPins_AddRef (libAVEnumPins *)
 
unsigned long WINAPI libAVEnumPins_Release (libAVEnumPins *)
 
long WINAPI libAVEnumPins_Next (libAVEnumPins *, unsigned long, IPin **, unsigned long *)
 
long WINAPI libAVEnumPins_Skip (libAVEnumPins *, unsigned long)
 
long WINAPI libAVEnumPins_Reset (libAVEnumPins *)
 
long WINAPI libAVEnumPins_Clone (libAVEnumPins *, libAVEnumPins **)
 
void libAVEnumPins_Destroy (libAVEnumPins *)
 
libAVEnumPinslibAVEnumPins_Create (libAVPin *pin, libAVFilter *filter)
 
long WINAPI libAVEnumMediaTypes_QueryInterface (libAVEnumMediaTypes *, const GUID *, void **)
 
unsigned long WINAPI libAVEnumMediaTypes_AddRef (libAVEnumMediaTypes *)
 
unsigned long WINAPI libAVEnumMediaTypes_Release (libAVEnumMediaTypes *)
 
long WINAPI libAVEnumMediaTypes_Next (libAVEnumMediaTypes *, unsigned long, AM_MEDIA_TYPE **, unsigned long *)
 
long WINAPI libAVEnumMediaTypes_Skip (libAVEnumMediaTypes *, unsigned long)
 
long WINAPI libAVEnumMediaTypes_Reset (libAVEnumMediaTypes *)
 
long WINAPI libAVEnumMediaTypes_Clone (libAVEnumMediaTypes *, libAVEnumMediaTypes **)
 
void libAVEnumMediaTypes_Destroy (libAVEnumMediaTypes *)
 
libAVEnumMediaTypeslibAVEnumMediaTypes_Create (const AM_MEDIA_TYPE *type)
 
long WINAPI libAVFilter_QueryInterface (libAVFilter *, const GUID *, void **)
 
unsigned long WINAPI libAVFilter_AddRef (libAVFilter *)
 
unsigned long WINAPI libAVFilter_Release (libAVFilter *)
 
long WINAPI libAVFilter_GetClassID (libAVFilter *, CLSID *)
 
long WINAPI libAVFilter_Stop (libAVFilter *)
 
long WINAPI libAVFilter_Pause (libAVFilter *)
 
long WINAPI libAVFilter_Run (libAVFilter *, REFERENCE_TIME)
 
long WINAPI libAVFilter_GetState (libAVFilter *, DWORD, FILTER_STATE *)
 
long WINAPI libAVFilter_SetSyncSource (libAVFilter *, IReferenceClock *)
 
long WINAPI libAVFilter_GetSyncSource (libAVFilter *, IReferenceClock **)
 
long WINAPI libAVFilter_EnumPins (libAVFilter *, IEnumPins **)
 
long WINAPI libAVFilter_FindPin (libAVFilter *, const wchar_t *, IPin **)
 
long WINAPI libAVFilter_QueryFilterInfo (libAVFilter *, FILTER_INFO *)
 
long WINAPI libAVFilter_JoinFilterGraph (libAVFilter *, IFilterGraph *, const wchar_t *)
 
long WINAPI libAVFilter_QueryVendorInfo (libAVFilter *, wchar_t **)
 
void libAVFilter_Destroy (libAVFilter *)
 
libAVFilterlibAVFilter_Create (void *, void *, enum dshowDeviceType)
 

Macro Definition Documentation

#define COBJMACROS

Definition at line 29 of file dshow_capture.h.

#define DECLARE_ADDREF (   class)
Value:
unsigned long WINAPI \
class##_AddRef(class *this) \
{ \
dshowdebug(AV_STRINGIFY(class)"_AddRef(%p)\t%ld\n", this, this->ref+1); \
}
FIXME Range Coding of cr are ref
Definition: snow.txt:367
#define dshowdebug(...)
Definition: dshow_capture.h:50
#define AV_STRINGIFY(s)
these buffered frames must be flushed immediately if a new input produces new the filter must not call request_frame to get more It must just process the frame or queue it The task of requesting more frames is left to the filter s request_frame method or the application If a filter has several the filter must be ready for frames arriving randomly on any input any filter with several inputs will most likely require some kind of queuing mechanism It is perfectly acceptable to have a limited queue and to drop frames when the inputs are too unbalanced request_frame This method is called when a frame is wanted on an output For an it should directly call filter_frame on the corresponding output For a if there are queued frames already one of these frames should be pushed If the filter should request a frame on one of its repeatedly until at least one frame has been pushed Return it should return
#define InterlockedIncrement(x)
Definition: windows2linux.h:62

Definition at line 90 of file dshow_capture.h.

Referenced by DECLARE_QUERYINTERFACE().

#define DECLARE_CREATE (   class,
  setup,
  ... 
)
Value:
class *class##_Create(__VA_ARGS__) \
{ \
class *this = CoTaskMemAlloc(sizeof(class)); \
void *vtbl = CoTaskMemAlloc(sizeof(*this->vtbl)); \
dshowdebug(AV_STRINGIFY(class)"_Create(%p)\n", this); \
if (!this || !vtbl) \
goto fail; \
ZeroMemory(this, sizeof(class)); \
ZeroMemory(vtbl, sizeof(*this->vtbl)); \
this->ref = 1; \
this->vtbl = vtbl; \
if (!setup) \
goto fail; \
dshowdebug("created "AV_STRINGIFY(class)" %p\n", this); \
return this; \
fail: \
class##_Destroy(this); \
dshowdebug("could not create "AV_STRINGIFY(class)"\n"); \
}
#define dshowdebug(...)
Definition: dshow_capture.h:50
initialize output if(nPeaks >3)%at least 3 peaks in spectrum for trying to find f0 nf0peaks
const AVClass * class
Definition: dshow.c:32
NULL
Definition: eval.c:55
typedef void(RENAME(mix_any_func_type))
#define AV_STRINGIFY(s)
these buffered frames must be flushed immediately if a new input produces new the filter must not call request_frame to get more It must just process the frame or queue it The task of requesting more frames is left to the filter s request_frame method or the application If a filter has several the filter must be ready for frames arriving randomly on any input any filter with several inputs will most likely require some kind of queuing mechanism It is perfectly acceptable to have a limited queue and to drop frames when the inputs are too unbalanced request_frame This method is called when a frame is wanted on an output For an it should directly call filter_frame on the corresponding output For a if there are queued frames already one of these frames should be pushed If the filter should request a frame on one of its repeatedly until at least one frame has been pushed Return it should return

Definition at line 119 of file dshow_capture.h.

Referenced by libAVEnumMediaTypes_Setup(), libAVEnumPins_Cleanup(), libAVFilter_Cleanup(), and libAVPin_Setup().

#define DECLARE_DESTROY (   class,
  func 
)
Value:
void class##_Destroy(class *this) \
{ \
dshowdebug(AV_STRINGIFY(class)"_Destroy(%p)\n", this); \
func(this); \
if (this) { \
if (this->vtbl) \
CoTaskMemFree(this->vtbl); \
CoTaskMemFree(this); \
} \
}
#define dshowdebug(...)
Definition: dshow_capture.h:50
initialize output if(nPeaks >3)%at least 3 peaks in spectrum for trying to find f0 nf0peaks
#define AV_STRINGIFY(s)
int(* func)(AVBPrint *dst, const char *in, const char *arg)

Definition at line 108 of file dshow_capture.h.

Referenced by libAVEnumMediaTypes_Setup(), libAVEnumPins_Cleanup(), libAVFilter_Cleanup(), and libAVPin_Setup().

#define DECLARE_QUERYINTERFACE (   class,
  ... 
)
Value:
long WINAPI \
class##_QueryInterface(class *this, const GUID *riid, void **ppvObject) \
{ \
struct GUIDoffset ifaces[] = __VA_ARGS__; \
int i; \
dshowdebug(AV_STRINGIFY(class)"_QueryInterface(%p, %p, %p)\n", this, riid, ppvObject); \
if (!ppvObject) \
for (i = 0; i < sizeof(ifaces)/sizeof(ifaces[0]); i++) { \
if (IsEqualGUID(riid, ifaces[i].iid)) { \
void *obj = (void *) ((uint8_t *) this + ifaces[i].offset); \
class##_AddRef(this); \
dshowdebug("\tfound %d with offset %d\n", i, ifaces[i].offset); \
*ppvObject = (void *) obj; \
} \
} \
dshowdebug("\tE_NOINTERFACE\n"); \
*ppvObject = NULL; \
}
#define S_OK
Definition: windows2linux.h:40
#define dshowdebug(...)
Definition: dshow_capture.h:50
#define E_POINTER
Definition: windows2linux.h:43
initialize output if(nPeaks >3)%at least 3 peaks in spectrum for trying to find f0 nf0peaks
uint8_t
const AVClass * class
Definition: dshow.c:32
#define E_NOINTERFACE
Definition: windows2linux.h:42
static const uint8_t offset[127][2]
Definition: vf_spp.c:70
NULL
Definition: eval.c:55
typedef void(RENAME(mix_any_func_type))
void ff_printGUID(const GUID *g)
Definition: dshow_common.c:42
#define AV_STRINGIFY(s)
synthesis window for stochastic i
these buffered frames must be flushed immediately if a new input produces new the filter must not call request_frame to get more It must just process the frame or queue it The task of requesting more frames is left to the filter s request_frame method or the application If a filter has several the filter must be ready for frames arriving randomly on any input any filter with several inputs will most likely require some kind of queuing mechanism It is perfectly acceptable to have a limited queue and to drop frames when the inputs are too unbalanced request_frame This method is called when a frame is wanted on an output For an it should directly call filter_frame on the corresponding output For a if there are queued frames already one of these frames should be pushed If the filter should request a frame on one of its repeatedly until at least one frame has been pushed Return it should return
for(j=16;j >0;--j)

Definition at line 67 of file dshow_capture.h.

#define DECLARE_RELEASE (   class)
Value:
unsigned long WINAPI \
class##_Release(class *this) \
{ \
long ref = InterlockedDecrement(&this->ref); \
dshowdebug(AV_STRINGIFY(class)"_Release(%p)\t%ld\n", this, ref); \
if (!ref) \
class##_Destroy(this); \
}
FIXME Range Coding of cr are ref
Definition: snow.txt:367
#define dshowdebug(...)
Definition: dshow_capture.h:50
#define InterlockedDecrement(x)
Definition: windows2linux.h:63
initialize output if(nPeaks >3)%at least 3 peaks in spectrum for trying to find f0 nf0peaks
const AVClass * class
Definition: dshow.c:32
#define AV_STRINGIFY(s)
these buffered frames must be flushed immediately if a new input produces new the filter must not call request_frame to get more It must just process the frame or queue it The task of requesting more frames is left to the filter s request_frame method or the application If a filter has several the filter must be ready for frames arriving randomly on any input any filter with several inputs will most likely require some kind of queuing mechanism It is perfectly acceptable to have a limited queue and to drop frames when the inputs are too unbalanced request_frame This method is called when a frame is wanted on an output For an it should directly call filter_frame on the corresponding output For a if there are queued frames already one of these frames should be pushed If the filter should request a frame on one of its repeatedly until at least one frame has been pushed Return it should return

Definition at line 97 of file dshow_capture.h.

Referenced by DECLARE_QUERYINTERFACE().

#define DSHOWDEBUG   0

Definition at line 25 of file dshow_capture.h.

#define EC_DEVICE_LOST   0x1f

Definition at line 37 of file dshow_capture.h.

Referenced by dshow_check_event_queue().

#define NO_DSHOW_STRSAFE

Definition at line 31 of file dshow_capture.h.

#define SETVTBL (   vtbl,
  class,
  fn 
)    do { (vtbl)->fn = (void *) class##_##fn; } while(0)

Typedef Documentation

Definition at line 150 of file dshow_capture.h.

typedef struct libAVEnumPins libAVEnumPins

Definition at line 149 of file dshow_capture.h.

typedef struct libAVFilter libAVFilter

Definition at line 151 of file dshow_capture.h.

Definition at line 148 of file dshow_capture.h.

typedef struct libAVPin libAVPin

Definition at line 147 of file dshow_capture.h.

Enumeration Type Documentation

Enumerator
VideoDevice 
AudioDevice 

Definition at line 62 of file dshow_capture.h.

Function Documentation

long ff_copy_dshow_media_type ( AM_MEDIA_TYPE *  dst,
const AM_MEDIA_TYPE *  src 
)
void ff_print_AM_MEDIA_TYPE ( const AM_MEDIA_TYPE *  type)

Definition at line 134 of file dshow_common.c.

Referenced by dshow_cycle_formats(), and libAVPin_ReceiveConnection().

void ff_print_AUDIO_STREAM_CONFIG_CAPS ( const AUDIO_STREAM_CONFIG_CAPS *  caps)

Definition at line 115 of file dshow_common.c.

Referenced by dshow_cycle_formats().

void ff_print_VIDEO_STREAM_CONFIG_CAPS ( const VIDEO_STREAM_CONFIG_CAPS *  caps)

Definition at line 85 of file dshow_common.c.

Referenced by dshow_cycle_formats().

void ff_printGUID ( const GUID g)
unsigned long WINAPI libAVEnumMediaTypes_AddRef ( libAVEnumMediaTypes )
long WINAPI libAVEnumMediaTypes_Clone ( libAVEnumMediaTypes ,
libAVEnumMediaTypes **   
)

Definition at line 68 of file dshow_enummediatypes.c.

libAVEnumMediaTypes* libAVEnumMediaTypes_Create ( const AM_MEDIA_TYPE *  type)
void libAVEnumMediaTypes_Destroy ( libAVEnumMediaTypes )
long WINAPI libAVEnumMediaTypes_Next ( libAVEnumMediaTypes ,
unsigned  long,
AM_MEDIA_TYPE **  ,
unsigned long *   
)

Referenced by DECLARE_QUERYINTERFACE().

long WINAPI libAVEnumMediaTypes_QueryInterface ( libAVEnumMediaTypes ,
const GUID ,
void **   
)
unsigned long WINAPI libAVEnumMediaTypes_Release ( libAVEnumMediaTypes )
long WINAPI libAVEnumMediaTypes_Reset ( libAVEnumMediaTypes )

Definition at line 61 of file dshow_enummediatypes.c.

long WINAPI libAVEnumMediaTypes_Skip ( libAVEnumMediaTypes ,
unsigned  long 
)

Definition at line 53 of file dshow_enummediatypes.c.

unsigned long WINAPI libAVEnumPins_AddRef ( libAVEnumPins )
long WINAPI libAVEnumPins_Clone ( libAVEnumPins ,
libAVEnumPins **   
)

Definition at line 65 of file dshow_enumpins.c.

libAVEnumPins* libAVEnumPins_Create ( libAVPin pin,
libAVFilter filter 
)
void libAVEnumPins_Destroy ( libAVEnumPins )
long WINAPI libAVEnumPins_Next ( libAVEnumPins ,
unsigned  long,
IPin **  ,
unsigned long *   
)

Referenced by DECLARE_QUERYINTERFACE().

long WINAPI libAVEnumPins_QueryInterface ( libAVEnumPins ,
const GUID ,
void **   
)
unsigned long WINAPI libAVEnumPins_Release ( libAVEnumPins )
long WINAPI libAVEnumPins_Reset ( libAVEnumPins )

Definition at line 58 of file dshow_enumpins.c.

long WINAPI libAVEnumPins_Skip ( libAVEnumPins ,
unsigned  long 
)

Definition at line 50 of file dshow_enumpins.c.

unsigned long WINAPI libAVFilter_AddRef ( libAVFilter )
libAVFilter* libAVFilter_Create ( void ,
void ,
enum  dshowDeviceType 
)

Referenced by dshow_open_device().

void libAVFilter_Destroy ( libAVFilter )
long WINAPI libAVFilter_EnumPins ( libAVFilter ,
IEnumPins **   
)

Definition at line 96 of file dshow_filter.c.

long WINAPI libAVFilter_FindPin ( libAVFilter ,
const wchar_t *  ,
IPin **   
)

Definition at line 111 of file dshow_filter.c.

long WINAPI libAVFilter_GetClassID ( libAVFilter ,
CLSID  
)

Referenced by DECLARE_QUERYINTERFACE().

long WINAPI libAVFilter_GetState ( libAVFilter ,
DWORD  ,
FILTER_STATE *   
)

Definition at line 59 of file dshow_filter.c.

long WINAPI libAVFilter_GetSyncSource ( libAVFilter ,
IReferenceClock **   
)

Definition at line 83 of file dshow_filter.c.

long WINAPI libAVFilter_JoinFilterGraph ( libAVFilter ,
IFilterGraph *  ,
const wchar_t *   
)

Definition at line 142 of file dshow_filter.c.

long WINAPI libAVFilter_Pause ( libAVFilter )

Definition at line 44 of file dshow_filter.c.

long WINAPI libAVFilter_QueryFilterInfo ( libAVFilter ,
FILTER_INFO *   
)

Definition at line 129 of file dshow_filter.c.

long WINAPI libAVFilter_QueryInterface ( libAVFilter ,
const GUID ,
void **   
)
long WINAPI libAVFilter_QueryVendorInfo ( libAVFilter ,
wchar_t **   
)

Definition at line 154 of file dshow_filter.c.

unsigned long WINAPI libAVFilter_Release ( libAVFilter )
long WINAPI libAVFilter_Run ( libAVFilter ,
REFERENCE_TIME   
)

Definition at line 51 of file dshow_filter.c.

long WINAPI libAVFilter_SetSyncSource ( libAVFilter ,
IReferenceClock *   
)

Definition at line 68 of file dshow_filter.c.

long WINAPI libAVFilter_Stop ( libAVFilter )

Definition at line 37 of file dshow_filter.c.

unsigned long WINAPI libAVMemInputPin_AddRef ( libAVMemInputPin )

Definition at line 267 of file dshow_pin.c.

void libAVMemInputPin_Destroy ( libAVMemInputPin )

Definition at line 357 of file dshow_pin.c.

long WINAPI libAVMemInputPin_GetAllocator ( libAVMemInputPin ,
IMemAllocator **   
)

Definition at line 281 of file dshow_pin.c.

long WINAPI libAVMemInputPin_GetAllocatorRequirements ( libAVMemInputPin ,
ALLOCATOR_PROPERTIES *   
)

Definition at line 294 of file dshow_pin.c.

long WINAPI libAVMemInputPin_NotifyAllocator ( libAVMemInputPin ,
IMemAllocator *  ,
BOOL   
)

Definition at line 287 of file dshow_pin.c.

long WINAPI libAVMemInputPin_QueryInterface ( libAVMemInputPin ,
const GUID ,
void **   
)

Definition at line 259 of file dshow_pin.c.

long WINAPI libAVMemInputPin_Receive ( libAVMemInputPin ,
IMediaSample *   
)

Definition at line 301 of file dshow_pin.c.

Referenced by libAVMemInputPin_ReceiveMultiple().

long WINAPI libAVMemInputPin_ReceiveCanBlock ( libAVMemInputPin )

Definition at line 349 of file dshow_pin.c.

long WINAPI libAVMemInputPin_ReceiveMultiple ( libAVMemInputPin ,
IMediaSample **  ,
long  ,
long *   
)

Definition at line 336 of file dshow_pin.c.

unsigned long WINAPI libAVMemInputPin_Release ( libAVMemInputPin )

Definition at line 274 of file dshow_pin.c.

unsigned long WINAPI libAVPin_AddRef ( libAVPin )
long WINAPI libAVPin_BeginFlush ( libAVPin )

Definition at line 182 of file dshow_pin.c.

long WINAPI libAVPin_Connect ( libAVPin ,
IPin *  ,
const AM_MEDIA_TYPE *   
)

Referenced by DECLARE_QUERYINTERFACE().

long WINAPI libAVPin_ConnectedTo ( libAVPin ,
IPin **   
)

Definition at line 82 of file dshow_pin.c.

long WINAPI libAVPin_ConnectionMediaType ( libAVPin ,
AM_MEDIA_TYPE *   
)

Definition at line 96 of file dshow_pin.c.

Referenced by dshow_add_device().

libAVPin* libAVPin_Create ( libAVFilter filter)

Referenced by libAVFilter_Setup().

void libAVPin_Destroy ( libAVPin )
long WINAPI libAVPin_Disconnect ( libAVPin )

Definition at line 68 of file dshow_pin.c.

long WINAPI libAVPin_EndFlush ( libAVPin )

Definition at line 189 of file dshow_pin.c.

long WINAPI libAVPin_EndOfStream ( libAVPin )

Definition at line 175 of file dshow_pin.c.

long WINAPI libAVPin_EnumMediaTypes ( libAVPin ,
IEnumMediaTypes **   
)

Definition at line 152 of file dshow_pin.c.

long WINAPI libAVPin_NewSegment ( libAVPin ,
REFERENCE_TIME  ,
REFERENCE_TIME  ,
double   
)

Definition at line 196 of file dshow_pin.c.

long WINAPI libAVPin_QueryAccept ( libAVPin ,
const AM_MEDIA_TYPE *   
)

Definition at line 146 of file dshow_pin.c.

long WINAPI libAVPin_QueryDirection ( libAVPin ,
PIN_DIRECTION *   
)

Definition at line 125 of file dshow_pin.c.

long WINAPI libAVPin_QueryId ( libAVPin ,
wchar_t **   
)

Definition at line 134 of file dshow_pin.c.

long WINAPI libAVPin_QueryInterface ( libAVPin ,
const GUID ,
void **   
)
long WINAPI libAVPin_QueryInternalConnections ( libAVPin ,
IPin **  ,
unsigned long *   
)

Definition at line 168 of file dshow_pin.c.

long WINAPI libAVPin_QueryPinInfo ( libAVPin ,
PIN_INFO *   
)

Definition at line 108 of file dshow_pin.c.

long WINAPI libAVPin_ReceiveConnection ( libAVPin ,
IPin *  ,
const AM_MEDIA_TYPE *   
)

Definition at line 40 of file dshow_pin.c.

unsigned long WINAPI libAVPin_Release ( libAVPin )
static void nothing ( void foo)
inlinestatic

Definition at line 53 of file dshow_capture.h.

Referenced by libAVEnumMediaTypes_Setup(), and libAVPin_Setup().