2001-08-16 00:50:02 +00:00
|
|
|
#ifndef DS_CMEDIASAMPLE_H
|
|
|
|
#define DS_CMEDIASAMPLE_H
|
2001-03-20 00:05:27 +00:00
|
|
|
|
|
|
|
#include "interfaces.h"
|
|
|
|
#include "guids.h"
|
2001-08-16 00:50:02 +00:00
|
|
|
|
2008-01-20 17:16:39 +00:00
|
|
|
typedef struct CMediaSample CMediaSample;
|
|
|
|
struct CMediaSample
|
2001-03-20 00:05:27 +00:00
|
|
|
{
|
2001-11-21 19:12:39 +00:00
|
|
|
IMediaSample_vt* vt;
|
2001-11-26 00:56:11 +00:00
|
|
|
DECLARE_IUNKNOWN();
|
2001-03-20 00:05:27 +00:00
|
|
|
IMemAllocator* all;
|
|
|
|
int size;
|
|
|
|
int actual_size;
|
|
|
|
char* block;
|
2001-08-16 00:50:02 +00:00
|
|
|
char* own_block;
|
2001-03-20 00:05:27 +00:00
|
|
|
int isPreroll;
|
|
|
|
int isSyncPoint;
|
2001-12-11 23:29:24 +00:00
|
|
|
int isDiscontinuity;
|
|
|
|
LONGLONG time_start;
|
|
|
|
LONGLONG time_end;
|
2001-03-20 00:05:27 +00:00
|
|
|
AM_MEDIA_TYPE media_type;
|
|
|
|
int type_valid;
|
2001-12-11 23:29:24 +00:00
|
|
|
void ( *SetPointer) (CMediaSample* This, char* pointer);
|
2001-11-21 19:12:39 +00:00
|
|
|
void ( *ResetPointer) (CMediaSample* This); // FIXME replace with Set & 0
|
2001-03-20 00:05:27 +00:00
|
|
|
};
|
2001-08-16 00:50:02 +00:00
|
|
|
|
2008-01-20 17:16:39 +00:00
|
|
|
CMediaSample* CMediaSampleCreate(IMemAllocator* allocator, int size);
|
2001-11-21 19:12:39 +00:00
|
|
|
// called from allocator
|
|
|
|
void CMediaSample_Destroy(CMediaSample* This);
|
|
|
|
|
2001-08-16 00:50:02 +00:00
|
|
|
#endif /* DS_CMEDIASAMPLE_H */
|