Now using the NT CD interface.
[wine] / dlls / quartz / sample.h
1 #ifndef WINE_DSHOW_SAMPLE_H
2 #define WINE_DSHOW_SAMPLE_H
3
4 /*
5                 implements CMemMediaSample.
6
7         - At least, the following interfaces should be implemented:
8
9         IUnknown - IMediaSample - IMediaSample2
10  */
11
12 typedef struct CMemMediaSample
13 {
14         ICOM_VFIELD(IMediaSample2);
15
16         /* IUnknown fields */
17         ULONG   ref;
18         /* IMediaSample2 fields */
19         IMemAllocator*  pOwner; /* not addref-ed. */
20         BOOL    fMediaTimeIsValid;
21         LONGLONG        llMediaTimeStart;
22         LONGLONG        llMediaTimeEnd;
23         AM_SAMPLE2_PROPERTIES   prop;
24 } CMemMediaSample;
25
26
27 HRESULT QUARTZ_CreateMemMediaSample(
28         BYTE* pbData, DWORD dwDataLength,
29         IMemAllocator* pOwner,
30         CMemMediaSample** ppSample );
31 void QUARTZ_DestroyMemMediaSample(
32         CMemMediaSample* pSample );
33
34
35 HRESULT QUARTZ_IMediaSample_GetProperties(
36         IMediaSample* pSample,
37         AM_SAMPLE2_PROPERTIES* pProp );
38 HRESULT QUARTZ_IMediaSample_SetProperties(
39         IMediaSample* pSample,
40         const AM_SAMPLE2_PROPERTIES* pProp );
41 HRESULT QUARTZ_IMediaSample_Copy(
42         IMediaSample* pDstSample,
43         IMediaSample* pSrcSample,
44         BOOL bCopyData );
45
46
47
48 #endif  /* WINE_DSHOW_SAMPLE_H */