2008-02-23 14:50:55 +00:00
|
|
|
#ifndef MPLAYER_OUTPUTPIN_H
|
|
|
|
#define MPLAYER_OUTPUTPIN_H
|
2001-08-16 00:50:02 +00:00
|
|
|
|
|
|
|
/* "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
|
|
|
|
2008-01-20 17:16:39 +00:00
|
|
|
typedef struct COutputMemPin COutputMemPin;
|
|
|
|
typedef struct COutputPin COutputPin;
|
2001-08-16 00:50:02 +00:00
|
|
|
|
2007-03-02 18:52:10 +00:00
|
|
|
/**
|
|
|
|
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);
|
|
|
|
|
2008-01-20 17:16: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;
|
2007-03-02 18:52:10 +00:00
|
|
|
SAMPLEPROC SampleProc;
|
|
|
|
void* pUserData;
|
2001-11-21 19:12:39 +00:00
|
|
|
void ( *SetNewFormat )(COutputPin*, const AM_MEDIA_TYPE* a);
|
2001-03-20 00:05:27 +00:00
|
|
|
};
|
2001-08-16 00:50:02 +00:00
|
|
|
|
2007-03-02 18:52:10 +00:00
|
|
|
COutputPin* COutputPinCreate(const AM_MEDIA_TYPE* amt,SAMPLEPROC SampleProc,void* pUserData);
|
2001-11-21 19:12:39 +00:00
|
|
|
|
2008-02-23 14:50:55 +00:00
|
|
|
#endif /* MPLAYER_OUTPUTPIN_H */
|