view loader/dshow/cmediasample.h @ 9941:c6c03483595b

at least it works now, but it's horrible slow and broken. double buffer and direct rendering support are needed to make this remotely usable...
author rfelker
date Sat, 19 Apr 2003 18:57:16 +0000
parents e3bbf44dbab2
children 2c8cdb9123b8
line wrap: on
line source

#ifndef DS_CMEDIASAMPLE_H
#define DS_CMEDIASAMPLE_H

#include "interfaces.h"
#include "guids.h"

typedef struct _CMediaSample CMediaSample;
struct _CMediaSample
{
    IMediaSample_vt* vt;
    DECLARE_IUNKNOWN();
    IMemAllocator* all;
    int size;
    int actual_size;
    char* block;
    char* own_block;
    int isPreroll;
    int isSyncPoint;
    int isDiscontinuity;
    LONGLONG time_start;
    LONGLONG time_end;
    AM_MEDIA_TYPE media_type;
    int type_valid;
    void ( *SetPointer) (CMediaSample* This, char* pointer);
    void ( *ResetPointer) (CMediaSample* This); // FIXME replace with Set & 0
};

CMediaSample* CMediaSampleCreate(IMemAllocator* allocator, int _size);
// called from allocator
void CMediaSample_Destroy(CMediaSample* This);

#endif /* DS_CMEDIASAMPLE_H */