Support unrar64.dll
[xy_vsfilter.git] / include / realmedia / rmapsink.h
blobd22ae0c4086603d9eff79500974f743947d7e72f
1 /****************************************************************************
2 *
3 * $Id: rmapsink.h 7 2003-05-30 02:18:02Z gabest $
5 * Copyright (C) 1995-1999 RealNetworks, Inc. All rights reserved.
6 *
7 * http://www.real.com/devzone
9 * This program contains proprietary
10 * information of Progressive Networks, Inc, and is licensed
11 * subject to restrictions on use and distribution.
14 * RealMedia Architecture player creation interfaces.
18 #ifndef _RMAPSINK_H_
19 #define _RMAPSINK_H_
22 * Forward declarations of some interfaces defined here-in.
24 typedef _INTERFACE IRMAPlayer IRMAPlayer;
25 typedef _INTERFACE IRMAPlayerSinkControl IRMAPlayerSinkControl;
26 typedef _INTERFACE IRMAPlayerSinkControl IRMAPlayerSinkControl;
29 /****************************************************************************
31 * Interface:
33 * IRMAPlayerCreationSink
35 * Purpose:
37 * PlayerCreation Sink Interface
39 * IID_IRMAPlayerCreationSink:
41 * {00002100-0901-11d1-8B06-00A024406D59}
44 DEFINE_GUID(IID_IRMAPlayerCreationSink, 0x00002100, 0x901, 0x11d1, 0x8b,
45 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);
46 #undef INTERFACE
47 #define INTERFACE IRMAPlayerCreationSink
49 DECLARE_INTERFACE_(IRMAPlayerCreationSink, IUnknown)
52 * IUnknown methods
54 STDMETHOD(QueryInterface) (THIS_
55 REFIID riid,
56 void** ppvObj) PURE;
58 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
60 STDMETHOD_(ULONG,Release) (THIS) PURE;
63 * IRMAPlayerCreationSink Methods
66 /************************************************************************
67 * Method:
68 * IRMAPlayerCreationSink::PlayerCreated
69 * Purpose:
70 * Notification when a new player is created
73 STDMETHOD(PlayerCreated) (THIS_
74 IRMAPlayer* pPlayer) PURE;
76 /************************************************************************
77 * Method:
78 * IRMAPlayerCreationSink::PlayerClosed
79 * Purpose:
80 * Notification when an exisitng player is closed
83 STDMETHOD(PlayerClosed) (THIS_
84 IRMAPlayer* pPlayer) PURE;
88 /****************************************************************************
90 * Interface:
92 * IRMAPlayerSinkControl
94 * Purpose:
96 * Player SinkControl Interface
98 * IID_IRMAPlayerSinkControl:
100 * {00002101-0901-11d1-8B06-00A024406D59}
104 DEFINE_GUID(IID_IRMAPlayerSinkControl, 0x00002101, 0x901, 0x11d1, 0x8b,
105 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);
106 #undef INTERFACE
107 #define INTERFACE IRMAPlayerSinkControl
109 DECLARE_INTERFACE_(IRMAPlayerSinkControl, IUnknown)
112 * IUnknown methods
114 STDMETHOD(QueryInterface) (THIS_
115 REFIID riid,
116 void** ppvObj) PURE;
118 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
120 STDMETHOD_(ULONG,Release) (THIS) PURE;
123 * IRMAPlayerSinkControl Methods
126 /************************************************************************
127 * Method:
128 * IRMAPlayerSinkControl::AddSink
129 * Purpose:
130 * Add a new sink
133 STDMETHOD(AddSink) (THIS_
134 IRMAPlayerCreationSink* pSink) PURE;
136 /************************************************************************
137 * Method:
138 * IRMAPlayerSinkControl::RemoveSink
139 * Purpose:
140 * Remove an exisitng sink
143 STDMETHOD(RemoveSink) (THIS_
144 IRMAPlayerCreationSink* pSink) PURE;
147 #endif /* _RMAPSINK_H_ */