summaryrefslogtreecommitdiffstats
path: root/loader/dshow/cmediasample.h
diff options
context:
space:
mode:
Diffstat (limited to 'loader/dshow/cmediasample.h')
-rw-r--r--loader/dshow/cmediasample.h96
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