1 #ifndef MPLAYER_CMEDIASAMPLE_H
2 #define MPLAYER_CMEDIASAMPLE_H
3 
4 #include "interfaces.h"
5 #include "guids.h"
6 
7 typedef struct CMediaSample CMediaSample;
8 struct CMediaSample
9 {
10     IMediaSample_vt* vt;
11     DECLARE_IUNKNOWN();
12     IMemAllocator* all;
13     int size;
14     int actual_size;
15     char* block;
16     char* own_block;
17     int isPreroll;
18     int isSyncPoint;
19     int isDiscontinuity;
20     LONGLONG time_start;
21     LONGLONG time_end;
22     AM_MEDIA_TYPE media_type;
23     int type_valid;
24     void ( *SetPointer) (CMediaSample* This, char* pointer);
25     void ( *ResetPointer) (CMediaSample* This); // FIXME replace with Set & 0
26 };
27 
28 CMediaSample* CMediaSampleCreate(IMemAllocator* allocator, int size);
29 // called from allocator
30 void CMediaSample_Destroy(CMediaSample* This);
31 
32 #endif /* MPLAYER_CMEDIASAMPLE_H */
33