source: trunk/src/quartz/seekpass.h@ 8266

Last change on this file since 8266 was 6952, checked in by sandervl, 24 years ago

Wine 20011004 resync

File size: 1.6 KB
Line 
1#ifndef WINE_DSHOW_SEEKPASS_H
2#define WINE_DSHOW_SEEKPASS_H
3
4/*
5 implements CLSID_SeekingPassThru.
6
7 - At least, the following interfaces should be implemented:
8
9 IUnknown
10 + ISeekingPassThru
11
12*/
13
14#include "iunk.h"
15
16
17/****************************************************************************/
18
19typedef struct CPassThruImpl
20{
21 struct { ICOM_VFIELD(IMediaPosition); } mpos;
22 struct { ICOM_VFIELD(IMediaSeeking); } mseek;
23
24 IUnknown* punk;
25 IPin* pPin;
26} CPassThruImpl;
27
28#define CPassThruImpl_THIS(iface,member) CPassThruImpl* This = ((CPassThruImpl*)(((char*)iface)-offsetof(CPassThruImpl,member)))
29
30HRESULT CPassThruImpl_InitIMediaPosition( CPassThruImpl* pImpl );
31void CPassThruImpl_UninitIMediaPosition( CPassThruImpl* pImpl );
32HRESULT CPassThruImpl_InitIMediaSeeking( CPassThruImpl* pImpl );
33void CPassThruImpl_UninitIMediaSeeking( CPassThruImpl* pImpl );
34
35HRESULT CPassThruImpl_QueryPosPass(
36 CPassThruImpl* pImpl, IMediaPosition** ppPosition );
37HRESULT CPassThruImpl_QuerySeekPass(
38 CPassThruImpl* pImpl, IMediaSeeking** ppSeeking );
39
40/****************************************************************************/
41
42typedef struct QUARTZ_ISeekingPassThruImpl
43{
44 ICOM_VFIELD(ISeekingPassThru);
45} QUARTZ_ISeekingPassThruImpl;
46
47typedef struct CSeekingPassThru
48{
49 QUARTZ_IUnkImpl unk;
50 QUARTZ_ISeekingPassThruImpl seekpass;
51
52 /* ISeekingPassThru fields. */
53 CRITICAL_SECTION cs;
54 CPassThruImpl passthru;
55} CSeekingPassThru;
56
57#define CSeekingPassThru_THIS(iface,member) CSeekingPassThru* This = ((CSeekingPassThru*)(((char*)iface)-offsetof(CSeekingPassThru,member)))
58
59HRESULT QUARTZ_CreateSeekingPassThru(IUnknown* punkOuter,void** ppobj);
60
61
62#endif /* WINE_DSHOW_SEEKPASS_H */
Note: See TracBrowser for help on using the repository browser.