168
|
1 #ifndef _CMEDIASAMPLE_H
|
|
2 #define _CMEDIASAMPLE_H
|
|
3
|
|
4 #include "interfaces.h"
|
|
5 #include "guids.h"
|
|
6 #include "default.h"
|
|
7 class CMediaSample: public IMediaSample
|
|
8 {
|
|
9 IMemAllocator* all;
|
|
10 int size;
|
|
11 int actual_size;
|
|
12 char* block;
|
|
13 int refcount;
|
|
14 int isPreroll;
|
|
15 int isSyncPoint;
|
|
16 AM_MEDIA_TYPE media_type;
|
|
17 int type_valid;
|
|
18 public:
|
|
19 CMediaSample(IMemAllocator* allocator, long _size);
|
|
20 ~CMediaSample();
|
|
21
|
|
22 static long STDCALL QueryInterface (
|
|
23 IUnknown * This,
|
|
24 /* [in] */ IID* riid,
|
|
25 /* [iid_is][out] */ void **ppvObject);
|
|
26
|
|
27 static long STDCALL AddRef (
|
|
28 IUnknown * This);
|
|
29
|
|
30 static long STDCALL Release (
|
|
31 IUnknown * This);
|
|
32
|
|
33 static HRESULT STDCALL GetPointer (
|
|
34 IMediaSample * This,
|
|
35 /* [out] */ BYTE **ppBuffer);
|
|
36
|
|
37 static long STDCALL GetSize (
|
|
38 IMediaSample * This);
|
|
39
|
|
40 static HRESULT STDCALL GetTime (
|
|
41 IMediaSample * This,
|
|
42 /* [out] */ REFERENCE_TIME *pTimeStart,
|
|
43 /* [out] */ REFERENCE_TIME *pTimeEnd);
|
|
44
|
|
45 static HRESULT STDCALL SetTime (
|
|
46 IMediaSample * This,
|
|
47 /* [in] */ REFERENCE_TIME *pTimeStart,
|
|
48 /* [in] */ REFERENCE_TIME *pTimeEnd);
|
|
49
|
|
50 static HRESULT STDCALL IsSyncPoint (
|
|
51 IMediaSample * This);
|
|
52
|
|
53 static HRESULT STDCALL SetSyncPoint (
|
|
54 IMediaSample * This,
|
|
55 long bIsSyncPoint);
|
|
56
|
|
57 static HRESULT STDCALL IsPreroll (
|
|
58 IMediaSample * This);
|
|
59
|
|
60 static HRESULT STDCALL SetPreroll (
|
|
61 IMediaSample * This,
|
|
62 long bIsPreroll);
|
|
63
|
|
64 static long STDCALL GetActualDataLength (
|
|
65 IMediaSample * This);
|
|
66
|
|
67 static HRESULT STDCALL SetActualDataLength (
|
|
68 IMediaSample * This,
|
|
69 long __MIDL_0010);
|
|
70
|
|
71 static HRESULT STDCALL GetMediaType (
|
|
72 IMediaSample * This,
|
|
73 AM_MEDIA_TYPE **ppMediaType);
|
|
74
|
|
75 static HRESULT STDCALL SetMediaType (
|
|
76 IMediaSample * This,
|
|
77 AM_MEDIA_TYPE *pMediaType);
|
|
78
|
|
79 static HRESULT STDCALL IsDiscontinuity (
|
|
80 IMediaSample * This);
|
|
81
|
|
82 static HRESULT STDCALL SetDiscontinuity (
|
|
83 IMediaSample * This,
|
|
84 long bDiscontinuity);
|
|
85
|
|
86 static HRESULT STDCALL GetMediaTime (
|
|
87 IMediaSample * This,
|
|
88 /* [out] */ LONGLONG *pTimeStart,
|
|
89 /* [out] */ LONGLONG *pTimeEnd);
|
|
90
|
|
91 static HRESULT STDCALL SetMediaTime (
|
|
92 IMediaSample * This,
|
|
93 /* [in] */ LONGLONG *pTimeStart,
|
|
94 /* [in] */ LONGLONG *pTimeEnd);
|
|
95 };
|
|
96 #endif
|