2001-08-16 00:50:02 +00:00
|
|
|
#ifndef DS_OUTPUTPIN_H
|
|
|
|
#define DS_OUTPUTPIN_H
|
|
|
|
|
|
|
|
/* "output pin" - the one that connects to output of filter. */
|
2001-03-20 00:05:27 +00:00
|
|
|
|
2001-05-06 21:43:45 +00:00
|
|
|
#include "allocator.h"
|
2001-08-16 00:50:02 +00:00
|
|
|
|
2001-11-21 19:12:39 +00:00
|
|
|
typedef struct _COutputPin COutputPin;
|
2001-08-16 00:50:02 +00:00
|
|
|
|
2001-11-21 19:12:39 +00:00
|
|
|
typedef struct _COutputMemPin COutputMemPin;
|
|
|
|
struct _COutputMemPin
|
2001-03-20 00:05:27 +00:00
|
|
|
{
|
2001-11-21 19:12:39 +00:00
|
|
|
IMemInputPin_vt* vt;
|
2001-11-26 00:56:11 +00:00
|
|
|
DECLARE_IUNKNOWN();
|
2001-03-20 00:05:27 +00:00
|
|
|
char** frame_pointer;
|
|
|
|
long* frame_size_pointer;
|
2001-05-06 21:43:45 +00:00
|
|
|
MemAllocator* pAllocator;
|
2001-08-16 00:50:02 +00:00
|
|
|
COutputPin* parent;
|
|
|
|
};
|
|
|
|
|
2001-11-21 19:12:39 +00:00
|
|
|
struct _COutputPin
|
2001-08-16 00:50:02 +00:00
|
|
|
{
|
2001-11-21 19:12:39 +00:00
|
|
|
IPin_vt* vt;
|
2001-11-26 00:56:11 +00:00
|
|
|
DECLARE_IUNKNOWN();
|
2001-08-16 00:50:02 +00:00
|
|
|
COutputMemPin* mempin;
|
|
|
|
AM_MEDIA_TYPE type;
|
|
|
|
IPin* remote;
|
2001-11-21 19:12:39 +00:00
|
|
|
void ( *SetFramePointer )(COutputPin*, char** z);
|
|
|
|
void ( *SetPointer2 )(COutputPin*, char* p);
|
|
|
|
void ( *SetFrameSizePointer )(COutputPin*, long* z);
|
|
|
|
void ( *SetNewFormat )(COutputPin*, const AM_MEDIA_TYPE* a);
|
2001-03-20 00:05:27 +00:00
|
|
|
};
|
2001-08-16 00:50:02 +00:00
|
|
|
|
2001-11-21 19:12:39 +00:00
|
|
|
COutputPin* COutputPinCreate(const AM_MEDIA_TYPE* vhdr);
|
|
|
|
|
2001-08-16 00:50:02 +00:00
|
|
|
#endif /* DS_OUTPUTPIN_H */
|