summaryrefslogtreecommitdiffstats
path: root/loader/dshow/cmediasample.h
blob: 3ad91330c7be49db21f9dbb9bcd068dcd1a74502 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
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