diff options
Diffstat (limited to 'loader/dshow/cmediasample.h')
-rw-r--r-- | loader/dshow/cmediasample.h | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/loader/dshow/cmediasample.h b/loader/dshow/cmediasample.h new file mode 100644 index 0000000000..3ad91330c7 --- /dev/null +++ b/loader/dshow/cmediasample.h @@ -0,0 +1,96 @@ +#ifndef _CMEDIASAMPLE_H +#define _CMEDIASAMPLE_H + +#include "interfaces.h" +#include "guids.h" +#include "default.h" +class CMediaSample: public IMediaSample +{ + IMemAllocator* all; + int size; + int actual_size; + char* block; + int refcount; + int isPreroll; + int isSyncPoint; + AM_MEDIA_TYPE media_type; + int type_valid; +public: + CMediaSample(IMemAllocator* allocator, long _size); + ~CMediaSample(); + + static long STDCALL QueryInterface ( + IUnknown * This, + /* [in] */ IID* riid, + /* [iid_is][out] */ void **ppvObject); + + static long STDCALL AddRef ( + IUnknown * This); + + static long STDCALL Release ( + IUnknown * This); + + static HRESULT STDCALL GetPointer ( + IMediaSample * This, + /* [out] */ BYTE **ppBuffer); + + static long STDCALL GetSize ( + IMediaSample * This); + + static HRESULT STDCALL GetTime ( + IMediaSample * This, + /* [out] */ REFERENCE_TIME *pTimeStart, + /* [out] */ REFERENCE_TIME *pTimeEnd); + + static HRESULT STDCALL SetTime ( + IMediaSample * This, + /* [in] */ REFERENCE_TIME *pTimeStart, + /* [in] */ REFERENCE_TIME *pTimeEnd); + + static HRESULT STDCALL IsSyncPoint ( + IMediaSample * This); + + static HRESULT STDCALL SetSyncPoint ( + IMediaSample * This, + long bIsSyncPoint); + + static HRESULT STDCALL IsPreroll ( + IMediaSample * This); + + static HRESULT STDCALL SetPreroll ( + IMediaSample * This, + long bIsPreroll); + + static long STDCALL GetActualDataLength ( + IMediaSample * This); + + static HRESULT STDCALL SetActualDataLength ( + IMediaSample * This, + long __MIDL_0010); + + static HRESULT STDCALL GetMediaType ( + IMediaSample * This, + AM_MEDIA_TYPE **ppMediaType); + + static HRESULT STDCALL SetMediaType ( + IMediaSample * This, + AM_MEDIA_TYPE *pMediaType); + + static HRESULT STDCALL IsDiscontinuity ( + IMediaSample * This); + + static HRESULT STDCALL SetDiscontinuity ( + IMediaSample * This, + long bDiscontinuity); + + static HRESULT STDCALL GetMediaTime ( + IMediaSample * This, + /* [out] */ LONGLONG *pTimeStart, + /* [out] */ LONGLONG *pTimeEnd); + + static HRESULT STDCALL SetMediaTime ( + IMediaSample * This, + /* [in] */ LONGLONG *pTimeStart, + /* [in] */ LONGLONG *pTimeEnd); +}; +#endif |