blob: bf0c9d543f3089cb7c44afae392495ea134edbf5 [file] [log] [blame]
#ifndef WINE_DSHOW_SAMPLE_H
#define WINE_DSHOW_SAMPLE_H
/*
implements CMemMediaSample.
- At least, the following interfaces should be implemented:
IUnknown - IMediaSample - IMediaSample2
*/
typedef struct CMemMediaSample
{
ICOM_VFIELD(IMediaSample2);
/* IUnknown fields */
ULONG ref;
/* IMediaSample2 fields */
IMemAllocator* pOwner; /* not addref-ed. */
BOOL fMediaTimeIsValid;
LONGLONG llMediaTimeStart;
LONGLONG llMediaTimeEnd;
AM_SAMPLE2_PROPERTIES prop;
} CMemMediaSample;
HRESULT QUARTZ_CreateMemMediaSample(
BYTE* pbData, DWORD dwDataLength,
IMemAllocator* pOwner,
CMemMediaSample** ppSample );
void QUARTZ_DestroyMemMediaSample(
CMemMediaSample* pSample );
HRESULT QUARTZ_IMediaSample_GetProperties(
IMediaSample* pSample,
AM_SAMPLE2_PROPERTIES* pProp );
HRESULT QUARTZ_IMediaSample_SetProperties(
IMediaSample* pSample,
const AM_SAMPLE2_PROPERTIES* pProp );
HRESULT QUARTZ_IMediaSample_Copy(
IMediaSample* pDstSample,
IMediaSample* pSrcSample,
BOOL bCopyData );
#endif /* WINE_DSHOW_SAMPLE_H */