summaryrefslogtreecommitdiffstats
path: root/loader/dshow/outputpin.h
diff options
context:
space:
mode:
authorvoroshil <voroshil@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-03-02 18:52:10 +0000
committervoroshil <voroshil@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-03-02 18:52:10 +0000
commite9e53f8cd0704adcab13ae9fee616b4f8f54dfdf (patch)
treef0f01081985a6b297b15ab318ca31fb087885033 /loader/dshow/outputpin.h
parent5c927f23672550e2d3f15aaced60c7bec51da1f9 (diff)
downloadmpv-e9e53f8cd0704adcab13ae9fee616b4f8f54dfdf.tar.bz2
mpv-e9e53f8cd0704adcab13ae9fee616b4f8f54dfdf.tar.xz
Rework of copying samples from directshow codecs.
Using callback function provided by filter to store and process samples from codec instead of explicit typecast to DS_Filter. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22416 b3059339-0415-0410-9bf9-f77b7e298cf2
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 */