diff options
author | voroshil <voroshil@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-03-02 18:52:10 +0000 |
---|---|---|
committer | voroshil <voroshil@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-03-02 18:52:10 +0000 |
commit | e9e53f8cd0704adcab13ae9fee616b4f8f54dfdf (patch) | |
tree | f0f01081985a6b297b15ab318ca31fb087885033 /loader/dshow/outputpin.h | |
parent | 5c927f23672550e2d3f15aaced60c7bec51da1f9 (diff) | |
download | mpv-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.h | 14 |
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 */ |