summaryrefslogtreecommitdiffstats
path: root/loader/dshow/outputpin.h
diff options
context:
space:
mode:
Diffstat (limited to 'loader/dshow/outputpin.h')
-rw-r--r--loader/dshow/outputpin.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/loader/dshow/outputpin.h b/loader/dshow/outputpin.h
index 1e802f6e02..aa60ca049b 100644
--- a/loader/dshow/outputpin.h
+++ b/loader/dshow/outputpin.h
@@ -8,6 +8,13 @@
typedef struct _COutputMemPin COutputMemPin;
typedef struct _COutputPin COutputPin;
+/**
+ Callback routine for copying samples from pin into filter
+ \param pUserData pointer to user's data
+ \param sample IMediaSample
+*/
+typedef HRESULT STDCALL (*SAMPLEPROC)(void* pUserData,IMediaSample*sample);
+
struct _COutputPin
{
IPin_vt* vt;
@@ -15,12 +22,11 @@ struct _COutputPin
COutputMemPin* mempin;
AM_MEDIA_TYPE type;
IPin* remote;
- void ( *SetFramePointer )(COutputPin*, char** z);
- void ( *SetPointer2 )(COutputPin*, char* p);
- void ( *SetFrameSizePointer )(COutputPin*, long* z);
+ SAMPLEPROC SampleProc;
+ void* pUserData;
void ( *SetNewFormat )(COutputPin*, const AM_MEDIA_TYPE* a);
};
-COutputPin* COutputPinCreate(const AM_MEDIA_TYPE* vhdr);
+COutputPin* COutputPinCreate(const AM_MEDIA_TYPE* amt,SAMPLEPROC SampleProc,void* pUserData);
#endif /* DS_OUTPUTPIN_H */